请教以下几个问题:
1、STM32F405或者说MicroPython能够支持的串口的最高速率是多少?921600支持么?
2、看原理图,1到6号串口中缺少 串口5,是因为原本用于5的两个线用到时钟还是什么器件里面去了,所以语句 com = UART(参数1, ...)中,参数1 只能取值1/2/3/4/6中的一个了吧??
3、通过usb连接到电脑,虚拟的这个串口,不会占用1/2/3/4/6其中的一个吧??
本帖最后由 shenshen927 于 2017-8-26 14:13 编辑
请教以下几个问题:
1、STM32F405或者说MicroPython能够支持的串口的最高速率是多少?921600支持么?
STM32F405波特率应该是支持921600的吧,只是有些波特率可能会有点偏差,一般偏差不大于%5,是可以检测的。具体MicroPython能支持多少波特率不清楚。
2、看原理图,1到6号串口中缺少 串口5,是因为原本用于5的两个线用到时钟还是什么器件里面去了,所以语句 com = UART(参数1, ...)中,参数1 只能取值1/2/3/4/6中的一个了吧??
没看这个的资源,但是如果是本来用于5的线用到时钟,而导致少了一个串口,这个解释不成立,因为STM32是可以端口重映射的。只可能是原本设计的就是没有串口5,或者正好布线时,发现5占用了其它的面积,直接将他咔掉。
3、通过usb连接到电脑,虚拟的这个串口,不会占用1/2/3/4/6其中的一个吧??
虚拟串口和STM32硬件UART没有必然的联系,可以STM32程序模拟一下串口出来都可以
UART5的引脚对应PC12/PD2,它们用于SDIO上了,所以UART5就不能用了。
USB串口是PC上的串口,不是STM32的,在不连接usb时是没有的。
刚测试了,921600的波特率是没有问题的,我100ms发10个数据,非常稳定。使用串口3(B10/B11),另外一端接一个USB转串口。
- from pyb import UART
- u=UART(3,921600)
- while 1:
- pyb.delay(100)
- u.write('1234567890')
- pyb.LED(1).toggle()