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

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

?? owicrc.s90

?? 達拉斯 1-Wire 主機通信 這份資料展示了如何把 1-Wire 主機通信在應用到一個AVR系統中
?? S90
?? 第 1 頁 / 共 2 頁
字號:
//////////////////////////////////////////////////////////////////////////////
//                                                                           /
// IAR Atmel AVR C/EC++ Compiler V3.20A/W32            19/Aug/2004  15:43:30 /
// Copyright 1996-2004 IAR Systems. All rights reserved.                     /
//                                                                           /
//    Source file  =  Z:\qvcs\AVR318 Dallas 1-wire Communication             /
//                    Interface\Source Code\IAR\common_files\OWIcrc.c        /
//    Command line =  --cpu=m32 -ms -o "Z:\qvcs\AVR318 Dallas 1-wire         /
//                    Communication Interface\Source                         /
//                    Code\IAR\polled\Debug\Obj\" -lC "Z:\qvcs\AVR318        /
//                    Dallas 1-wire Communication Interface\Source           /
//                    Code\IAR\polled\Debug\List\" -lA "Z:\qvcs\AVR318       /
//                    Dallas 1-wire Communication Interface\Source           /
//                    Code\IAR\polled\Debug\List\" --initializers_in_flash   /
//                    --root_variables -z2 --no_cse --no_inline              /
//                    --no_code_motion --no_cross_call --no_clustering       /
//                    --debug -DENABLE_BIT_DEFINITIONS -e -I "C:\Program     /
//                    Files\IAR Systems\Embedded Workbench 3.2\avr\INC\" -I  /
//                    "C:\Program Files\IAR Systems\Embedded Workbench       /
//                    3.2\avr\INC\CLIB\" --eeprom_size 1024 "Z:\qvcs\AVR318  /
//                    Dallas 1-wire Communication Interface\Source           /
//                    Code\IAR\common_files\OWIcrc.c"                        /
//    List file    =  Z:\qvcs\AVR318 Dallas 1-wire Communication             /
//                    Interface\Source Code\IAR\polled\Debug\List\OWIcrc.s90 /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME OWIcrc

        RTMODEL "__64bit_doubles", "disabled"
        RTMODEL "__cpu", "3"
        RTMODEL "__cpu_name", "ATmega32"
        RTMODEL "__enhanced_core", "enabled"
        RTMODEL "__has_elpm", "false"
        RTMODEL "__memory_model", "2"
        RTMODEL "__rt_version", "3"

        RSEG CSTACK:DATA:NOROOT(0)
        RSEG RSTACK:DATA:NOROOT(0)

        EXTERN ?EPILOGUE_B4_L09
        EXTERN ?PROLOGUE4_L09

        PUBLIC OWI_CheckRomCRC
        FUNCTION OWI_CheckRomCRC,021203H
        LOCFRAME CSTACK, 4, STACK
        LOCFRAME RSTACK, 2, STACK
        PUBLIC OWI_ComputeCRC16
        FUNCTION OWI_ComputeCRC16,0203H
        LOCFRAME RSTACK, 2, STACK
        PUBLIC OWI_ComputeCRC8
        FUNCTION OWI_ComputeCRC8,0203H
        LOCFRAME RSTACK, 2, STACK
        PUBWEAK _A_ACSR
        PUBWEAK _A_ADC
        PUBWEAK _A_ADCSRA
        PUBWEAK _A_ADMUX
        PUBWEAK _A_ASSR
        PUBWEAK _A_DDRA
        PUBWEAK _A_DDRB
        PUBWEAK _A_DDRC
        PUBWEAK _A_DDRD
        PUBWEAK _A_EEAR
        PUBWEAK _A_EECR
        PUBWEAK _A_EEDR
        PUBWEAK _A_GICR
        PUBWEAK _A_GIFR
        PUBWEAK _A_ICR1
        PUBWEAK _A_MCUCR
        PUBWEAK _A_MCUCSR
        PUBWEAK _A_OCR0
        PUBWEAK _A_OCR1A
        PUBWEAK _A_OCR1B
        PUBWEAK _A_OCR2
        PUBWEAK _A_OSCCAL
        PUBWEAK _A_PINA
        PUBWEAK _A_PINB
        PUBWEAK _A_PINC
        PUBWEAK _A_PIND
        PUBWEAK _A_PORTA
        PUBWEAK _A_PORTB
        PUBWEAK _A_PORTC
        PUBWEAK _A_PORTD
        PUBWEAK _A_SFIOR
        PUBWEAK _A_SP
        PUBWEAK _A_SPCR
        PUBWEAK _A_SPDR
        PUBWEAK _A_SPMCR
        PUBWEAK _A_SPSR
        PUBWEAK _A_SREG
        PUBWEAK _A_TCCR0
        PUBWEAK _A_TCCR1A
        PUBWEAK _A_TCCR1B
        PUBWEAK _A_TCCR2
        PUBWEAK _A_TCNT0
        PUBWEAK _A_TCNT1
        PUBWEAK _A_TCNT2
        PUBWEAK _A_TIFR
        PUBWEAK _A_TIMSK
        PUBWEAK _A_TWAR
        PUBWEAK _A_TWBR
        PUBWEAK _A_TWCR
        PUBWEAK _A_TWDR
        PUBWEAK _A_TWSR
        PUBWEAK _A_UBRRH
        PUBWEAK _A_UBRRL
        PUBWEAK _A_UCSRA
        PUBWEAK _A_UCSRB
        PUBWEAK _A_UDR
        PUBWEAK _A_WDTCR
        PUBWEAK __?EEARH
        PUBWEAK __?EEARL
        PUBWEAK __?EECR
        PUBWEAK __?EEDR
        
        CFI Names cfiNames0
        CFI StackFrame CFA_Y Y DATA
        CFI StackFrame CFA_SP SP DATA
        CFI VirtualResource ?RetPad:1, ?RetHigh:8, ?RetLow:8, ?Ret:17
        CFI Resource R0:8, R1:8, R2:8, R3:8, R4:8, R5:8, R6:8, R7:8, R8:8, R9:8
        CFI Resource R10:8, R11:8, R12:8, R13:8, R14:8, R15:8, R16:8, R17:8
        CFI Resource R18:8, R19:8, R20:8, R21:8, R22:8, R23:8, R24:8, R25:8
        CFI Resource R26:8, R27:8, R28:8, R29:8, R30:8, R31:8
        CFI Resource ?RetHighByteMask:8, SP:16, SPH:8, SPL:8, Y:16
        CFI ResourceParts ?Ret ?RetHigh, ?RetLow, ?RetPad
        CFI ResourceParts SP SPH, SPL
        CFI ResourceParts Y R29, R28
        CFI EndNames cfiNames0
        
        CFI Common cfiCommon0 Using cfiNames0
        CFI CodeAlign 1
        CFI DataAlign 1
        CFI ReturnAddress ?Ret CODE
        CFI CFA_Y Y+0
        CFI CFA_SP SP+2
        CFI ?RetPad 0
        CFI ?RetHigh and(load(1, DATA, sub(CFA_SP, 1)), ?RetHighByteMask)
        CFI ?RetLow Frame(CFA_SP, 0)
        CFI ?Ret Concat
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 SameValue
        CFI R13 SameValue
        CFI R14 SameValue
        CFI R15 SameValue
        CFI R16 Undefined
        CFI R17 Undefined
        CFI R18 Undefined
        CFI R19 Undefined
        CFI R20 Undefined
        CFI R21 Undefined
        CFI R22 Undefined
        CFI R23 Undefined
        CFI R24 SameValue
        CFI R25 SameValue
        CFI R26 SameValue
        CFI R27 SameValue
        CFI R28 Undefined
        CFI R29 Undefined
        CFI R30 Undefined
        CFI R31 Undefined
        CFI ?RetHighByteMask SameValue
        CFI SPH Undefined
        CFI SPL Undefined
        CFI EndCommon cfiCommon0
        
