TI McBSP 串口调试心得
来源:互联网 发布:卫青和平阳公主 知乎 编辑:程序博客网 时间:2024/05/16 05:50
近日需要编写一个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,收发数据需要忽略桢同步,不然后出现乱码。
下面给出本人的一个配置:
3. 传输方式的选择,McBSP 通信可以CPU收发,也可以 通过EDMA 收发,如果CPU仅仅只做串口的事CPU收发没问题,
否则 选择EDMA 收发比较灵活依靠中断来处理数据,在TI 文档中有固定的EDMA通道来专门传串口数据,比如笔者
使用 串口 1 的情况:
...........
这里一定要搞清楚 中断发生的时机,是在传输完毕时,这是根据你在EDMA配置的一次传输的字节数量。
另外如果不定时的发数据,以下语句可以重新启动一次EDMA传输:
- TI McBSP 串口调试心得
- 串口调试心得
- Proteus 虚拟串口调试心得
- 串口WiFi的调试心得
- mcbsp
- McBSP
- vs2010 Teechart 串口调试心得1
- 基于TMS320C6713的McBSP和EDMA实现串口通信
- 心得,ti唔..
- 修改UBOOT和LINUX调试串口(TI达芬奇芯片--DM6467)
- 修改UBOOT和LINUX调试串口(TI达芬奇芯片--DM6467)
- 修改UBOOT和LINUX调试串口(TI达芬奇芯片--DM6467)
- 基于TI的C55XX系列DSP芯片上McBSP的UART通信(无DMA)
- 串口调试心得:竟然是for循环惹的祸
- TI 硬件SPI调试
- 串口调试
- 串口调试
- 串口调试
- C语言进行身份证号码校验
- 中国的程序员为什么这么辛苦?
- 一个很有用的异步I/O套接字模型例子
- C# 简单链表的实现上(object类型)
- 优化变成了忧患:String.split引发的“内存泄露”
- TI McBSP 串口调试心得
- Rising AntiVirus 2008/2009/2010 Local Privilege Escalation Exploit
- 最简单的div收拉菜单
- 学习java
- Hello
- stl之关联容器学习笔记1
- 《程序员的创世传说》设定资料
- 6 + 1模式对中国IT业的影响
- js对cell一些属性的控制