<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • MSP430單片機IO引腳的宏定義

    發布時間:2008-1-1 11:38    發布者:MSP430
    關鍵詞: MSP430 , IO引腳 , 宏定義
    相信不少人都有在不同CPU間移植程序的經歷,在移植過程中,對IO引腳的移植又占據了移植工作的大部分。那么,是否能在編碼過程中采用一種較好的方法來減少將來移植中的工作量呢? 假設MSP430單片機的P40,P41,P42分別接在I2C的WP,SCK,SDL引腳上。通常,你可能會最先想到下面這種辦法: .H #define I2C_WP 1 #define I2C_SCK 2 #define I2C_SDA 4 #define I2C_PDIR P4DIR #define I2C_POUT P4OUT #define I2C_PIN P4IN .C I2C_PDIR |= (I2C_WP | I2C_SCK | I2C_SDA); I2C_POUT |= I2C_WP; …. 若WP是由P30經反相器接到WP腳上的,那么移植的工作量仍然是比較多, #define IO_I2C_WP(m) m(3, 0, Y) #define IO_I2C_SCK(m) m(4, 1, N) #define IO_I2C_SDA (m) m(4, 2, N) #define IO_SET(name) IO_##name(SET_) #define IO_SET_(port, bit, inv) IO_SET_##inv(port, bit) #define IO_SET_Y(port, bit) P##port##OUT &= ~(1< #define IO_SET_N(port, bit) P##port##OUT |= (1< #define IO_CLR(name) IO_##name(CLR_) #define IO_CLR_(port, bit, inv) IO_CLR_##inv(port, bit) #define IO_CLR_Y(port, bit) P##port##OUT |= (1< #define IO_CLR_N(port, bit) P##port##OUT &= ~(1< #define IO_DIR_O(name) IO_##name(DIR_O_) #define IO_DIR_I(name) IO_##name(DIR_I_) #define IO_DIR_O_(port, bit, inv) P##port##DIR |= (1< #define IO_DIR_I_(port, bit, inv) P##port##DIR &=~ (1< #define IO_TEST(name) IO_#name(TEST_) #define IO_TEST_(port, bit, inv) IO_TEST_##inv(port, bit) #define IO_TEST_Y(port, bit) ((P##port##IN & (1< #define IO_TEST_N(port, bit) ((P##port##IN & (1< #define IO_PORT(name) IO_##name(PORT_) #define IO_PORT_(port, bit, inv) port #define IO_BIT(name) IO_##name(BIT_) #define IO_BIT_(port, bit, inv) (1< #define IO_P4_MASK(m) ( m(I2C_SCK) | m(I2C_SDA) ) ….. 如上所示,你可以按照上面的方式增加自己的功能。站長提示:其實不光MSP430單片機可以用這種方法,其它微處理器也可以這種方法。象8051單片機就可以這種方法來很好的實現。
    本文地址:http://www.portaltwn.com/thread-2824-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
    • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
    • Dev Tool Bits——使用DVRT協議查看項目中的數據
    • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
    • 貿澤電子(Mouser)專區

    相關在線工具

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