// Z:\qvcs\AVR318 Dallas 1-wire Communication Interface\Source Code\IAR\common_files\OWIcrc.c
//    1 // This file has been prepared for Doxygen automatic documentation generation.
//    2 /*! \file ********************************************************************
//    3 *
//    4 * Atmel Corporation
//    5 *
//    6 * \li File:               OWIcrc.c
//    7 * \li Compiler:           IAR EWAAVR 3.20a
//    8 * \li Support mail:       avr@atmel.com
//    9 *
//   10 * \li Supported devices:  All AVRs.
//   11 *
//   12 * \li Application Note:   AVR318 - Dallas 1-Wire(R) master.
//   13 *                         
//   14 *
//   15 * \li Description:        CRC algorithms typically used in a 1-Wire(R) 
//   16 *                         environment.
//   17 *
//   18 *                         $Revision: 1.6 $
//   19 *                         $Date: Thursday, August 19, 2004 09:02:00 UTC $
//   20 ****************************************************************************/
//   21 
//   22 #include "OWIcrc.h"
//   23 #include "OWIdefs.h"
//   24 
//   25 
//   26 /*! \brief  Compute the CRC8 value of a data set.
//   27  *
//   28  *  This function will compute the CRC8 or DOW-CRC of inData using seed
//   29  *  as inital value for the CRC.
//   30  *
//   31  *  \param  inData  One byte of data to compute CRC from.
//   32  *
//   33  *  \param  seed    The starting value of the CRC.
//   34  *
//   35  *  \return The CRC8 of inData with seed as initial value.
//   36  *
//   37  *  \note   Setting seed to 0 computes the crc8 of the inData.
//   38  *
//   39  *  \note   Constantly passing the return value of this function 
//   40  *          As the seed argument computes the CRC8 value of a
//   41  *          longer string of data.
//   42  */

        RSEG CODE:CODE:NOROOT(1)
