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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.c

?? 達拉斯 1-Wire 主機通信 這份資料展示了如何把 1-Wire 主機通信在應(yīng)用到一個AVR系統(tǒng)中
?? C
字號:
// This file has been prepared for Doxygen automatic documentation generation.
/*! \file ********************************************************************
*
* Atmel Corporation
*
* \li File:               main.c
* \li Compiler:           IAR EWAAVR 3.20a
* \li Support mail:       avr@atmel.com
*
* \li Supported devices:  All AVRs with UART or USART module. 
*
* \li Application Note:   AVR318 - Dallas 1-Wire(R) master.
*                         
*
* \li Description:        Example on how to use the interrupt-driven 
*                         UART implementation of the 1-Wire(R) protocol.
*
*                         $Revision: 1.7 $
*                         $Date: Thursday, August 19, 2004 14:27:16 UTC $
****************************************************************************/

#include <ioavr.h>
#include <inavr.h>

#include "OWIIntFunctions.h"
#include "OWIInterruptDriven.h"
#include "..\common_files\OWIcrc.h"

void OWI_StateMachine();

// Defines used only in code example.
#define OWI_STATE_IDLE                  0
#define OWI_STATE_DETECT_PRESENCE1      1
#define OWI_STATE_WAIT_FOR_CONVERSION1  2
#define OWI_STATE_WAIT_FOR_CONVERSION2  3
#define OWI_STATE_DETECT_PRESENCE2      4
#define OWI_STATE_READ_SCRATCHPAD       5
#define OWI_STATE_CHECK_CRC             6

#define FALSE       0
#define TRUE        1

#define DS1820_START_CONVERSION         0x44    //!< DS1820 start conversion command
#define DS1820_READ_SCRATCHPAD          0xbe    //!< DS1820 Read scratchpad command

extern OWIflags OWIStatus;
extern unsigned char *OWIDataBuffer;

signed int temperature;


/*! \brief  Code example for the interrupt-driven driver.
 *
 *  This code example assumes that there is a DS1820 temperature sensor
 *  connected to the 1-Wire bus. The temperature sensor is continously 
 *  polled, and the temperature reading is output to PORTB.
 */
void main(void)
{  
    
    OWI_Init();    
    
    __enable_interrupt();
    
    // Configure PORTB as output. This can be used to output debugging values
    // to the LEDs on the STK500 development board.
    DDRB = 0xff;
    
    for(;;)
    {
        // If the 1-Wire(R) bus is not busy, run the state machine.
        if (!OWIStatus.busy)
        {
            OWI_StateMachine();    
        }        

        // Do something else while 1-Wire(R) bus is busy.
        PORTB = ~(temperature >> 1);
    }
}


/*! \brief  The state machine that controls communication on the 1-Wire bus
 *  
 *  This function is called from main every time the 1-Wire driver is not
 *  busy. The state machine will read the temperature from a DS1820 temperature
 *  sensor, crc check it, and put it in the global variable temperature if 
 *  everything is OK.
 */
