查看: 2794|回复: 3

[其他] #define PortA ( * ( volatile unsigned char * ) 0x0000 ) && volatile unsigned ch

[复制链接]

该用户从未签到

7

主题

46

帖子

0

注册会员

Rank: 2

积分
57
最后登录
2021-9-23
发表于 2012-10-17 10:14:23 | 显示全部楼层 |阅读模式
 
1.#define PortA ( * ( volatile unsigned char * )  0x0000 )

这种采用的宏定义,移植性好,这是PortA不是真正的变量无法在调试的时候观察其值。

1.volatile unsigned char PortA       @0x0000;

而这种可读性好,但不利于移植,我不怎么明白为撒说移植性不好?而对于@这个修饰符,具体代表什么?
我知道答案 目前已有2人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-10-17 11:24:55 | 显示全部楼层

    RE:#define PortA

    @就是指这个地址,因为有的编译器并不支持@,CW支持@。所以说移植性不好。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7

    主题

    46

    帖子

    0

    注册会员

    Rank: 2

    积分
    57
    最后登录
    2021-9-23
     楼主| 发表于 2012-10-17 11:57:50 | 显示全部楼层

    回复:#define PortA ( * ( volatile unsigned char * ) 0x0000 ) && volatile unsigned

    回复第 2 楼 于2012-10-17 11:24:55发表:
    @就是指这个地址,因为有的编译器并不支持@,CW支持@。所以说移植性不好。 

    谢谢!我以为除了编译器不兼容@外,还有其他方面移植性不好哦。
    PortA是地址0x0000的内容(值),而@不是就是取这个地址的值?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-10-17 15:28:03 | 显示全部楼层

    RE:#define

    @是将PORTA指向0x0000这个地址.
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 22:49 , Processed in 0.097410 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表