FPGA提升串口波特率、QT增加波特率选项的方法
FPGA提升串口波特率、QT提高波特率支持的方法
本文主要讲解FPGA计算串口波特率的方法以及QT5对230400以上波特率的支持方法。
1.FPGA提升串口波特率
1.1确定FPGA串口的模块的时钟
FPGA常用的时钟频率有:25M/50M/100MHz,对应每个时钟周期时间为:40ns/20ns/10ns。对应的支持的波特率理论上限为:100000000/50000000/25000000。需要注意的是,在实际使用当中,是无法达到如此高的波特率的,而且越高的波特率有效传输距离越小,通常115200的有效距离是3-5m,921600是1-2m。
1.2波特率及FPGA每位传输周期的计算方法
已知1s=1000000000ns,假设所需波特率为115200,则每传输1位所需的时间为:1000000000/115200≈8680ns,已知100MHz的时钟下每周期10ns,所以FPGA需要在每868个时钟周期发送一位bit。同理,921600需要108个时钟周期。
2.QT提高波特率支持
2.1QserialPort:qserialport.h!
先找到这个文件夹,然后找到:
发现不支持比115200更高的,查官网文档知,QT5支持到921600(其实还可以更高)。添加代码如下:
再回到main函数中初始化就不会报错了。
小薛1988: 那个比如一个加热模块,温差不确定怎么办,比如目标值固定是25°,但实际工作温度不确定,比如冬天是零下-5°,夏天是20°,代码我需要修改哪些部分还是说不用修改
a678806: 大佬,如果是c6T6应该改成多少啊,也是10还是
Orionkedy: 能再私信发下pid.h的文件吗
Jachin Li、: 您好,请教一下,对于I3C来说,我接MCU的话就不需用上拉电阻了是么,
qq_44968565: 你好 方便私聊我留个联系方式吗 我有这方面需求,有偿