倒塌了~~~MSP430什么都不明白就debug了

[复制链接]
3213|10
 楼主| hotpower 发表于 2008-5-17 22:01 | 显示全部楼层 |阅读模式
实在是一只老菜鸟~~~等着周一的2008年"430 Day"研讨会吧~~~

到时最好别迷糊~~~

看来所有的IAR编译器几乎都是一样的~~~
相关链接:http://www.lierda.com/430day/yan.html
phoenixmy 发表于 2008-5-17 22:13 | 显示全部楼层

...

用不着这么激动吧
哈哈哈
 楼主| hotpower 发表于 2008-5-17 22:20 | 显示全部楼层

哈哈~~~花了几分钟---笨鸟先飞呀~~~我倒塌~~~

 楼主| hotpower 发表于 2008-5-18 06:51 | 显示全部楼层

感觉这本实验指导书对MSP430F22X4系列很有帮助

不过感觉"主刀"对IAR的理解很不够或想着以后移植的问题~~~

例如:
P1DIR |=BIT0; //led 使能

"正规"的IAR应该这样:
P1DIR_bit.P1DIR_0 = true;//设置P1.0口方向为输出。

再例如:
_BIS_SR(CPUOFF + GIE); //进入低功耗0

"正规"的IAR应该这样:
__low_power_mode_0(); //进入LPM3 模式,ACLK(WDT 时钟源)仍工作,并使能总中断


实际上俺第1次接触IAR就是从430开始的~~~

记得最清楚的就是:
extern "C" __root char __low_level_init (void)
{
    __disable_interrupt ();//关闭总中断
    return 1;//0-不初始化,1-初始化
}

所以现在俺在任何MCU/ARM用到IAR时都忘不了这个~~~
相关链接:http://www.mculib.com/files/tnew/tn5163.pdf
ATmega32L 发表于 2008-5-19 08:24 | 显示全部楼层

不初始化什么?

extern "C" __root char __low_level_init (void)
{
    __disable_interrupt ();//关闭总中断
    return 1;//0-不初始化,1-初始化
}

如果返回0,不初始化,不初始化什么?
TI_CPIC 发表于 2008-5-19 11:46 | 显示全部楼层

恭喜

恭喜啦!同时也谢谢Hotpower为TI论坛加料!
ijkl 发表于 2008-5-19 13:58 | 显示全部楼层

hotpower同志,请问这个"C" 是什么意思??

这个_root 又是什么意思????
如果是声明外部函数
那么就应该是extern char _low_level_init(void)
多出了这个"C" _root让我不明白

extern "C" _root char _low_level_init(void)
ATmega32L 发表于 2008-5-19 14:44 | 显示全部楼层

多出了这个"C" _root让我不明白

extern "C"
因为hotpower大人用的是C++.

__root 不管变量或者函数是否在程序中使用,都连接到目标代码里面.
防止变量或者函数被编译器优化得消失掉了.

 楼主| hotpower 发表于 2008-5-22 02:02 | 显示全部楼层

哈哈~~~俺在IAR环境下都是清一色的C++套路,从未失手~~~

ijkl 发表于 2008-5-22 18:02 | 显示全部楼层

hotpower真的不够意思,来到了还没有帮我解答问题

phoenixmy 发表于 2008-5-22 18:05 | 显示全部楼层

8楼都回答了



extern “c”是因为程序是用c++写的
所以在程序中使用c语言编写的函数就得用这个声明

root的用法不知道,查查iar的联机说明估计就有
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1460

主题

21617

帖子

508

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