新聞中心

        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 輸出高電平



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 逊克县| 淮安市| 通海县| 屏东县| 武强县| 略阳县| 聂荣县| 图们市| 葵青区| 宁波市| 新兴县| 科技| 故城县| 定襄县| 鄂尔多斯市| 拜城县| 平陆县| 瓦房店市| 章丘市| 即墨市| 慈溪市| 盐山县| 康乐县| 凤山县| 金阳县| 淄博市| 广西| 泸定县| 平陆县| 石棉县| 伊川县| 喀什市| 固镇县| 贡觉县| 鹤岗市| 武宁县| 宁明县| 香格里拉县| 丰城市| 金堂县| 罗城|