导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教一个c语言问题[guest]

 *第14946篇: 请教一个c语言问题

  
楼 主:guest 2003年7月28日11:37
 请教一个c语言问题
在汇编语言中,定义完一个byte后,可以再对这个byte的每个bit进行定义,
    例如:
 SY0_BAT_INF: DS 1   
 F_BATT_NG EQU SY0_BAT_INF.7
 F_BATT_DSPT EQU SY0_BAT_INF.6 
 F_BATT_CNT5 EQU SY0_BAT_INF.5 
 F_BATT_CNT4 EQU SY0_BAT_INF.4 ;
 F_BATT_CNT3 EQU SY0_BAT_INF.3 ;
 F_BATT_CNT2 EQU SY0_BAT_INF.2 ;
 F_BATT_CNT1 EQU SY0_BAT_INF.1 ;
 F_BATTERY EQU SY0_BAT_INF.0 ;
       在c语言中,像这样的机能如何实现?
  
2楼:yyp 2003年7月28日11:58
 C中的表示方法。
uchar  bdata xxxx;
sbit    yy1  = xxxx^0;
sbit    yy2  = xxxx^1;
sbit    yy3  = xxxx^2;
sbit    yy4  = xxxx^3;
sbit    yy5  = xxxx^4;
sbit    yy6  = xxxx^5;
sbit    yy7  = xxxx^6;
sbit    yy8  = xxxx^7;
  
3楼:幽游梦蝶 2003年7月28日12:23
 补充
1。如果要对每位的位置都固定,在定义bdata数据的时候使用_at_,这样很方便实现混合编程
2。这些定义只能是全局变量
  
4楼:yyp 2003年7月28日14:10
 幽游梦蝶,请教一下,用_at_的格式?我
幽游梦蝶,请教一下,用_at_的格式?我没用过该种方式。是否也能用于定义xdata?谢谢!
  
5楼:yjcell 2003年7月28日17:16
 通过预编译实现
unsigned char bdata sy0_bat_inf ;
sbit  f_batt_ng=sy0_bat_inf^7;
sbit  f_batt_dspt=sy0_bat_inf^6;
sbit  f_batt_cnt5 =sy0_bat_inf^5;
sbit  f_batt_cnt4 =sy0_bat_inf^4;
sbit  f_batt_cnt3= sy0_bat_inf^3;
sbit  f_batt_cnt2 =sy0_bat_inf^2;
sbit  f_batt_cnt1 =sy0_bat_inf^1;
sbit  f_battery =sy0_bat_inf^0;
这也可以实现同样的功能。


  
6楼:guest 2003年7月30日13:54
 那应该怎样写呢?谢了

>>>>>>对该主题发表你的看法

本主题贴数6,分页: [第1页]


[上一篇主题]:ic卡与单片机接口电路

[下一篇主题]:求助