亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ma_io.c

?? avr Rtos 255 Task avr Rtos 255 Task
?? C
?? 第 1 頁 / 共 2 頁
字號:
        /*--- Port G ---*/
        ClrBit( DDRG, BitMask );
        break;

    default:
        /*--- Handle user code on function exit ---*/
     //   EXIT_MA_SETPORTIN_IO;

        /*--- Illegal port ---*/
        return MA_ERROR;
    }

    /*--- Handle user code on function exit ---*/
   // EXIT_MA_SETPORTIN_IO;

    return MA_OK;

}  /* MA_SetPortIn_IO */





S8 MA_SetPortOut_IO( U8 Port, U8 BitMask )
/*
**---------------------------------------------------------------------------
**
**  Abstract:
**      Reprograms selected I/O pins as output pins.
**
**  Parameters:
**      Port      The port to reprogram (MA_PORTA - MA_PORTG)
**      BitMask   Set a bit to program the corresponding pin to output
**
**  Returns:
**      MA_ERROR  If an illegal port was given.
**      MA_OK     Otherwise.
**
**---------------------------------------------------------------------------
*/
{
    /*--- Handle user code on function entry ---*/
  //  ENTER_MA_SETPORTOUT_IO;

    /*--- Set selected pins as output pins ---*/
    switch( Port )
    {
    case MA_PORTA:
        /*--- Port A ---*/
        SetBit( DDRA, BitMask );
        break;

    case MA_PORTB:
        /*--- Port B ---*/
        SetBit( DDRB, BitMask );
        break;

    case MA_PORTC:
        /*--- Port C ---*/
        SetBit( DDRC, BitMask );
        break;

    case MA_PORTD:
        /*--- Port D ---*/
        SetBit( DDRD, BitMask );
        break;

    case MA_PORTE:
        /*--- Port E ---*/
        SetBit( DDRE, BitMask );
        break;

    case MA_PORTF:
        /*--- Port F ---*/
        SetBit( DDRF, BitMask );
        break;

    case MA_PORTG:
        /*--- Port G ---*/
        SetBit( DDRG, BitMask );
        break;

    default:
        /*--- Handle user code on function exit ---*/
   //     EXIT_MA_SETPORTOUT_IO;

        /*--- Illegal port ---*/
        return MA_ERROR;
    }

    /*--- Handle user code on function exit ---*/
 //   EXIT_MA_SETPORTOUT_IO;

    return MA_OK;

}  /* MA_SetPortOut_IO */





S8 MA_ReadPort_IO( U8 Port )
/*
**---------------------------------------------------------------------------
**
**  Abstract:
**      Reads data from the selected I/O port. Each port pin in the read
**      port will be mapped to the corresponding bit in the return value.
**
**  Parameters:
**      Port      The port to reprogram (MA_PORTA - MA_PORTG)
**
**  Returns:
**      MA_ERROR    If an illegal port was given
**      The read data otherwise.
**
**---------------------------------------------------------------------------
*/
{
    U8 Data;

    /*--- Handle user code on function entry ---*/
  //  ENTER_MA_READPORT_IO;

    /*--- Read port ---*/
    switch( Port )
    {
    case MA_PORTA:
        /*--- Port A ---*/
        Data = PINA;
        break;

    case MA_PORTB:
        /*--- Port B ---*/
        Data = PINB;
        break;

    case MA_PORTC:
        /*--- Port C ---*/
        Data = PINC;
        break;

    case MA_PORTD:
        /*--- Port D ---*/
        Data = PIND;
        break;

    case MA_PORTE:
        /*--- Port E ---*/
        Data = PINE;
        break;

    case MA_PORTF:
        /*--- Port F ---*/
        Data = PINF;
        break;

    case MA_PORTG:
        /*--- Port G ---*/
        Data = PING;
        break;

    default:
        /*--- Handle user code on function exit ---*/
    //    EXIT_MA_READPORT_IO;

        /*--- Illegal port ---*/
        return MA_ERROR;
    }

    /*--- Handle user code on function exit ---*/
 //   EXIT_MA_READPORT_IO;

    /*--- Return read port value ---*/
    return Data;

}   /* MA_ReadPort_IO */





