亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

STC8G單片機串口通訊疑問,每次只能發送一個字節正確數據問題

查看數: 6077 | 評論數: 2 | 收藏 1
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2020-7-16 10:02

正文摘要:

STC8G單片機使用printf()函數發送數據,出現錯亂現象: void UartIsr() interrupt 4 {         int d=0,e=1,f=2,g=3;         if (RI)         ...

回復

ID:800866 發表于 2020-7-18 15:44
重定義 printf函數功能 ,即fputc函數
ID:804115 發表于 2020-7-16 13:23
兩個問題:
1. 你的串口發送如果選擇hex的話,就不能填1了吧,應該填31吧!這個你再核對下。可以下載sscom試試。
2. 這個很重要:中斷中不能執行耗時太長的任務,否則會對整個系統造成影響。
你在串口中斷中調用printf就不行,因為printf太耗時了,如果你要做回環測試的話,將中斷收到的數據先放到一個全局變量的數組中暫時存起來,等退出中斷后,在大循環中判斷是否收到數據,如果收到數據,則將收到的數據用printf打印出來。這樣就不會出現只能收到1字節的問題了。如果你已經這樣改了,還不能收到,那么就是你的中斷響應太慢了,這時候就要降低波特率來降低中斷觸發的速度。

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

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

Powered by 單片機教程網

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