打印

请教一个傻问题..

[复制链接]
1265|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2007-3-24 15:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

以下代码如何用GET_PORT()定义成一个宏?


        unsigned char t;
        t = PINA;
        s_port |= ((int)t&0x00ff);          
        t = PINE;
        s_port |= (((int)t&0x0007) << 8);  
        t = PINC;
        s_port |= ((int)(t&(BIT(7))) << 4);     
        s_port |= ((int)(t&(BIT(6))) << 6);     
        s_port |= ((int)(t&(BIT(5))) << 8);     
        s_port |= ((int)(t&(BIT(4))) << 10);    
        s_port |= ((int)(t&(BIT(3))) << 12);    

相关帖子

沙发
keer_zu|  楼主 | 2007-3-24 15:45 | 只看该作者

这样定义可以吗?

#define  GET_PORT()        unsigned char t;
        t = PINA;  
        s_port |= ((int)t&0x00ff);            
        t = PINE;                           
        s_port |= (((int)t&0x0007) << 8);    
        t = PINC;                             
        s_port |= ((int)(t&(BIT(7))) << 4);     
        s_port |= ((int)(t&(BIT(6))) << 6);     
        s_port |= ((int)(t&(BIT(5))) << 8);     
        s_port |= ((int)(t&(BIT(4))) << 10);    
        s_port |= ((int)(t&(BIT(3))) << 12);  
        

使用特权

评论回复
板凳
ayb_ice| | 2007-3-24 15:48 | 只看该作者

随便说说

unsigned char t;
t最好定义成全局变量,否则调用宏时大部分会出错...

使用特权

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

本版积分规则

1349

主题

12424

帖子

53

粉丝