莫九玉 发表于 2018-8-16 17:04:46

stm32l476,我想使用两个串口分别发送与接收,怎么操作?

stm32l476,我想使用两个串口分别发送与接收,怎么操作?每个串口都是使用同一个缓存区吗?多个串口怎么同时处理中断的接收呢?

发表于 2018-8-16 17:05:55

楼主,不同串口的发送是分开的,有的产品uart4和uart5是同一个中断,判断是哪个串口产生的中断进行对应的数据处理。

莫九玉 发表于 2018-8-16 17:12:16

本帖最后由 莫九玉 于 2018-8-16 17:14 编辑

安 发表于 2018-8-16 17:05
楼主,不同串口的发送是分开的,有的产品uart4和uart5是同一个中断,判断是哪个串口产生的中断进行对应的数 ...
你好,比如stm32f103串口是读取寄存器的,串口是可以分开的,接收也很简单。
stm32l476是读缓存,不知道是不是可以分开,我写了一下程序,好像会项目干扰。发送和接收感觉好难。也没有一个模板包含两个串口同时收发的程序

莫九玉 发表于 2018-8-16 17:54:25

明白了,刚刚搞清楚

祝智龙 发表于 2018-8-16 21:06:19

谢谢分享

feixiang20 发表于 2018-8-16 23:47:16

只要是普通的UART,不是485方式的,都是全双工通信的,所谓全双工通信,就是既能接受,同时也能发送。USART1和USART3的输入输出端口已经引出来,使用这两个串口。 但是成功不成功看你自己研究了。

发表于 2018-8-17 08:20:41

楼主用的是HAL库吧,入口的是会有告诉接受缓冲区的。

stm1024 发表于 2018-8-17 08:44:18

你也可以考虑走DMA啊,不过肯定是分开的,这点可以放心

butterflyspring 发表于 2018-8-17 12:09:02

肯定可以的,地址分开就好了

莫九玉 发表于 2018-8-23 11:19:15

谢谢大家回答,目前已经解决,我分别使用了uart1,uart2和lpuart1,这三个串口,收发都正常
页: [1] 2
查看完整版本: stm32l476,我想使用两个串口分别发送与接收,怎么操作?