求助MSP430F5438

[复制链接]
3745|5
 楼主| lilingdz 发表于 2010-11-9 09:09 | 显示全部楼层 |阅读模式
这是一个TI的5438例程,其中一句一直搞不清楚是什么意思,为什么这么用,头文件里也没有这样的定义。 就是其中黑体的那一句,请求路过的高手解答一下,谢谢
include "msp430x54x.h"
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer - SET BREAKPOINT HERE
  P1DIR |= 0x01;                            // Set P1.0 to output direction
  TA0R = 0x3FFF;                            // Valid opcode (for "jmp $")
  while(1)
  {
    P1OUT ^= 0x01;                          // Toggle P1.0 using exclusive-OR
    __delay_cycles(50000);                  // Delay loop
    // C code to directly call an address location
   ((void (*)())0x350)();              // Invalid fetch ("call #0350h")
    /* 0x350 is address of TA0R register and is within the module register memory
    address range (0x0100 --0x0FEF) */
  }
}
linas 发表于 2010-12-6 20:58 | 显示全部楼层
帮你把问题顶上去。
dy6258 发表于 2010-12-7 12:49 | 显示全部楼层
建议上利尔达论坛求助,那里430高手还是挺多的
http://bbs.lierda.com/
msp430ing 发表于 2010-12-11 13:55 | 显示全部楼层
楼主这是要实现什么功能呀
-自己人 发表于 2010-12-11 16:29 | 显示全部楼层
((void (*)())0x350)();               这个函数的地址在0x350


首先最后一个括号告诉你这是个函数,且参数为空,

函数名本来就可以写成函数指针的形式, 此函数的函数名就是个函数指针,且是将0x350强制转换为函数指针
cjd88ei75 发表于 2010-12-11 20:42 | 显示全部楼层
资料还不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

17

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部