新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 位域的方式做AVR的位定義

位域的方式做AVR的位定義

作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
#ifndef __MEGA48IOBIT_H__
#define __MEGA48IOBIT_H__typedef struct _bit_field{unsigned bit0:1;unsigned bit1:1;unsigned bit2:1;unsigned bit3:1;unsigned bit4:1;unsigned bit5:1;unsigned bit6:1;unsigned bit7:1;}bit_field;#define _PIND   0x29#define PIND00   (*(volatile bit_field*)(_PIND)).bit0#define PIND01   (*(volatile bit_field*)(_PIND)).bit1#define PIND02   (*(volatile bit_field*)(_PIND)).bit2#define PIND03   (*(volatile bit_field*)(_PIND)).bit3#define PIND04   (*(volatile bit_field*)(_PIND)).bit4#define PIND05   (*(volatile bit_field*)(_PIND)).bit5#define PIND06   (*(volatile bit_field*)(_PIND)).bit6#define PIND07   (*(volatile bit_field*)(_PIND)).bit7#define _DDRD   0x2A#define DDRD00   (*(volatile bit_field*)(_DDRD)).bit0#define DDRD01   (*(volatile bit_field*)(_DDRD)).bit1#define DDRD02   (*(volatile bit_field*)(_DDRD)).bit2#define DDRD03   (*(volatile bit_field*)(_DDRD)).bit3#define DDRD04   (*(volatile bit_field*)(_DDRD)).bit4#define DDRD05   (*(volatile bit_field*)(_DDRD)).bit5#define DDRD06   (*(volatile bit_field*)(_DDRD)).bit6#define DDRD07   (*(volatile bit_field*)(_DDRD)).bit7#define _PORTD  0x2B#define PORTD00  (*(volatile bit_field*)(_PORTD)).bit0#define PORTD01  (*(volatile bit_field*)(_PORTD)).bit1#define PORTD02  (*(volatile bit_field*)(_PORTD)).bit2#define PORTD03  (*(volatile bit_field*)(_PORTD)).bit3#define PORTD04  (*(volatile bit_field*)(_PORTD)).bit4#define PORTD05  (*(volatile bit_field*)(_PORTD)).bit5#define PORTD06  (*(volatile bit_field*)(_PORTD)).bit6#define PORTD07  (*(volatile bit_field*)(_PORTD)).bit7#define _PINC   0x26#define PINC00   (*(volatile bit_field*)(_PINC)).bit0#define PINC01   (*(volatile bit_field*)(_PINC)).bit1#define PINC02   (*(volatile bit_field*)(_PINC)).bit2#define PINC03   (*(volatile bit_field*)(_PINC)).bit3#define PINC04   (*(volatile bit_field*)(_PINC)).bit4#define PINC05   (*(volatile bit_field*)(_PINC)).bit5#define PINC06   (*(volatile bit_field*)(_PINC)).bit6#define PINC07   (*(volatile bit_field*)(_PINC)).bit7#define _DDRC   0x27#define DDRC00   (*(volatile bit_field*)(_DDRC)).bit0#define DDRC01   (*(volatile bit_field*)(_DDRC)).bit1#define DDRC02   (*(volatile bit_field*)(_DDRC)).bit2#define DDRC03   (*(volatile bit_field*)(_DDRC)).bit3#define DDRC04   (*(volatile bit_field*)(_DDRC)).bit4#define DDRC05   (*(volatile bit_field*)(_DDRC)).bit5#define DDRC06   (*(volatile bit_field*)(_DDRC)).bit6#define DDRC07   (*(volatile bit_field*)(_DDRC)).bit7#define _PORTC  0x28#define PORTC00  (*(volatile bit_field*)(_PORTC)).bit0#define PORTC01  (*(volatile bit_field*)(_PORTC)).bit1#define PORTC02  (*(volatile bit_field*)(_PORTC)).bit2#define PORTC03  (*(volatile bit_field*)(_PORTC)).bit3#define PORTC04  (*(volatile bit_field*)(_PORTC)).bit4#define PORTC05  (*(volatile bit_field*)(_PORTC)).bit5#define PORTC06  (*(volatile bit_field*)(_PORTC)).bit6#define PORTC07  (*(volatile bit_field*)(_PORTC)).bit7#define _PINB   0x23#define PINB00   (*(volatile bit_field*)(_PINB)).bit0#define PINB01   (*(volatile bit_field*)(_PINB)).bit1#define PINB02   (*(volatile bit_field*)(_PINB)).bit2#define PINB03   (*(volatile bit_field*)(_PINB)).bit3#define PINB04   (*(volatile bit_field*)(_PINB)).bit4#define PINB05   (*(volatile bit_field*)(_PINB)).bit5#define PINB06   (*(volatile bit_field*)(_PINB)).bit6#define PINB07   (*(volatile bit_field*)(_PINB)).bit7#define _DDRB   0x24#define DDRB00   (*(volatile bit_field*)(_DDRB)).bit0#define DDRB01   (*(volatile bit_field*)(_DDRB)).bit1#define DDRB02   (*(volatile bit_field*)(_DDRB)).bit2#define DDRB03   (*(volatile bit_field*)(_DDRB)).bit3#define DDRB04   (*(volatile bit_field*)(_DDRB)).bit4#define DDRB05   (*(volatile bit_field*)(_DDRB)).bit5#define DDRB06   (*(volatile bit_field*)(_DDRB)).bit6#define DDRB07   (*(volatile bit_field*)(_DDRB)).bit7#define _PORTB  0x25#define PORTB00  (*(volatile bit_field*)(_PORTB)).bit0#define PORTB01  (*(volatile bit_field*)(_PORTB)).bit1#define PORTB02  (*(volatile bit_field*)(_PORTB)).bit2#define PORTB03  (*(volatile bit_field*)(_PORTB)).bit3#define PORTB04  (*(volatile bit_field*)(_PORTB)).bit4#define PORTB05  (*(volatile bit_field*)(_PORTB)).bit5#define PORTB06  (*(volatile bit_field*)(_PORTB)).bit6#define PORTB07  (*(volatile bit_field*)(_PORTB)).bit7#endif


關(guān)鍵詞: 位域AVR位定

評論


技術(shù)專區(qū)

關(guān)閉