您好,歡迎訪問(wèn)上海意泓電子科技有限責(zé)任公司網(wǎng)站!
      4新聞資訊
      您的位置: 首頁(yè) ->  新聞資訊 -> 單片機(jī)

      ?sprintf在51單片機(jī)中轉(zhuǎn)換字符出錯(cuò)問(wèn)題解決

      文章出處:?jiǎn)纹瑱C(jī) 責(zé)任編輯:上海意泓電子科技有限責(zé)任公司 發(fā)表時(shí)間:
      2020
      11-10

      sprintf是C語(yǔ)言庫(kù)中具有轉(zhuǎn)換數(shù)據(jù)類型的功能函數(shù),出現(xiàn)一種情況,

      在51單片機(jī)中,定義unsigned  char   temp;

      然后 想用串口直接把temp 以十進(jìn)制數(shù)是、形式打印出來(lái),是先這樣轉(zhuǎn)換的 sprintf((char*)tem,"%d",temp);即先把temp轉(zhuǎn)換成十進(jìn)制數(shù)字符tem,然后再通過(guò)串口輸出tem,然而串口輸出的竟然有亂碼,而且和temp的值也不對(duì)應(yīng);

      查找原因:原來(lái)%d,代表的是將int型數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制字符的作用,既然是int型,那他占用空間為至少2個(gè)字節(jié),那么我們定義的temp僅是unsigned char 占空間一字節(jié),所以函數(shù)在轉(zhuǎn)換時(shí),會(huì)錯(cuò)誤的轉(zhuǎn)換temp空間外的一字節(jié)空間的數(shù)據(jù),這是未知的數(shù)據(jù),所以會(huì)出現(xiàn)打印亂碼情況,那么把unsigned char temp;改為 unsigned int temp 后,再次測(cè)試

      果然輸出正確無(wú)誤!


      上海意泓電子科技有限責(zé)任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

      CopyRight 2020-2025 m.topsschool.com All rights reserved   滬ICP備2021005866號(hào)

      亚洲精品无码va人在线观看,少妇 逼小 水多,国产区免费av,国产精品无码观看

          亚洲一区二区在线视频| 亚洲国产一区二区三区网站| av不卡网站在线免费观看| 一级av中文字幕在线| 一本大道香久在线播放| 久久国产激情视频| 国产精品va在线观看不| 中文字幕亚洲综合久久菠萝蜜| 四虎亚洲精品私库av在线| 香蕉97人人乳视频观看| 一级免费视频片精品无码| 无码人妻一区二区免费看| 久久精品国产成人午夜福利| 久久精品亚洲免费| 精品久久久久久亚洲综合网| 制服丝袜中文字幕自拍有码| 中文字幕在线免费视频| 污视频网站在线观看| 无码中文字幕加勒比毛片| 91在线精品专区| 日韩精品无码一区二区三区免费| 免费国产黄网站在线播放| 国产午夜亚洲精品无码| 一本大道AV伊人久久综合| 在线天堂无码观看| 无码专业区一va亚洲v专区| 超碰国产人人添人人喊| 2021国产麻豆剧果冻传媒免费| 国产精品不卡无毒久久久久|