标签:index int 地址 ms 寄存器 P2OUT unit msp430
QQ群招募中:646258285(招募中,没几个人说话),
需要交流的朋友可以直接加我微信( DntBeliv )或QQ( 1121864253 )
这里以gpio代码为例说明如何在代码库与user guide中查看寄存器地址。
#include <msp430f6638.h>
/* main.c */
int main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
P2DIR |= BIT7;
int sgn0=-1;
long index = 0;
long time_unit = 25;//ms
while(1){
P2OUT |= BIT7;
delay_ms(index);
P2OUT &= ~BIT7;
delay_ms(time_unit-index);
if(index==0||index==(time_unit-1)){
sgn0*=-1;
}
index = (index+sgn0)%time_unit;
}
return 0;
}
void delay_ms(unsigned int usNum){
int i=0;
while(i<usNum){
__delay_cycles(1000); //单位:ms
i++;
}
}
在这里我们查找P2OUT 的地址,安装Ctrl键点击该变量,可以跳转到其宏定义处,依次查找如下:
发现我们并没有找到P2OUT 的地址,实际上这个地址在另一个文件里面,它是通过链接脚本通过编译器链接的,因此在代码中无法找到。
可以看到寄存器地址为0x0203,那么在user guide中我们在哪里查找这个地址呢?
首先找到这个寄存器:
打开msp430f6638_user_guide.pdf如下
可以看到PAOUT_H的偏移地址为0x03,然后再看黄字,显示说基地址查看芯片手册的设备特性章节,那么打开msp430f6638_Datasheet.pdf
于是我们找到了这个地址0x0200+0x03 = 0x0203
标签:index,int,地址,ms,寄存器,P2OUT,unit,msp430 来源: https://blog.51cto.com/u_15262460/2883015
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。