新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR位操作記錄

        AVR位操作記錄

        作者: 時間:2016-11-22 來源:網絡 收藏
        說實話,偶是頭一次遇到這么用的,Mark。

        本文引用地址:http://www.104case.com/article/201611/320038.htm

        #defineBIT(x) (1<<(x))


        #defineGET_PORT(x,bit) (PORT##x)

        #defineGET_PIN(x,bit) (PIN##x)

        #define GET_BIT(x,bit) (bit)

        #definePORT_OUT0(portx_bit) (GET_PORT(portx_bit)&=~BIT(GET_BIT(portx_bit)))

        #definePORT_OUT1(portx_bit) (GET_PORT(portx_bit)|=BIT(GET_BIT(portx_bit)))

        #definePORT_IN(portx_bit) (GET_PIN(portx_bit)&BIT(GET_BIT(portx_bit)))

        ===================================
        我自己寫的,定義好這個后,只要再定義端口就好了,
        比如
        #defineKEY1 A,2
        #defineLED_RED A,3

        if(PORT_IN(KEY1))
        {
        PORT_OUT1(LED_RED);
        }

        ICCAVR編譯出的代碼已經是位操作了...讀起來也很直觀


        關鍵詞: AVR位操

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 玉环县| 铜陵市| 扶绥县| 榕江县| 扎兰屯市| 德化县| 望城县| 察雅县| 芷江| 岢岚县| 宣汉县| 洛川县| 哈密市| 英吉沙县| 海晏县| 辛集市| 保山市| 台江县| 鄢陵县| 闽侯县| 抚顺市| 赞皇县| 竹北市| 丹江口市| 全南县| 宣化县| 阳谷县| 香格里拉县| 涟源市| 静海县| 大英县| 克什克腾旗| 明溪县| 乐业县| 广灵县| 响水县| 萍乡市| 垦利县| 乃东县| 苍溪县| 凤冈县|