為什么在STC-ISP 里顯示的這一串數字?對不上啊。
#include<reg52.h>
void main()
{
unsigned char i;
unsigned char send[6] = {1,2,3,4,5,6};
TMOD = 0x20;
TL1 = 0xf3;
TH1 = 0xf3;
TR1 = 1;
SCON = 0x40;
for(i = 0; i < 6; i++)
{
SBUF = send[i];
while(TI == 0);
TI = 0;
}
while(1) ;
}
為什么在STC-ISP 里顯示的卻是這一串數字?怎么改才能顯示我陣列里的數字?

uj5u.com熱心網友回復:
你換個軟體看看,比如串口除錯助手看看是不是還是這個結果可能波特率不對,晶振是22.1184MHZ的?
uj5u.com熱心網友回復:
串口助手那,COM4,波特率4800?這么低的波特率?而且根據你顯示資料01變成06 02變成18 更可以肯定,波特率那設定錯誤。uj5u.com熱心網友回復:
波特率錯了。你發送的 01,從起始位、bit0 至 bit7、停止位是 0 | 1 0 0 0 0 0 0 0 | 1。
它讀成 06,就是 0 | 0 1 1 0 0 0 0 0 | 1。也就是每一位元采樣了兩次。說明它的位元率是你的 2 倍。
另外,02 是 0 | 0 1 0 0 0 0 0 0……,讀成 18 是 0 | 0 0 0 1 1 0 0 0 ……,也是同樣規律。
你把單片機端的波特率提高一倍試試。
uj5u.com熱心網友回復:
根據你的晶振設定你的波特率,不能照搬其他的程式uj5u.com熱心網友回復:
波特率弄高點啊,都設定為115200uj5u.com熱心網友回復:
可能是波特率設定不對轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/154007.html
標籤:單片機/工控
上一篇:軟考網工—華為命令總結
