近日需要编写一个C6416板的串口程序,一开始打算参考TI EXAMPLES,但是TI 的 McBSP例子
都是DLB(数据回路)模式的,不能用,后来google 一下找到spra633c.pdf,看了下,从
http://www-s.ti.com/sc/techlit/spra633.zip 下载了份示例代码,代码基本可以用,
但要根据硬件的情况修改,配置McBSP 寄存器最关键下面几个地方:
1. 波特率 CLKGDV= (CLK) / (16 * baud rate) -1, 比如我这边用的是 6416 1 GHZ,主频是 960MHz,
采用的是 CPU/4 clock for C64x DSP, 波特率采用115200,所以这里 CLKGDV= ((960 * 1000000) / 4) / (16 * 115200) -1 = 129
注意 CLKGDV 这个寄存器 的范围是 0-FFh(255), 所以采用低于 115200 的 波特率时这个计算值会大于255,所以
不能使用小的波特率; 另外如果发现调试时乱码 CLKGDV的值可能还需要一些微调。
2. 寄存器RCR和XCR 的 XFIG和 RFIG 应该设为1,收发数据需要忽略桢同步,不然后出现乱码。
下面给出本人的一个配置: