打印

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

[复制链接]
1834|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hotpower|  楼主 | 2008-5-17 22:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
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

使用特权

评论回复
5
ATmega32L| | 2008-5-19 08:24 | 只看该作者

不初始化什么?

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

如果返回0,不初始化,不初始化什么?

使用特权

评论回复
6
TI_CPIC| | 2008-5-19 11:46 | 只看该作者

恭喜

恭喜啦!同时也谢谢Hotpower为TI论坛加料!

使用特权

评论回复
7
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)

使用特权

评论回复
8
ATmega32L| | 2008-5-19 14:44 | 只看该作者

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

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

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

使用特权

评论回复
9
hotpower|  楼主 | 2008-5-22 02:02 | 只看该作者

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

使用特权

评论回复
10
ijkl| | 2008-5-22 18:02 | 只看该作者

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

使用特权

评论回复
11
phoenixmy| | 2008-5-22 18:05 | 只看该作者

8楼都回答了



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

root的用法不知道,查查iar的联机说明估计就有

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1460

主题

21619

帖子

506

粉丝