您好,歡迎訪問(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 www.topsschool.com All rights reserved   滬ICP備2021005866號(hào)

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

          好爽好紧的免费视频国产| 精品国产片免费在线观看| 无码中文字幕加勒比毛片| 99久久久人妻视频| 日韩激情网| 亚洲国产一级AV毛片无码| 一区二区精品在线视频看看| 亚洲一区二区免费| 婷婷色图| 欧美日韩亚洲国产无线码| 精品国产高清三级在线观看| 日韩无砖专区中文字幕| 黄色中文字幕| 伊人成人久久精品综合| 成人免费毛片偷拍如何下载| 国产在线无码视频一区二区三区| 中文字幕av无码专区不卡| 国产刺激久久免费| 国产精品久久久久无码| 国产精品久久久天天影视香蕉| 少妇无码av无码专区线| 无码av在线免费专区| 888自偷自拍日韩亚洲| 亚洲av高清在线观看| 国产真实老熟女无套内射| 日韩午夜福利a无码| 香蕉网伊中文在线字幕视频| 黄色视频在线观看免费| 92在线精品视频在线观看|