分享一下使用TI MCU软件上的一些经验

[复制链接]
4141|16
 楼主| 拿起书本 发表于 2012-3-18 15:22 | 显示全部楼层 |阅读模式
软件设计在软件上,TI对每一款芯片都提供例程,如《C2834x C/C++ 头文件和外设示例 》,这个我想大家都懂得,就不多说了。但是有一点需要提醒的就是有时候例程里面的代码也不一定全对,也有一些小的bug,所以写代码的时候自己要小心。
举个bug的例子:
在《C2833x C2823x C C++ 头文件和外设示例》--->DSP2833x_SysCtrl.c--->InitPeripheralClocks()中有几句代码:
// XCLKOUT to SYSCLKOUT ratio. By default XCLKOUT = 1/4 SYSCLKOUT
// XTIMCLK = SYSCLKOUT/2
XintfRegs.XINTCNF2.bit.XTIMCLK = 1;
// XCLKOUT = XTIMCLK/2
XintfRegs.XINTCNF2.bit.CLKMODE = 1;
// Enable XCLKOUT
XintfRegs.XINTCNF2.bit.CLKOFF = 0;
如果你想将XCLKOUT关掉,很正常的在这里令XintfRegs.XINTCNF2.bit.CLKOFF = 1 即可,但是在例程中你会发现,你改过之后XCLKOUT还是会输出,没有被关掉。导致这样的原因就是这几句话前面还差了一条语句就是:
SysCtrlRegs.PCLKCR3.bit.XINTFENCLK = 1; // XTIMCLK
如果不讲XINTF的时钟打开,对外设寄存器的操作是不会有效的。而例程中刚好将时钟开启的语句放到了配置外设寄存器的后面。
希望上面所写的这样对大家有所帮助。
huangfeng33 发表于 2012-3-18 16:30 | 显示全部楼层
LZ费心了,感谢分享,学习了。
czdo 发表于 2012-3-18 19:20 | 显示全部楼层
:o楼主高人啊!!!真细致!!!
shibalihuandao 发表于 2012-3-18 19:55 | 显示全部楼层
值得借鉴
zgsxhzac 发表于 2012-3-18 20:08 | 显示全部楼层
说的很好哇
sishangcine 发表于 2012-3-18 20:27 | 显示全部楼层
LZ辛苦了
heibaiyinjiag 发表于 2012-3-18 21:07 | 显示全部楼层
学习学习
taihezhibanh 发表于 2012-3-18 21:22 | 显示全部楼层
有点共鸣唉
jxmzzr 发表于 2012-3-19 10:41 | 显示全部楼层
:)学习了,顶一下,值得借鉴,多多上传。
litgb 发表于 2012-3-19 11:21 | 显示全部楼层
好资料                                 
楼主辛苦了                       
感谢分享
cooran 发表于 2012-3-19 15:44 | 显示全部楼层
学习学习
tianli1980 发表于 2012-3-19 16:47 | 显示全部楼层
感谢LZ,感谢分享,感谢211C.:loveliness:
 楼主| 拿起书本 发表于 2012-3-19 18:42 | 显示全部楼层
谢谢大家,互相学习,共同进步,:handshake
huangfeng33 发表于 2012-3-30 00:01 | 显示全部楼层
再顶一下,今天碰到了同样的问题,多亏了LZ的提醒。谢了
dontium 发表于 2012-4-7 19:13 | 显示全部楼层
这经验非常好
tianyu01 发表于 2012-4-7 21:17 | 显示全部楼层
谢谢楼主分享心得
tianyu01 发表于 2012-4-7 21:17 | 显示全部楼层
这个对新手很有启发
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好学习,天天向上!

519

主题

4194

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部