S8 MA_WritePort_IO( U8 Port, U8 Value, U8 BitMask )
/*
**---------------------------------------------------------------------------
**
**  Abstract:
**      Writes data to the selected I/O port. Each bit in the selected
**      port which has a corresponding bit set in the bitmask, will
**      output the bit value that are defined in the 'Value' parameter.
**
**  Parameters:
**      Port       The port to reprogram (MA_PORTA - MA_PORTG)
**      Value      The data to write
**      BitMask    Bitmask which selects the bits in the port to change
**
**  Returns:
**      MA_ERROR    If an illegal port was given
**      MA_OK       Otherwise
**
**---------------------------------------------------------------------------
*/
{
    /*--- Handle user code on function entry ---*/
  //  ENTER_MA_WRITEPORT_IO;

    /*--- Write port ---*/
    switch( Port )
    {
    case MA_PORTA:
        /*--- Port A ---*/
        PORTA &= Value | ~BitMask;
        PORTA |= Value & BitMask;
        break;

    case MA_PORTB:
        /*--- Port B ---*/
        PORTB &= Value | ~BitMask;
        PORTB |= Value & BitMask;
        break;

    case MA_PORTC:
        /*--- Port C ---*/
        PORTC &= Value | ~BitMask;
        PORTC |= Value & BitMask;
        break;

    case MA_PORTD:
        /*--- Port D ---*/
        PORTD &= Value | ~BitMask;
        PORTD |= Value & BitMask;
        break;

    case MA_PORTE:
        /*--- Port E ---*/
        PORTE &= Value | ~BitMask;
        PORTE |= Value & BitMask;
        break;

    case MA_PORTF:
        /*--- Port F ---*/
        PORTF &= Value | ~BitMask;
        PORTF |= Value & BitMask;
        break;

    case MA_PORTG:
        /*--- Port G ---*/
        PORTG &= Value | ~BitMask;
        PORTG |= Value & BitMask;
        break;

    default:
        /*--- Handle user code on function exit ---*/
     //   EXIT_MA_WRITEPORT_IO;

        /*--- Illegal port ---*/
        return MA_ERROR;
    }

    /*--- Handle user code on function exit ---*/
  //  EXIT_MA_WRITEPORT_IO;

    return MA_OK;

}   /* MA_WritePort_IO */





/*
**===========================================================================
**  5.      INTERNAL FUNCTIONS (declared in Section 3.5)
**===========================================================================
*/

