可能芯片中有 FIFO 缓存,且首次发送时标志初始值非 0,致使首字节被写入 2 次。 试试: TI = 0; for(i=0;i<6;i++)Send_uart(FP_Pack_Head[i]); ......
直接跳过一个字节发送,可以暂时出货,到时再慢慢想看怎么解决
你把单字节发送改成发送字符串试试 void Send_uart(unsigned char * str) { unsigned char *pt; pt = str; while('\0' != *pt) { SBUF = *pt; while(!TI); pt++; TI = 0; } }
void Send_uart(unsigned char * str) { unsigned char *pt; pt = str; while('\0' != *pt) { SBUF = *pt; while(!TI); pt++; TI = 0; } }
你把首字节改成别的看看多出来的是什么
27,375
社区成员
28,769
社区内容
加载中
试试用AI创作助手写篇文章吧