结果最后是不了了之了,第二天同样的代码再写一次居然正常了,没有找到原因,可能是啥地方写错了![]() |
我在51hei上面的贴子 你用这个 STC单片机串口发送 不需要while死等 串口接收执行软件复位 |
请各位大神帮忙看一看是哪里出了问题![]() |
数据类型的重定义: 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位异步收发器 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; } |