1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#include #define uchar unsigned char #pragma interrupt_handler SerialService:12 uchar rtemp,sflag; void SerialInit(void) { UCSRB=(1< UBRRL=51; //晶振8M,波特率9600,则UBRR初始值为51 SREG|=BIT(7); //开全局中断 } void SerialService(void) { rtemp=UDR; //读接收缓冲区 //UCSRA&=~BIT(RXC); //此行没有必要,读出缓冲区后,接收结束标志位清零由硬件自动完成,而且我不确定RXC是写1清零还是赋0清零。 sflag=1; } void main(void ) { SerialInit(); while(1) { if(sflag==1) { UCSRB&=~BIT(RXCIE); //关闭接收结束中断使能 sflag=0; UDR=rtemp; //数据送给发送缓冲区 while(!(UCSRA&(BIT(TXC)))); //等待发送结束 UCSRA|=BIT(TXC); //清零发送结束标志位(写1清零) UCSRB|=BIT(RXCIE); //打开接收结束中断使能 } } } |
|
|
|
只有小组成员才能发言,加入小组>>
2548 浏览 0 评论
1146浏览 2评论
745浏览 1评论
499浏览 0评论
265浏览 0评论
426浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 00:04 , Processed in 1.367653 second(s), Total 77, Slave 59 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号