//   43 unsigned char OWI_ComputeCRC8(unsigned char inData, unsigned char seed)
OWI_ComputeCRC8:
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function OWI_ComputeCRC8
//   44 {
	MOV	R19,R16
	MOV	R16,R17
//   45     unsigned char bitsLeft;
//   46     unsigned char temp;
//   47 
//   48     for (bitsLeft = 8; bitsLeft > 0; bitsLeft--)
	LDI	R17,8
??OWI_ComputeCRC8_0:
	CPI	R17,1
	BRCS	??OWI_ComputeCRC8_1
//   49     {
//   50         temp = ((seed ^ inData) & 0x01);
	MOV	R21,R16
	ANDI	R21,0x01
	MOV	R18,R19
	ANDI	R18,0x01
	EOR	R18,R21
	ANDI	R18,0x01
	MOV	R20,R18
//   51         if (temp == 0)
	TST	R20
	BRNE	??OWI_ComputeCRC8_2
//   52         {
//   53             seed >>= 1;
	LSR	R16
	RJMP	??OWI_ComputeCRC8_3
//   54         }
//   55         else
//   56         {
//   57             seed ^= 0x18;
??OWI_ComputeCRC8_2:
	LDI	R18,24
	EOR	R16,R18
//   58             seed >>= 1;
	LSR	R16
//   59             seed |= 0x80;
	ORI	R16,0x80
//   60         }
//   61         inData >>= 1;
??OWI_ComputeCRC8_3:
	LSR	R19
//   62     }
	DEC	R17
	RJMP	??OWI_ComputeCRC8_0
//   63     return seed;    
??OWI_ComputeCRC8_1:
	RET
        CFI EndBlock cfiBlock0
//   64 }
//   65 
//   66 
//   67 /*! \brief  Compute the CRC16 value of a data set.
//   68  *
//   69  *  This function will compute the CRC16 of inData using seed
//   70  *  as inital value for the CRC.
//   71  *
//   72  *  \param  inData  One byte of data to compute CRC from.
//   73  *
//   74  *  \param  seed    The starting value of the CRC.
//   75  *
//   76  *  \return The CRC16 of inData with seed as initial value.
//   77  *
//   78  *  \note   Setting seed to 0 computes the crc16 of the inData.
//   79  *
//   80  *  \note   Constantly passing the return value of this function 
//   81  *          As the seed argument computes the CRC16 value of a
//   82  *          longer string of data.
//   83  */

        RSEG CODE:CODE:NOROOT(1)
//   84 unsigned int OWI_ComputeCRC16(unsigned char inData, unsigned int seed)
OWI_ComputeCRC16:
        CFI Block cfiBlock1 Using cfiCommon0
        CFI Function OWI_ComputeCRC16
//   85 {
	MOV	R21,R16
//   86     unsigned char bitsLeft;
//   87     unsigned char temp;
//   88 
//   89     for (bitsLeft = 8; bitsLeft > 0; bitsLeft--)
	LDI	R20,8
??OWI_ComputeCRC16_0:
	CPI	R20,1
	BRCS	??OWI_ComputeCRC16_1
