![]() |
發布時間: 2019-2-21 17:05
正文摘要:這個程序寫完發現串口接受的數據都是混亂的,還請大神指教啊?我都郁悶一天了。 主程序 #include"stc12c5a60s2.h" #include"ADC.h" #include"UART.h" unsigned char channel; //如 ... |
核實一下波特率 |
1.使用STC12C5a60S2的串口通訊必須外接晶振,內部振蕩器無法滿足波特率精度。 2.樓主初始化串口程序可能有誤,使用串口2獨立波特率發生器設置如圖 ![]() |
笨笨兔 發表于 2019-2-22 08:41 主題是比較簡短的了(水平不夠啊),這個問題有啥方法解決嗎 |
yaoji123 發表于 2019-2-21 21:03 是先打開的AD電源然后轉換的呢 |
devcang 發表于 2019-2-21 22:53 官網程序也沒有進行進制轉換,也是直接將RES和RESL直接發送出去的。不太明白怎么轉換,還請指導 |
樓主先檢查波特率設置是否正確,還有STC12C5a60S2的片子如果采用內部時鐘,會有相當幾率的串口通信異常,因為它的內部RC振蕩器頻率誤差比較大,我最近剛好碰到這類問題…… |
問題沒說清楚:單片機AD檢測串口發送問題?倒是把人說糊涂了! |
把10進制,當16進制發送。。。。。。。。。。。。。應該轉換進制,或接收端轉換回來成10進制 ~~~~~~~~~~~~~~ |
ADC讀數時,先選定通道、打開adc電源,等待轉換完成,(轉換標志位置1)后,讀數。 |