这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » avr,gcc,bit avr gcc bit 變量定義如下,為什么出錯呢?

共2条 1/1 1 跳转至

avr,gcc,bit avr gcc bit 變量定義如下,為什么出錯呢?

院士
2006-09-17 18:14:16     打赏
avr,gcc,bit avr gcc bit 變量定義如下,為什么出錯呢?



关键词: 變量     定義     如下     什么     出錯    

院士
2006-12-22 22:43:00     打赏
2楼
问 typedef struct _bit_struct  
{
    unsigned char bit0 : 1 ;
    unsigned char bit1 : 1 ;
    unsigned char bit2 : 1 ;
    unsigned char bit3 : 1 ;
    unsigned char bit4 : 1 ;
    unsigned char bit5 : 1 ;
    unsigned char bit7 : 1 ;
    unsigned char bit6 : 1 ;
}bit_field;

#define GET_BITFIELD(addr) (*((volatile  bit_field *) (addr)))


unsigned char bit_variable1;
unsigned char bit_variable2;
unsigned char bit_variable3;
#define t_start GET_BITFIELD(bit_variable1).bit0
#define t_start1  GET_BITFIELD(bit_variable1).bit1
#define t_start2  GET_BITFIELD(bit_variable1).bit2
#define t_start3  GET_BITFIELD(bit_variable1).bit3
#define t_start4  GET_BITFIELD(bit_variable1).bit4

warning caste to pointer from integer of different size 1: 是警告不是错误,没有出错。 2: 這warning 可以去掉嗎? 我這樣定義可以嗎? 3: wjc3k  兄:能幫我解答一下嗎? 4: use -os  then no warning? 5: 在编译选项中默认是显示所有警告信息-Walloverride CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU) $(DEFS)

最好还是留着它吧,自己看着也知道是怎么回事,否则有些警告会导致潜在的错误都不知道。详见:
file:///C:/WinAVR/doc/gnu/gcc/Warning-Options.html#Warning%20Options
6: 程序有问题#define t_start GET_BITFIELD(&bit_variable1).bit0

少写了一个"&" 7: 我还没细看,果然应该有一个"&"的.

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]