//   90     {
//   91         temp = ((seed ^ inData) & 0x01);
	MOV	R17,R18
	ANDI	R17,0x01
	MOV	R16,R21
	ANDI	R16,0x01
	EOR	R16,R17
	ANDI	R16,0x01
	MOV	R22,R16
//   92         if (temp == 0)
	TST	R22
	BRNE	??OWI_ComputeCRC16_2
//   93         {
//   94             seed >>= 1;
	LSR	R19
	ROR	R18
	RJMP	??OWI_ComputeCRC16_3
//   95         }
//   96         else
//   97         {
//   98             seed ^= 0x4002;
??OWI_ComputeCRC16_2:
	LDI	R16,2
	LDI	R17,64
	EOR	R18,R16
	EOR	R19,R17
//   99             seed >>= 1;
	LSR	R19
	ROR	R18
//  100             seed |= 0x8000;
	ORI	R19,0x80
//  101         }
//  102         inData >>= 1;
??OWI_ComputeCRC16_3:
	LSR	R21
//  103     }
	DEC	R20
	RJMP	??OWI_ComputeCRC16_0
//  104     return seed;    
??OWI_ComputeCRC16_1:
	MOVW	R17 : R16,R19 : R18
	RET
        CFI EndBlock cfiBlock1
//  105 }
//  106 
//  107 
//  108 /*! \brief  Calculate and check the CRC of a 64 bit ROM identifier.
//  109  *  
//  110  *  This function computes the CRC8 value of the first 56 bits of a
//  111  *  64 bit identifier. It then checks the calculated value against the
//  112  *  CRC value stored in ROM.
//  113  *
//  114  *  \param  romvalue    A pointer to an array holding a 64 bit identifier.
//  115  *
//  116  *  \retval OWI_CRC_OK      The CRC's matched.
//  117  *  \retval OWI_CRC_ERROR   There was a discrepancy between the calculated and the stored CRC.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影免费观看完整版| 日韩一区在线播放| 亚洲欧美一区二区三区极速播放| 亚洲综合激情另类小说区| 国产一区二区三区黄视频| 欧美在线观看你懂的| 国产欧美一区二区精品仙草咪| 亚洲综合av网| av爱爱亚洲一区| 久久综合久久久久88| 午夜久久久久久电影| 成人av动漫网站| 久久夜色精品国产欧美乱极品| 亚洲午夜成aⅴ人片| 9色porny自拍视频一区二区| 精品欧美一区二区在线观看| 亚洲高清视频在线| 日本精品一区二区三区高清| 久久久不卡网国产精品一区| 轻轻草成人在线| 欧美日韩在线精品一区二区三区激情| 国产三级欧美三级日产三级99 | 欧美最新大片在线看| 国产欧美一区二区三区在线看蜜臀 | 国产精品国产三级国产aⅴ原创 | 国产欧美精品国产国产专区| 麻豆精品视频在线| 欧美电影在线免费观看| 亚洲h动漫在线| 欧美色精品天天在线观看视频| 中文字幕在线一区| 成人午夜av在线| 亚洲国产精品欧美一二99| 在线观看欧美日本| 亚洲小说春色综合另类电影| 色综合久久88色综合天天| 亚洲欧洲制服丝袜| 91激情五月电影| 亚洲国产成人91porn| 欧美日韩高清一区| 日韩成人午夜精品| 日韩精品中午字幕| 国产一区二区毛片| 国产清纯在线一区二区www| 国产91精品久久久久久久网曝门 | 国产精品一区二区三区乱码| 久久蜜桃香蕉精品一区二区三区| 韩国v欧美v日本v亚洲v| 国产亚洲欧美色| 97久久精品人人爽人人爽蜜臀| 综合久久久久久久| 欧美三级视频在线播放| 日韩精品一二三区| 久久男人中文字幕资源站| 成人av在线看| 亚洲va韩国va欧美va精品| 精品欧美乱码久久久久久1区2区| 国产成人精品午夜视频免费| 中文字幕一区二区三区视频| 欧美体内she精高潮| 色av成人天堂桃色av| 亚洲国产成人高清精品| www国产亚洲精品久久麻豆| 不卡一二三区首页| 日韩高清不卡一区二区| 久久久久久久网| 91免费国产在线| 日韩电影免费在线观看网站| 国产精品视频观看| 91精品欧美福利在线观看| 国产成人免费视频| 午夜精品久久久久久不卡8050| 久久蜜桃香蕉精品一区二区三区| 色婷婷国产精品综合在线观看| 麻豆91精品视频| 亚洲图片另类小说| 亚洲精品一区在线观看| 日本韩国一区二区| 国产激情一区二区三区四区 | 国产精品久久久久久福利一牛影视| 欧美性欧美巨大黑白大战| 麻豆传媒一区二区三区| 一片黄亚洲嫩模| 久久蜜桃一区二区| 欧美一区二区三区男人的天堂| 成人中文字幕电影| 久久黄色级2电影| 亚洲一级二级在线| 中文字幕中文字幕一区二区| 欧美一级黄色录像| 欧美日本一区二区三区| 99免费精品视频| 国产成人亚洲精品青草天美| 日本中文字幕不卡| 亚洲国产中文字幕在线视频综合| 国产精品午夜免费| 久久久久久免费毛片精品| 538prom精品视频线放| 成人小视频免费观看| 久久99精品久久久久久国产越南 | 久久综合色8888| 欧美一区二区三区精品| 欧美视频一区二| 91免费精品国自产拍在线不卡| 成人一区二区三区视频 | www精品美女久久久tv| 日韩一区二区免费高清| 7777精品伊人久久久大香线蕉完整版| 日本黄色一区二区| 欧美最猛黑人xxxxx猛交| 色综合久久六月婷婷中文字幕| 大陆成人av片| 成人高清视频在线观看| 成人精品电影在线观看| 成人一级黄色片| 粉嫩aⅴ一区二区三区四区五区 | 久久久久久久综合狠狠综合| 久久久国产综合精品女国产盗摄| 精品国精品国产| 久久综合狠狠综合久久综合88| 精品国产露脸精彩对白| 久久无码av三级| 国产午夜精品理论片a级大结局| 精品福利一区二区三区免费视频| 欧美一区二区三区在线视频| 日韩视频免费直播| 欧美成人官网二区| 国产色91在线| 国产成人在线看| 粉嫩av一区二区三区在线播放 | 国产不卡视频在线播放| 国产成人综合视频| 日本乱码高清不卡字幕| 91精品国产欧美一区二区18| 91麻豆精品国产91久久久使用方法| 欧美一区二区三区视频| 久久色视频免费观看| 国产精品乱码一区二三区小蝌蚪| 亚洲欧美日韩久久精品| 日本午夜精品视频在线观看 | 精品一区精品二区高清| 国产 日韩 欧美大片| 91在线观看视频| 制服丝袜日韩国产| 亚洲国产高清不卡| 亚洲影视在线播放| 亚洲一区二区在线播放相泽| 久久九九久精品国产免费直播| 国产精品午夜久久| 亚洲综合视频网| 中文字幕精品一区| 日韩av在线免费观看不卡| 久久av老司机精品网站导航| 国产精品一二三四| 欧美少妇性性性| www一区二区| 一区二区三区在线视频免费| 亚洲国产va精品久久久不卡综合| 国产一区二区网址| av一区二区三区四区| 色噜噜偷拍精品综合在线| 欧美一区二区在线观看| 国产亚洲欧洲997久久综合 | 欧美这里有精品| 久久久三级国产网站| 国产精品久久久久影院老司| 1024亚洲合集| 蜜桃av噜噜一区二区三区小说| 成人的网站免费观看| 欧美日韩日日骚| 国产欧美精品在线观看| 亚洲摸摸操操av| 免费的国产精品| 色婷婷av一区二区三区之一色屋| 日韩午夜激情av| 亚洲成人av一区| 成年人网站91| 日韩美女一区二区三区四区| 国产精品色眯眯| 国产成人小视频| 日韩精品综合一本久道在线视频| 国产精品久久一卡二卡| 亚洲成人免费在线| 色香色香欲天天天影视综合网| 日韩欧美电影一二三| 亚洲视频电影在线| 蜜桃av一区二区三区电影| 欧美老女人第四色| 欧美大度的电影原声| 依依成人精品视频| 黄一区二区三区| 久久亚洲综合色一区二区三区| 亚洲无人区一区| 色哟哟在线观看一区二区三区| 国产精品久久综合| 国产999精品久久| 欧美videos中文字幕| 亚洲黄色av一区| 欧美色倩网站大全免费| 亚洲男人天堂一区|