完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
能够发送,上电后,串口助手,能显示start,。,,,但是收发数据丢失求解
#include #include void GetString(unsigned char string[],unsigned char n); unsigned char GetByte(void); void Delay1000ms(); void Uartinit(void); void SentString(unsigned char string[],unsigned char n); unsigned char xdata string[20]; #define S2RI 0x01 #define S2TI 0x02 int main() { UartInit(); SentString("start.......A",20); while(1) { GetString(string,20); Delay1000ms(); SentString(string,20); } } void Delay1000ms() [url=]//@11.0592MHz[/url] { unsigned char i, j, k; _nop_(); _nop_(); i = 43; j = 6; k = 203; do { do { while (--k); } while (--j); } while (--i); } void UartInit(void) { AUXR &= 0xF7; S2CON = 0x50; AUXR &= 0xFB; BRT = 0xFD; AUXR |= 0x10; EA = 1; IE2 = 0x01; } void SentString(unsigned char str[],unsigned char n) { unsigned char i = 0; while(i < n) { S2BUF = str; i++; while(!(S2CON & S2TI)); if(str == 'A') break; } } unsigned char GetByte(void) { unsigned char c; while(!(S2CON & S2RI)); c = S2BUF; return c; } void GetString(unsigned char str[],unsigned char n) { unsigned char i = 0; while(i < n) { str = GetByte(); if(str == 'A') { break; } i++; } } void UART_2Interrupt(void) interrupt 8 { if(S2CON & S2RI) { S2CON &= ~S2RI; } if(S2CON & S2TI) { S2CON &= ~S2TI; } } |
|
相关推荐
3个回答
|
|
有没有人啊,人人人人求解
|
|
|
|
顶起,高手在哪里,大声告诉我!
|
|
|
|
在线急等,2天了啊,为什么受到的数据不完整,发送没问题
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
853 浏览 0 评论
550 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-串口通讯编程示例之串口编写程序
1096 浏览 0 评论
STM32系列单片机可以让自己的GPIO去控制自己的RESET吗?有什么风险?可以规避吗?
1459 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-串口通讯编程示例之串口参数设置
887 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11581 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-1 01:19 , Processed in 0.547470 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号