专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
TI
MSP432学习心得之时钟配置
2019-07-17 13:45
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
TI MCU
10451
19
1198
本帖最后由 michael_llh 于 2016-1-29 17:45 编辑
MSP432学习心得之时钟配置
关于建立工程和导入库函数的方法在这里不在介绍,可以参考MSP430趣谈的前几讲里面有说到,这里我们就直接开始了。
我们第一步来看下在没有配置时钟的情况下我们直接用库函数调用查看默认情况下各个时钟的时间是多少?
简单的代码实现,在仿真过程中,左键点击即可选中该变量,或者直接右键将各个变量添加到watch Expression,这里有一个前提就是该变量必须是全局变量,否则无法添加。
通过该表格我们对应到我们相应的时钟中得到:
我们很明显的看出了,当我们没有进行时钟配置的时候,除了ACLK和BCLK为32K之外,其他四个时钟源都和DCO的频率是一样的,那么我们来看一下数据手册看哪里提到了这一点。
在这里我们对应到了系统复位时的时钟设置,在没有选择对应外部的高速或者低速时钟的时候,ACLK和BCLK是选择了REFOCLK,其他的四个时钟是选择了DCOCLK。
这里我们查看板子的原理图可以看到相应的引脚连接。具体如下:
我们看到输入晶振的引脚都是连接在PJ端口上面。
错误说明:在上面使用了uint16_t的全局变量,导致了一个错误,就是当整个频率的值小于65535的时候会显示正确的频率值,当大于65535的时候将会导致数据溢出从而导致整个显示值发生错误。所以这里如果我们没有进行修改相应的数据类型,那么我们将会得到一个错误的数据。
这里是已经对应修改过的数据类型所得到的值,在这里我们看到对应的时钟值,后面四个和我们前面测到的不一样,是3000000,也就是3MHz的频率。这里我们来解释一下前面我们测到的为什么是50880这里数字。
首先对于一个16位的寄存器,他所能够代表的数字应该是多大呢?大家可能会比较清楚的知道,16位寄存器能够表示最大的是FFFF,对应数值是65535,那我们对3_000_000 ÷ 65535 ≈ 45,然后我们用3_000_000 - 65535 × 45 = 50925 和我们的测到的值50880有点差距,那这是为什么呢,所以我们在这里要明白两个的区别,65535代表的是16位的寄存器所能代表的最大数字,在这其中我们忽略了数字0,所以如果将一个寄存器用来数数,那么对应最大能够数的数是65536个数,是2的16次方。所以最终我们得到的数值应该是这样算出来的。
3_000_000 - 65536 × 45 = 50880
下面举了个3位寄存器的实例,帮助大家理解。
之后我们对应时钟修改官网的实例代码,可以得到我们想要的时钟设置,下面是我们最终得到的时钟频率,第三个是DCO的频率我们没有进行配置,所以还是原来的3MHz。其他的都相应修改为我们的设置时钟。
最终代码如下:
具体的话可以查看附件。
这里我们看到ACLK和BCLK都是32000Hz,可能有会纳闷说我们接的晶振不是32.768KHz吗,其实是因为我们在初始化话外部时钟的时候写的是32K所以这里导致不同,大家可以改成32768,这样子就可以了。
今天就说到这里了,上面还存在一个不足的地方,就是变量命名的问题,就是尽量要使用可辨识度比较高的名字作为变量名,如果使用的是temp这种的,还有什么,abc的,这种的不好,辨识度很低,可能今天写的代码,明天就看不懂了,变量的命名也很重要。
MSP432code1_1.rar
(2.03 MB, 下载次数: 31)
2016-1-29 17:45 上传 点击文件名下载附件
代码
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
michael_llh
2019-07-18 04:30
lisingch 发表于 2016-1-29 23:49
我看不到图,不知是什么原因?
应该可以的,你试着刷新试试,或者换个浏览器试下
加载中...
查看其它19个回答
一周热门
更多
>
相关问题
CPLD的方波输出
4 个回答
11个版本Quartus II 软件下载,安装包网盘合集,附教程,47G!
20 个回答
请大家帮忙到21IC发展大家谈支持我申请新版面
20 个回答
【通知】21ic中国电子网服务条款 (所有人员必读)
1 个回答
满载而归乙亥年,大展鸿途庚子年---集签赢好礼
20 个回答
相关文章
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
TI
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
应该可以的,你试着刷新试试,或者换个浏览器试下
一周热门 更多>