標(biāo)題: 單片機(jī)printf函數(shù)液晶顯示方法與步驟 [打印本頁]
作者: jieoo+ 時(shí)間: 2018-6-6 17:53
標(biāo)題: 單片機(jī)printf函數(shù)液晶顯示方法與步驟
很有用的一篇單片機(jī)方面的文章,希望幫助到大家
今日無事,曬一下利用printf(“ ”,……);函數(shù)輸出顯示的步驟。
前一段時(shí)間,應(yīng)項(xiàng)目要求,底層程序里面需要編寫printf函數(shù)來實(shí)現(xiàn)液晶屏幕的輸出打印功能,糾結(jié)了大概一周時(shí)間,終于搞定!呵呵~~~~
實(shí)現(xiàn)方法有兩種
1、 包含頭文件,其中的具體原因我也不明白,只是知其然不知其所以然
部分源碼
55.png (29.73 KB, 下載次數(shù): 30)
下載附件
2018-6-7 02:26 上傳
當(dāng)然,有了這些代碼是還不夠的,需要包含
#include<stdio.h>
#include<string.h>
#include<stdarg.h>
#include"math.h"
這些文件,好像也不是需要全部,只是這幾個(gè)我是全部包含了。趕時(shí)間啊那幾天。
有了這些,在主程序中就可以調(diào)用printf函數(shù)來在屏幕中顯示了。當(dāng)然,你也可以更該
Int fput()函數(shù)里面的LCD_Show函數(shù)為串口輸出,這樣就可以利用printf函數(shù)來作為串口電腦屏幕打印了。
2、 另外一種顯示方式,我認(rèn)為是重寫了printf函數(shù)的底層驅(qū)動(dòng),不截圖了 ,直接代碼吧,因?yàn)橐粋(gè)屏幕截圖不完全。
- int Printf(const char *fmt, ...)
- {
- const char *s;
- u8 *Buf;
- u16 d;
- float f;
- u8 tbuf[16];
- u8 i=0;
- va_list ap;
- va_start(ap, fmt);
- Buf=ShowBuf;
- while (*fmt)
- {
- for(i=0; i<sizeof(tbuf); i++)
- tbuf[i]=0;
- if (*fmt != '%')
- {
- *Buf++=*fmt++;
- continue;
- }
- switch (*++fmt) {
- //字符串
- case 's':
- s = va_arg(ap, const char *);
- if (s == NULL) {break;}
- for ( ; *s; s++) {
- *Buf++=*s;
- }
- break;
- //十進(jìn)制
- case 'd':
- d = va_arg(ap, int);
- sprintf(tbuf, "%d",d);
- for (i=0; tbuf[i]!='\0';i++) {
- *Buf++=tbuf[i];
- }
- break;
- //十六進(jìn)制
- case 'x':
- d = va_arg(ap, int);
- sprintf(tbuf, "%x",d);
- for (i=0; tbuf[i]!='\0';i++) {
- *Buf++=tbuf[i];
- }
- break;
- case 'f':
- f = va_arg(ap, double);
- sprintf(tbuf, "%f",f);
- for (i=0; tbuf[i]!='\0';i++) {
- *Buf++=tbuf[i];
- }
- break;
- // Add other specifiers here...
- default:
- *Buf++=*fmt++;
- break;
- }
- fmt++;
- }
- *Buf='\0';
- va_end(ap);
- LCD_Show_c_String(ShowBuf);
- return 1; // Dummy return value
- }
復(fù)制代碼 這些代碼我是參考的另外一個(gè)項(xiàng)目里面的,添加此段代碼之后, 就可以作為顯示的輸出函數(shù)了。以上兩種方法,更改輸出函數(shù)就可以在1602 12864 TFT2.8 3.5什么的都可以顯示。
好了,就寫這么多吧,這里面的好多代碼我根本不知道什么作用,只是搬過來,可以用了,就沒有理會(huì)他們,哪位同學(xué)有什么好的方法,來找我交流吧。
全部資料51hei下載地址:
printf液晶顯示.doc
(38.5 KB, 下載次數(shù): 34)
2018-6-6 17:52 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者: lzts88 時(shí)間: 2018-6-7 10:43
參考下, 謝謝分享.
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
国产精品成人在线
|
国产免费a|
日韩成人在线观看视频
|
国产精品偷拍
|
秋霞av在线
|
国产乱人伦
|
日韩亚洲天堂
|
日本丰满少妇裸体自慰
|
国产乱码精品一区二区三
|
成年女人毛片
|
日本在线视频一区二区
|
日韩少妇
|
国产精品一二三四区
|
日韩精品一二三
|
看黄色大片
|
欧美中文字幕在线观看
|
91精品国产综合久久久蜜臀
|
黄色在线小视频
|
日韩精品一区二区三区免费视频
|
在线成人免费
|
一区二区三区国产精品
|
国产理论在线观看
|
免费的黄色网址
|
四虎影院在线
|
免费一区二区
|
h片免费
|
欧美亚洲在线
|
国产精品911
|
在线观看网址你懂的
|
狠狠干夜夜操
|
国产一级片在线
|
中文字幕日本在线
|
欧美日韩综合网
|
天天操夜夜操狠狠操
|
国产精品毛片一区视频播
|
97久久精品人人澡人人爽
|
xxxx亚洲|
a级成人毛片
|
在线看片a
|
亚洲欧美视频在线观看
|
免费三片在线播放
|