新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC結構體及定義位元結構

        PIC結構體及定義位元結構

        作者: 時間:2011-10-18 來源:網絡 收藏

        及定義
        extern volatile near unsigned char PORTB; // PORTB是一個字節(unsigned char)。由于變量是在寄存器中定義的,因此需要extern 修飾符。 volatile 修飾符告知編譯器不能假定PORTB能保留賦給它的值。 near 修飾符指定了端口位于存取RAM 中。
        extern volatile near union { // 定義PORTBbits為一的聯合體(union)變量。指定 PORTBbits 是可位尋址的匿名結構的聯合。特殊功能寄存器中的每一位可能有不只一種功能,因此聯合中對于同一個寄存器有多個結構定義。struct { // 地址在Access RAM
        unsigned RB0:1; // 定義PORTB的標準功能
        unsigned RB1:1;
        unsigned RB2:1;
        unsigned RB3:1;
        unsigned RB4:1;
        unsigned RB5:1;
        unsigned RB6:1;
        unsigned RB7:1;
        } ;
        struct {
        unsigned INT0:1; // 定義PORTB的另外功能
        unsigned INT1:1;
        unsigned INT2:1;
        unsigned CCP2:1;
        } ;
        } PORTBbits ; //這里定義了一個結構聯合體變量 PORTBbits

        //然后就可以用了。
        PORTB=0x35; // PORTB 與 PORTBbits 地址一樣。
        //等同于 PORTBbits = 0x35;
        PORTBbits.RB7=1; // RB7 輸出高電平



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 宜春市| 沅江市| 天峨县| 龙井市| 微山县| 兴和县| 都江堰市| 湖州市| 尼玛县| 廉江市| 乌拉特后旗| 宿松县| 南宁市| 康乐县| 乐陵市| 廉江市| 河源市| 井冈山市| 甘孜县| 黄龙县| 科技| 桑日县| 和硕县| 贡嘎县| 陆丰市| 临桂县| 涿鹿县| 乐亭县| 广汉市| 邵阳县| 黄浦区| 达孜县| 于都县| 辽宁省| 西充县| 财经| 连江县| 阿拉尔市| 武邑县| 正阳县| 黎城县|