Part Number:TMS320F280025COther Parts Discussed in Thread:C2000WARE
采用官方历程目录C:\ti\c2000\C2000Ware_4_00_00_00\driverlib\f28002x\examples\lin下的
lin_ex2_sci_loopback
增加语句如下
GPIO_setPinConfig(DEVICE_GPIO_CFG_LINTXA);
GPIO_setPinConfig(DEVICE_GPIO_CFG_LINRXA);
LIN_disableIntLoopback(LINA_BASE);
LIN_setBaudRatePrescaler(LINA_BASE, (uint32_t)0x0000144, (uint16_t)0x0008);
其余不变,经过测试并不能正常工作,查看手册,手册上在此设置下波特率应为9600,而实际采用示波器抓取波形单次脉冲为0.000052s,波特率约为19230,误差有点大,将串口助手波特率改为19200通信无误,我想问一下,这个波特率异常的原因
Green Deng:
额,不知道你是根据手册什么地方计算的?我计算出来你的配置就是19200的波特率啊
0x0000144 = 324U,0x0008 = 8U
代入公式(SYSCLOCK) / ((P + 1 + M/16) * 16)得出的结果就是19201。
,
Qinghong Li:
手册名称
TMS320F28002x MicrocontrollersTechnical Reference Manual
版本bLiterature Number: SPRUIN7March 2020
小标题24.2.1.3 SCI Baud Rate
表号Table 24-1. P and M values for standard bit-rates(1)
其中9600对应的就是p=324,m=8
,
Green Deng:
表格上的LIN Module Input Clock = 50 MHz,你看看会不会时钟不一样
,
Qinghong Li:
好的,我也发现了这一点,但由于我使用的是lin_ex2_sci_loopback和lin_ex3_sci_dma历程,而lin_ex3_sci_dma历程中在设置波特率的地方注释的是115200,选取参数是m=2,p=26,但是实际上并不是115200,而是115200*2,我又查看了别的lin历程发现,部分程序中确实有修改主频的部分,而在ex3中并没有修改主频,注释和程序互相矛盾
所以特地来问一下,感谢您的解答
,
Green Deng:
感谢你的反馈!
TI中文支持网


