大神们:
1、现有一外部设备,用sci 485 通信,波特率需要4M
2、dsp配置sci波特率
根据根据官方文档,计算波特率的公式为:
设定值 = LSPCLK /(波特率*8)-1
例如:主频为100M,想跑2.5M,则
100M/(2.5M*8)-1=4
ScibRegs.SCIHBAUD.all =0x0000; //LSPCLK=100M
ScibRegs.SCILBAUD.all =0x0004; //CLK=2.5M
3、那么想设置成4M波特率,100/32不能整除,如何设置?不能四舍五入,否则会通信异常。
Green Deng:4M的波特率的话基本快到SCI的通讯极限了(最大6.25M),因此误差肯定会很大,错误率也会很高。
根据BRR = LSPCLK / (SCI Asynchronous Baud * 8) – 1,100/32除不尽是肯定的,其他波特率的设置也都是除不尽的。
大神们:
1、现有一外部设备,用sci 485 通信,波特率需要4M
2、dsp配置sci波特率
根据根据官方文档,计算波特率的公式为:
设定值 = LSPCLK /(波特率*8)-1
例如:主频为100M,想跑2.5M,则
100M/(2.5M*8)-1=4
ScibRegs.SCIHBAUD.all =0x0000; //LSPCLK=100M
ScibRegs.SCILBAUD.all =0x0004; //CLK=2.5M
3、那么想设置成4M波特率,100/32不能整除,如何设置?不能四舍五入,否则会通信异常。
user5105134:
回复 Green Deng:
您好,那么29377d这款芯片就不能完美的跑4M波特率了吗,主频200M可以分频成128M、96M这种能被32整除的频率吗?
大神们:
1、现有一外部设备,用sci 485 通信,波特率需要4M
2、dsp配置sci波特率
根据根据官方文档,计算波特率的公式为:
设定值 = LSPCLK /(波特率*8)-1
例如:主频为100M,想跑2.5M,则
100M/(2.5M*8)-1=4
ScibRegs.SCIHBAUD.all =0x0000; //LSPCLK=100M
ScibRegs.SCILBAUD.all =0x0004; //CLK=2.5M
3、那么想设置成4M波特率,100/32不能整除,如何设置?不能四舍五入,否则会通信异常。
mangui zhang:
回复 user5105134:
改变通信波特率可通过调整CPU定时器的分频系数实现。
理论分频系数 =
这样算的话 是可以的