- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TI培训
一.系统架构
这是G2553的整个系统资源图:
1.1系统的复位和初始化(泛读即可)
系统的复位电路由POR和PUC信号驱动
POR是上电复位信号
PUC是上电清除信号
文件:MSP430F2-02-Re_Iint_OM P2
1.2系统复位后设备的初始化条件(泛读即可)
1.3系统中断
重点注意:中断具有优先级,但是优先级体现在同时发生的时候,430默认情况下不允许中断嵌套,如果使用中断嵌套的话,需要在中断子程序里面开中断,因为中断子程序里面默认是关中断的,在中断嵌套发生的时候任何执行的中断服务子程序的中断会被打破,无论他的中断优先级是多少。
这是G2553的系统各级中断
1.4运行模式
举个例子:
__bis_SR_register(LPM0_bits);这个就是进入低功耗LPM0模式下
__bic_SR_register_on_exit(LPM0_bits);这个是退出低功耗LPM0模式
对应寄存器的选择和设置在头文件第65行。
在进入低功耗模式时设置开中断,这样可以在低功耗模式下触发中断,在结束中断子程序后,继续停留在低功耗中,这个比原先51的最后的那个while(1);的效果好在节能。
二.时钟模块
G2553的时钟采用3种片内时钟
基础时钟模块有4个时钟源,分别是:LFXT1CLK,XT2CLK,DCOCLK,VLOCLK。
时钟模块提供3种不同的时钟信号,分别是ACLK,SMCLK,MCLK。
3种时钟的开启与否分别是在各功能寄存器中进行设置,而时钟寄存器的设置是进行时钟信号的选择,频率的设置。建议通过Grace可视化图形进行设置,这样不涉及寄存器,方便实用。
简而言之,就是说G2有4个时钟源,这4个时钟源提供3个时钟信号,ACLK是由LFXT1CLK和VLOCLK提供,如果使用LFXT1CLK的话,需要设置XTS =0,此时采用的是32768Hz,也就是盒子里的那个贴片晶振。如果需要外接高速晶振的话,需要XTS=1,并且LFXT1Sx选择相应的范围,但是一般使用32768Hz。SMCLK可以选择由DCO或XT2CLK提供,亦或是在XT2不在的时候,由LFXT1CLK或VLOCLK提供。MCLK可以选择由DCO或XT2CLK提供,亦或是在XT2不在的时候,由LFXT1CLK或VLOCLK提供。
这里来特别说明下DCO的频率和分频,DCO可以最高提供16MHz的频率,以及1,2,4,8分频。
下面提供一个时钟设置的例程:
void BCSplus_init(void)
{
BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0;
if (CALBC1_1MHZ != 0xFF) {
DCOCTL = 0x00;
BCSCTL1 = CALBC1_1MHZ; //校准作用
DCOCTL = CALDCO_1MHZ;
}
BCSCTL1 |= XT2OFF + DIVA_0;
BCSCTL3 = XT2S_0 + LFXT1S_0 + XCAP_1;
}
句子中的校准是TI在出厂的时候已经在芯片中校准过的时钟值,大家可以直接拿来用,在头文件中还有,8M,12M,16M的值,供大家参考。
三.Flash存储器
首先注意:Flash在写入和擦除的时候最小电压值VCC应为2.2V,如果低于,所得到的结果将是不确定的。
由图可知,Flash分为2部分,一部分是主存储器,一部分是信息存储器,我们的操作主要是在它的信息存储器中。G2的信息存储器分为4个段,这个和51体系的中片内Flash是一样的。擦写以段为单位,每段长度为64字节,写入是以字节为单位。
Flash的操作主要集中在3个寄存器中,在操作之前需要使用安全键值口令来防止误编程,3个寄存器都是16位的,高8位作为安全键值位,读时位96H,写时为A5H。
3个寄存器我们不需要全部的了解他们各位是干什么的,现在我们只需要了解,我们需要用的位的作用。根据程序来分析。
注意,任何擦除操作开始于对擦除的地址范围内任意地址进行一次写入,空写入的目的是启动时序发生器和擦除操作。还有,在开始flash的操作之前需要对FCTL2进行操作,也就是选择FLASH的时钟和分频系数。
四.IO口的操作
IO口的操作就是集中在8个寄存器上面,PxDIR,PxOUT,PxIN,PxREN,PxSEL,PxIE,PxIES,PxIFG这8个上面。其中我个人把他们分为4组。第一组是PxDIR,PxOUT,PxIN,这是我们大家都常用的,输入输出,方向,第二组是PxSEL,PxDIR这组是用于实现复用功能的。具体功能复用可以查看G2的技术手册,第三组是PxDIR,PxOUT,PxREN,Px
文档评论(0)