打印
[技术问答]

N76E003的串口能否同时发送和接收数据?

[复制链接]
1612|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
把串口的RX和TX直接连接起来,在TX发送一串数据, 串口中断里收到的只有这一串数据中的最前面和最后面的2个数据,其它的数据都丢了。

尝试过串口0发送,串口1接收,也不行

有没有办法能够在发送的同时接收到数据呢。

使用特权

评论回复
沙发
21mengnan| | 2019-8-7 23:37 | 只看该作者
当然可以了。

使用特权

评论回复
板凳
21mengnan| | 2019-8-7 23:37 | 只看该作者
一般测试都是这么测的,自发自收。

使用特权

评论回复
地板
kt98741|  楼主 | 2019-8-7 23:40 | 只看该作者
本帖最后由 kt98741 于 2019-8-7 23:48 编辑

不要想当然,先试一下,我以前也以为是可以的,但实测就是不行。注意要连续发送一串字符,像这样
               
Send_Data_To_UART0(0x01);
Send_Data_To_UART0(0x02);
Send_Data_To_UART0(0x03);
Send_Data_To_UART0(0x04);
Send_Data_To_UART0(0x05);

最后只收到了01和05

只发送或只接收,都没问题,但TXRX直连发送的时候同时接收就不行


使用特权

评论回复
5
kt98741|  楼主 | 2019-8-7 23:42 | 只看该作者
要是哪位测试能收到完整数据,麻烦上传个例程

使用特权

评论回复
6
mcu5i51| | 2019-8-8 08:09 | 只看该作者
用中断缓存

使用特权

评论回复
7
kt98741|  楼主 | 2019-8-8 08:30 | 只看该作者

能再说详细点吗?最好能贴一下代码

使用特权

评论回复
8
ayb_ice| | 2019-8-8 13:34 | 只看该作者
当然是可以的,这完全是代码的问题,

使用特权

评论回复
9
kt98741|  楼主 | 2019-8-8 18:28 | 只看该作者
求详细解决思路

使用特权

评论回复
10
elife| | 2019-8-10 19:53 | 只看该作者
N76E003串口接收只有一个缓冲器,所以收到数据要尽快保存。 也就是你连续发的时候,可能没有来得及保存接收的数据,就被覆盖掉了。所以要用中断,接收到数据,立即保存。 一种测试方法就是你在发第一个数据完成后,立即查看接收的标志,保存接收的数据,就可看能不能收到。

使用特权

评论回复
11
pigluffy| | 2019-8-10 21:30 | 只看该作者
可以同時收發的,附件擷取手冊第13章看紅線的部分可以知道是異步全雙工的,雖然讀寫都是對同一個SBUF,但是事實上讀寫各自對應獨立的SBUF

98427BF6-4C09-4AD1-9C7E-61BF5B7018A8.jpeg (77.37 KB )

98427BF6-4C09-4AD1-9C7E-61BF5B7018A8.jpeg

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

51

帖子

1

粉丝