打印
[MCU]

MSP430程序问题

[复制链接]
184|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
潮流大家电|  楼主 | 2020-11-10 15:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我有个问题一直解决不了,请教下各位大牛。
我之前在IAR EW430 5.52版本下编辑的程序,但是后面买来的仿真器固件是5.20版本,并且一升级固件的话就崩溃,无法识别JTAG。
所以,我想在想把5.52版本的程序移植成5.20的版本。
移植步骤就是在5.20的环境下新建一个工程,然后把5.52的.c,.h文件拷至工程目录下再添加。
现在碰到一个问题就是,之前为定义管脚方便,在5.52里有这样的程序:
__no_init volatile union(此为头文件的)
{
  unsigned __READ char P1IN;  /* Port 1 Input */
  
  struct
  {
    unsigned __READ char P1IN_0  : 1;
    unsigned __READ char P1IN_1  : 1;
    unsigned __READ char P1IN_2  : 1;
    unsigned __READ char P1IN_3  : 1;
    unsigned __READ char P1IN_4  : 1;
    unsigned __READ char P1IN_5  : 1;
    unsigned __READ char P1IN_6  : 1;
    unsigned __READ char P1IN_7  : 1;
  } P1IN_bit;  
} @ 0x0020;
#define weidong1_inner_In P1IN_bit.P1(此为我定义声明的)
程序中引脚都是这样定义的,在5.52中编译下载没有问题,但是现在在5.20下就无法编译
显示错误为:
Error[Pe136]: struct "" has no field "P1" C:\Users\s94549\Desktop\程序移植\main.c 58
当把改成#define weidong1_inner_In P1IN_bit.P1IN_0就是可以的
但是这样一来改动很多很麻烦,二来到时如果引脚有更改也很麻烦,并且在5.52这是可以的
所以想请教下这是因为什么原因?谢谢大家。

使用特权

评论回复

相关帖子

沙发
zhangmangui| | 2020-11-10 23:23 | 只看该作者
结构体定义问题吧

使用特权

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

本版积分规则

5

主题

13

帖子

0

粉丝