完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
51的串口应该也是全双工的吧?
|
|
|
|
谢谢啊,刚我看了一下数据手册。STC是全双工的,有冲突,我知道了,我还是按以前的思路走,也就发送的时候是把串口中断关了,
所以有的数据别一个单片机在发送时就有可能接收不到数据, 谢谢啊 原子哥 |
|
|
|
全双工的应该是可以同时收发的.不需要关闭中断.
|
|
|
|
|
|
|
|
void UART_sedata(unsigned char Udata)
{ ES=0; TI=0; SBUF=Udata; while(!TI); if(TI) TI=0; ES=1; }这样写没事,但是把ES=0;ES=1; 去掉了,就死循环了 |
|
|
|
你不需关中断 发送和接中断会在一起 不过标志位不一样。进入中断 你加一个判断就知道 了RI是接收,TI是写标志
void UARTIRQ(void) interrupt 4 { if(RI) { /*这里加你接收 数据处理*/ } } 发送时你就不要管了 |
|
|
|
发送和接收是两个缓存不冲突,进去中断后不要关中断,看那个标志就知道是什么中断,再进行相应的梳理
|
|
|
|
只有小组成员才能发言,加入小组>>
3309 浏览 9 评论
2988 浏览 16 评论
3490 浏览 1 评论
9049 浏览 16 评论
4083 浏览 18 评论
1167浏览 3评论
601浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
592浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2329浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1892浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 16:02 , Processed in 1.538960 second(s), Total 93, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号