/*
**===========================================================================
** END OF FILE
**===========================================================================
*/


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱一区二区| 国产精品亚洲午夜一区二区三区| 亚洲精品在线观| 欧美精品视频www在线观看| 91福利社在线观看| 欧美日韩精品三区| 欧美乱妇15p| 日韩视频在线观看一区二区| 91精品在线麻豆| 欧美一区二区在线看| 欧美一区二区三区电影| 日韩欧美一级在线播放| 精品国产一区久久| 国产三区在线成人av| 国产精品女主播av| 亚洲欧美乱综合| 日韩电影免费一区| 韩国精品免费视频| jiyouzz国产精品久久| 一本久久综合亚洲鲁鲁五月天 | 日韩欧美国产精品一区| 日韩午夜在线播放| 国产欧美日韩精品a在线观看| 国产精品毛片久久久久久| 亚洲精品免费看| 午夜精品福利久久久| 精久久久久久久久久久| 成人国产电影网| 欧美日韩国产另类不卡| 欧美大片拔萝卜| 国产精品久久久久久久久免费相片 | 麻豆成人在线观看| 国产电影一区二区三区| 在线观看日产精品| 精品欧美一区二区久久| 亚洲精品一二三区| 国产在线精品一区二区三区不卡 | 欧美日韩精品欧美日韩精品| 精品国产乱码久久久久久牛牛| 欧美国产成人精品| 性做久久久久久| 福利视频网站一区二区三区| 欧美视频中文字幕| 国产网站一区二区| 日本亚洲三级在线| 91在线视频免费91| 久久奇米777| 亚洲影视在线观看| 成人一区二区视频| 日韩一区二区三区视频在线观看| 国产精品久久久久影院色老大 | 亚洲视频一区在线| 国内精品免费**视频| 欧美午夜在线一二页| 久久精品无码一区二区三区| 天天操天天综合网| 91在线国产观看| 国产欧美一区二区精品秋霞影院| 婷婷夜色潮精品综合在线| 91伊人久久大香线蕉| 精品久久一二三区| 青青草一区二区三区| 欧美性猛交xxxx乱大交退制版| 国产精品久久久久久久久动漫| 久久电影网站中文字幕| 91精品国产综合久久福利软件 | 91精品国产综合久久精品图片| 国产精品国产自产拍高清av王其| 理论电影国产精品| 日韩一区二区三区免费观看| 婷婷中文字幕一区三区| 欧美日韩国产综合草草| 一区二区三区欧美日| 色香蕉成人二区免费| 亚洲蜜臀av乱码久久精品 | 青娱乐精品视频| 欧美日韩国产高清一区二区三区 | 欧美高清性hdvideosex| 亚洲精品日日夜夜| 欧美日韩精品是欧美日韩精品| 亚洲一区二区欧美激情| 欧美精品视频www在线观看| 婷婷综合五月天| 日韩欧美国产一二三区| 精品一区二区三区视频| 久久久久国产一区二区三区四区 | 欧美一区二区在线不卡| 日韩电影免费在线看| 日韩美女视频在线| 国产成人激情av| 国产精品国产三级国产有无不卡 | 日精品一区二区三区| 6080yy午夜一二三区久久| 日韩精品高清不卡| 精品欧美乱码久久久久久1区2区 | 91片在线免费观看| 亚洲一区在线视频| 欧美一区二区三区思思人| 国产美女在线精品| 亚洲精品高清视频在线观看| 91.麻豆视频| 国产精品亚洲成人| 亚洲毛片av在线| 日韩一区二区在线看| 成人国产精品免费网站| 亚洲第一激情av| 日本一区二区视频在线观看| 91行情网站电视在线观看高清版| 免费高清视频精品| 中文一区二区完整视频在线观看| 欧洲一区在线电影| 国产精品一级黄| 亚洲综合小说图片| 久久久蜜臀国产一区二区| 91久久精品午夜一区二区| 九色综合国产一区二区三区| 亚洲美女一区二区三区| 久久综合色综合88| 欧美美女bb生活片| 99久久777色| 国产大陆精品国产| 奇米影视一区二区三区| 中文字幕五月欧美| 久久影院午夜论| 911精品国产一区二区在线| 99久久婷婷国产综合精品| 蜜桃av一区二区| 一区二区三区欧美| 最近中文字幕一区二区三区| 欧美tickle裸体挠脚心vk| 日韩一级片在线播放| 欧美亚洲国产怡红院影院| 国产成人免费视频| 久久成人久久鬼色| 午夜亚洲福利老司机| 亚洲欧美色综合| 欧美国产欧美亚州国产日韩mv天天看完整 | 五月天国产精品| 亚洲自拍偷拍图区| 亚洲男人天堂一区| 国产精品美女www爽爽爽| 久久久精品国产99久久精品芒果| 制服丝袜亚洲播放| 精品视频在线看| 在线精品观看国产| 在线一区二区观看| 日本精品裸体写真集在线观看| 国产成人福利片| 国产成人午夜精品5599| 激情亚洲综合在线| 久久精品国产亚洲高清剧情介绍| 视频一区国产视频| 日本视频中文字幕一区二区三区| 亚洲自拍欧美精品| 亚洲大片免费看| 日韩精品一卡二卡三卡四卡无卡| 亚洲成人动漫在线观看| 午夜精品久久久久| 免费av网站大全久久| 久久精品国产精品青草| 精品一区二区综合| 国产suv一区二区三区88区| 国产成人aaa| youjizz国产精品| 在线视频亚洲一区| 久久亚洲影视婷婷| 国产亚洲一区字幕| 国产精品欧美精品| 亚洲国产精品综合小说图片区| 亚洲一区二区免费视频| 美女视频黄a大片欧美| 国产一区二区精品久久99| 成人免费观看av| 欧美午夜免费电影| 日韩欧美在线网站| 久久精品免视看| 伊人色综合久久天天人手人婷| 天堂影院一区二区| 国产乱国产乱300精品| 在线免费观看一区| 欧美精品一区二区蜜臀亚洲| 国产精品麻豆一区二区| 亚洲黄色小视频| 久久不见久久见免费视频1| 国产成人亚洲综合a∨婷婷| 一本久久a久久免费精品不卡| 欧美一级日韩不卡播放免费| 国产香蕉久久精品综合网| 亚洲欧美日韩电影| 狠狠色综合色综合网络| 色婷婷一区二区三区四区| 精品欧美一区二区久久| 亚洲一区二区视频| 国产精品一区在线观看乱码| 欧美影视一区在线| 国产精品免费aⅴ片在线观看| 午夜久久久久久电影| 成人爱爱电影网址| 精品欧美一区二区在线观看| 一区二区三区色|