欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2227|回復: 3
收起左側

單片機C語言sprintf()函數驅動LCD1602顯示屏顯示問題

[復制鏈接]
ID:366877 發表于 2023-3-13 14:47 | 顯示全部樓層 |閱讀模式
char   table[16];
int   a=1;
int   b=2;
int   c=3;
int   d=4;
int   e=5;
int   f=6;

void main()
{
        LCD_Init();
        sprintf(table,"%d%d%d%d%d%d",a,b,c,d,e,f);
        LCD_ShowString(1,1,table);
        while(1)
        {
                ;
        }
}
本來應該顯示123456,實際只有前四個是對的,只能使用四個變量。請大家看看問題出在什么地方?

本來應該顯示123456

本來應該顯示123456
回復

使用道具 舉報

ID:883242 發表于 2023-3-14 00:28 | 顯示全部樓層
單片機那點兒內存根本實現不了完整的sprintf函數,都是刪減版本的,能自己寫就不要用標準庫函數。
回復

使用道具 舉報

ID:69038 發表于 2023-3-14 09:33 | 顯示全部樓層
如同豪華超跑的sprintf,是一般人駕駑不了的,太燒油。功能強大,但小身板的單片機最好別用它。
你看一下把它注釋掉,前后編譯對比一下花費的空間,就能發現問題了。
回復

使用道具 舉報

ID:401564 發表于 2023-3-17 20:02 | 顯示全部樓層
參考代碼
char   k[10];                                                         //這里不能加code限定符,否則計算不正確,數組長度隨意,不出錯就可以
        char a;
        sprintf(k,"%.1f",Data_Send);                        //把浮點數據分割成字符串,并存放在k數組中,"%.1f"的2f表示小數點后再顯示1位數,不顯示小數就是0f        for(a=0;(k[a]!='\0');a++)
                {
                        Send_Out_COM(k[a]);                                //這個是我自己寫的串口發送函數
                }

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表