历史上的今天
今天是:2025年03月17日(星期一)
2020年03月17日 | msp430寄存器地址与宏定义位置
2020-03-17 来源:eefocus
这里以gpio代码为例说明如何在代码库与user guide中查看寄存器地址。
#include /* 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 i++; } } 在这里我们查找P2OUT 的地址,安装Ctrl键点击该变量,可以跳转到其宏定义处,依次查找如下: 发现我们并没有找到P2OUT 的地址,实际上这个地址在另一个文件里面,它是通过链接脚本通过编译器链接的,因此在代码中无法找到。 可以看到寄存器地址为0x0203,那么在user guide中我们在哪里查找这个地址呢? 首先找到这个寄存器: 打开msp430f6638_user_guide.pdf如下 可以看到PAOUT_H的偏移地址为0x03,然后再看黄字,显示说基地址查看芯片手册的设备特性章节,那么打开msp430f6638_Datasheet.pdf 于是我们找到了这个地址0x0200+0x03 = 0x0203 








史海拾趣
|
我在用QUARTUS ii仿真其自带的LPM_DIVIDE核时,当输入的除数和被除数的位数比较少时,可以得到正确的结果,但是当输入的位数较多时为什么就得不到正确的结果了呢,也不是一个时钟计算一个结果,好像一直在计算。请问有没有好的多字节运算时能得出精 ...… 查看全部问答> |
|
各位我最近研究DSPF2812,看到DSP可以显示变量或其它的图形变化情况,自己便试了下,发现没有得到预期效果。 自己的程序很简单(图1),就是在主函数的无限循环中反复改变变量i,期望看到i变化的图形。可是当自己运行完程序后(软仿真),下载程序 ...… 查看全部问答> |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 今日上午9时,备受外界关注的“IPAD”商标权纠纷一案将在广东省高级人民法院第一法庭开庭,判决结果或将决定商标的最终归属并影响苹果平板电脑在全球的销售进展。 维持原判的可能性更大,苹果 ...… 查看全部问答> |