void OWI_StateMachine()
{
    static unsigned char state = OWI_STATE_IDLE;
    static unsigned char buf[9];
    unsigned char i;
    unsigned char crc;
    
    // If an error has occurred since last time, clear all flags and
    // return to idle state.
    if (OWIStatus.error)
    {
        state = OWI_STATE_IDLE;
        OWIStatus.allFlags = FALSE;
    }
    
    switch (state)
    {
        case OWI_STATE_IDLE:
        {
            // Send reset signal and update state.
            OWI_DetectPresence();
            state = OWI_STATE_DETECT_PRESENCE1;
            break;
        }

        case OWI_STATE_DETECT_PRESENCE1:
        {
            // If no presence was detected, go back to idle state.
            if(OWIStatus.presenceDetected == FALSE)
            {
                state = OWI_STATE_IDLE;
            }
            // If presence was detected, send Skip ROM and Start conversion
            // signals. 
            else
            {
                buf[0] = OWI_ROM_SKIP;
                buf[1] = DS1820_START_CONVERSION;
                OWI_TransmitData(buf, 16);
                state = OWI_STATE_WAIT_FOR_CONVERSION1;
            }
            break;
        }

        case OWI_STATE_WAIT_FOR_CONVERSION1:
        {
            // Receive one byte of data to check for completion of the 
            // temperature conversion.
            OWI_ReceiveData(buf, 8);
            state = OWI_STATE_WAIT_FOR_CONVERSION2;
            break;
        }
    
        case OWI_STATE_WAIT_FOR_CONVERSION2:
        {
            // If everything received was zero. Jump to the last state
            // to receive a new byte.
            if (buf[0] == 0x00)
            {
                state = OWI_STATE_WAIT_FOR_CONVERSION1;
            }
            // If there was at least 1 one received, continue with a new
            // reset.
            else
            {
                OWI_DetectPresence();
                state = OWI_STATE_DETECT_PRESENCE2;
            }
            break;
        }
    
        case OWI_STATE_DETECT_PRESENCE2:
        {
            // If no presence was detected, go back to idle state.
            if(OWIStatus.presenceDetected == FALSE)
            {
                state = OWI_STATE_IDLE;
            }
            // If presence was detected, send Skip ROM and Read scratchpad
            // signals. 
            else
            {
                buf[0] = OWI_ROM_SKIP;
                buf[1] = DS1820_READ_SCRATCHPAD;
                OWI_TransmitData(buf, 16);
                state = OWI_STATE_READ_SCRATCHPAD;   
            }
            break;
        }
    
        case OWI_STATE_READ_SCRATCHPAD:
        {
            // Read the 9 bytes of scratchpad data.
            OWI_ReceiveData(buf, 9 * 8);
            state = OWI_STATE_CHECK_CRC;
            break;
        }
    
        case OWI_STATE_CHECK_CRC:
        {
            // Compare the computed crc with the crc read from the 
            // scratchpad. 
            crc = 0;
            for(i = 0; i < 8; i++)
            {
                crc =  OWI_ComputeCRC8(buf[i], crc);
            }
            // If they match, update the temperature variable.
            if (crc == buf[8])
            {
                temperature = buf[0] | (buf[1] << 8);                
                state = OWI_STATE_IDLE;
            }
            // If they don't match, go back to the second Reset to 
            // read the scratchpad again.
            else
            {
                OWI_DetectPresence();
                state = OWI_STATE_DETECT_PRESENCE2;
            }
            break;
        }
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草原综合久久大伊人精品优势 | 91丨porny丨在线| 中文字幕欧美国产| av电影一区二区| 一区二区激情小说| 欧美日韩1234| 国产麻豆视频精品| 中文字幕一区二区三区在线不卡| 色综合久久综合网欧美综合网| 一区二区不卡在线播放 | www激情久久| 成人午夜看片网址| 亚洲国产成人av好男人在线观看| 91.xcao| 国产精品一区二区三区乱码| 国产精品久久久久aaaa樱花| 欧美在线观看视频一区二区| 日本午夜一本久久久综合| 国产午夜精品久久久久久免费视 | 91国偷自产一区二区开放时间| 亚洲444eee在线观看| 精品久久久久久久久久久久久久久 | 一区二区三区四区在线播放| 欧美一区日本一区韩国一区| 国产成人鲁色资源国产91色综| 一区二区三区精品| 日韩免费观看2025年上映的电影| 99视频超级精品| 奇米影视一区二区三区| 国产精品国产三级国产a| 欧美美女喷水视频| 成人精品亚洲人成在线| 天天影视涩香欲综合网 | 亚洲色大成网站www久久九九| 91精品综合久久久久久| 91尤物视频在线观看| 韩国成人在线视频| 亚洲国产日日夜夜| 国产精品免费人成网站| 日韩西西人体444www| 91麻豆自制传媒国产之光| 国产自产高清不卡| 日韩综合一区二区| 亚洲精品国产无天堂网2021| 久久精品欧美一区二区三区不卡| 欧美视频在线播放| 色综合中文字幕| 丰满岳乱妇一区二区三区| 精品一区二区三区在线观看 | 欧美一级日韩不卡播放免费| 91蝌蚪porny成人天涯| 国产精品123| 精品一区二区三区的国产在线播放| 亚洲一二三区在线观看| 日韩理论片在线| 国产精品伦理在线| 国产三级欧美三级日产三级99 | 久久久激情视频| 欧美不卡视频一区| 日韩一二三区视频| 欧美日韩五月天| 欧美中文字幕亚洲一区二区va在线 | 国产亚洲美州欧州综合国| 日韩丝袜美女视频| 欧美一区二区三区视频在线观看| 欧美综合一区二区三区| 欧美亚一区二区| 在线亚洲精品福利网址导航| 色欧美乱欧美15图片| 色婷婷综合五月| 91视频xxxx| 欧美中文字幕一区二区三区亚洲| 91久久精品日日躁夜夜躁欧美| 91在线免费看| 色av综合在线| 欧美日韩中文一区| 欧美一区二区在线不卡| 制服丝袜成人动漫| 欧美大片在线观看| 久久蜜臀精品av| 国产欧美日韩三级| 一色桃子久久精品亚洲| 亚洲欧美另类久久久精品2019| 综合在线观看色| 亚洲资源中文字幕| 爽好久久久欧美精品| 麻豆视频观看网址久久| 狠狠色狠狠色综合系列| 成人污污视频在线观看| 91视视频在线观看入口直接观看www| 色女孩综合影院| 51久久夜色精品国产麻豆| 日韩一区二区在线观看视频播放| 日韩区在线观看| 欧美—级在线免费片| 亚洲精品日日夜夜| 日韩 欧美一区二区三区| 国产一区二区精品久久| 不卡av免费在线观看| 欧洲精品一区二区| 欧美成人精精品一区二区频| 久久精品人人做人人爽97| 亚洲天堂中文字幕| 琪琪久久久久日韩精品| 丰满少妇在线播放bd日韩电影| 91麻豆6部合集magnet| 欧美一级欧美三级在线观看| 久久午夜国产精品| 亚洲一二三四在线观看| 精品一区二区三区在线观看| 99re这里只有精品首页| 欧美日韩不卡在线| 中文字幕国产一区二区| 日韩精品一二三四| 成人深夜视频在线观看| 777a∨成人精品桃花网| 国产精品久久影院| 七七婷婷婷婷精品国产| 91在线高清观看| 日韩视频免费直播| 亚洲美女视频一区| 国模冰冰炮一区二区| 日本高清无吗v一区| www国产亚洲精品久久麻豆| 亚洲综合在线第一页| 国产成人免费av在线| 日韩一级成人av| 亚洲一区二区精品3399| 从欧美一区二区三区| 日韩欧美国产三级| 夜夜精品浪潮av一区二区三区| 国产一区二区三区| 51精品秘密在线观看| 亚洲乱码国产乱码精品精小说| 精品一区二区三区免费观看| 欧美日韩精品三区| 自拍偷自拍亚洲精品播放| 国产综合久久久久久久久久久久| 欧美片在线播放| 亚洲综合男人的天堂| 99riav久久精品riav| 日本一区二区久久| 国产一区二区三区久久久| 日韩亚洲欧美高清| 亚洲福利视频导航| 欧美中文字幕一二三区视频| 综合欧美亚洲日本| 成人免费高清在线观看| 久久婷婷一区二区三区| 久久精品久久精品| 欧美老年两性高潮| 亚洲成人自拍偷拍| 欧美色大人视频| 亚洲国产aⅴ成人精品无吗| 91丝袜美腿高跟国产极品老师| 国产精品色哟哟| 国产69精品久久久久777| 欧美精品一区二区三区久久久 | 国产精品污污网站在线观看| 精品一区二区免费在线观看| 日韩视频免费观看高清完整版 | 国产欧美一区二区三区鸳鸯浴| 久久99国产精品成人| 日韩女优av电影| 国产一区二区在线观看免费| 精品黑人一区二区三区久久| 久久疯狂做爰流白浆xx| 欧美不卡在线视频| 国产成人精品一区二区三区四区| 国产偷国产偷精品高清尤物| 福利一区在线观看| 中文字幕在线一区免费| 91亚洲国产成人精品一区二区三| 亚洲久草在线视频| 欧美日韩在线播放| 日本成人中文字幕在线视频| 欧美一级夜夜爽| 国产精品羞羞答答xxdd| 国产精品无遮挡| 在线看一区二区| 天天综合日日夜夜精品| 欧美精品一区二区高清在线观看| 精一区二区三区| 国产精品美女久久久久久 | 日韩电影免费在线看| 日韩午夜小视频| 国产成人自拍高清视频在线免费播放| 国产欧美一区二区三区网站| 色婷婷久久久综合中文字幕| 亚洲va中文字幕| 日韩精品一区二区在线| 国产99久久久国产精品免费看| 亚洲视频免费看| 欧美久久一二区| 国产精品1024| 亚洲国产欧美一区二区三区丁香婷| 欧美一二三在线| 北条麻妃一区二区三区| 婷婷丁香激情综合| 国产亚洲成aⅴ人片在线观看|