![]() |
發(fā)布時間: 2021-1-27 11:54
正文摘要:如圖,一串同樣的字符,直接發(fā)送就可以在上位機正常顯示,將他放入數(shù)組后再發(fā)送就是一串亂碼,請問是什么原因呢 |
結果最后是不了了之了,第二天同樣的代碼再寫一次居然正常了,沒有找到原因,可能是啥地方寫錯了![]() |
我在51hei上面的貼子 你用這個 STC單片機串口發(fā)送 不需要while死等 串口接收執(zhí)行軟件復位 |
請各位大神幫忙看一看是哪里出了問題![]() |
數(shù)據類型的重定義: typedef char int8; typedef unsigned char uint8; typedef short int int16; typedef unsigned short int uint16; typedef long int int32; typedef unsigned long int uint32; |
串口部分代碼 #include "uart.h" void uart_init(void) { TMOD|=0X20;//設置T1工作方式為8位自動重裝 SCON=0X50;//設置串口工作方式為10位異步收發(fā)器 PCON|=0X80;//SMOD置為1 TH1=0xF3; TL1=0XF3; TR1=1; TI=0; RI=0; // EA=1;//開放總中斷 // ES=1;//開放串口中斷 } void send_byte(uint8 str) { SBUF=str; while(TI==0); TI=0; } void send_str(uint8* str) { ES=0; while((*str)!='\0') { SBUF=*str; while(TI==0); TI=0; str++; } ES=1; } |