打印

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

[复制链接]
3342|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 | 只看该作者
值得借鉴

使用特权

评论回复
5
zgsxhzac| | 2012-3-18 20:08 | 只看该作者
说的很好哇

使用特权

评论回复
6
sishangcine| | 2012-3-18 20:27 | 只看该作者
LZ辛苦了

使用特权

评论回复
7
heibaiyinjiag| | 2012-3-18 21:07 | 只看该作者
学习学习

使用特权

评论回复
8
taihezhibanh| | 2012-3-18 21:22 | 只看该作者
有点共鸣唉

使用特权

评论回复
9
jxmzzr| | 2012-3-19 10:41 | 只看该作者
:)学习了,顶一下,值得借鉴,多多上传。

使用特权

评论回复
10
litgb| | 2012-3-19 11:21 | 只看该作者
好资料                                 
楼主辛苦了                       
感谢分享

使用特权

评论回复
11
cooran| | 2012-3-19 15:44 | 只看该作者
学习学习

使用特权

评论回复
12
tianli1980| | 2012-3-19 16:47 | 只看该作者
感谢LZ,感谢分享,感谢211C.:loveliness:

使用特权

评论回复
13
拿起书本|  楼主 | 2012-3-19 18:42 | 只看该作者
谢谢大家,互相学习,共同进步,:handshake

使用特权

评论回复
14
huangfeng33| | 2012-3-30 00:01 | 只看该作者
再顶一下,今天碰到了同样的问题,多亏了LZ的提醒。谢了

使用特权

评论回复
15
dontium| | 2012-4-7 19:13 | 只看该作者
这经验非常好

使用特权

评论回复
16
tianyu01| | 2012-4-7 21:17 | 只看该作者
谢谢楼主分享心得

使用特权

评论回复
17
tianyu01| | 2012-4-7 21:17 | 只看该作者
这个对新手很有启发

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

519

主题

4194

帖子

31

粉丝