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

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

?? owicrc.s90

?? 達拉斯 1-Wire 主機通信 這份資料展示了如何把 1-Wire 主機通信在應用到一個AVR系統(tǒng)中
?? 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一区二区三区免费野_久草精品视频
极品美女销魂一区二区三区免费| 日韩欧美不卡一区| 亚洲午夜一二三区视频| 在线观看日韩国产| 日韩国产精品大片| 欧美精品一区二区高清在线观看| 国产麻豆精品theporn| 欧美国产乱子伦| 色婷婷国产精品综合在线观看| 午夜精品爽啪视频| 精品国精品自拍自在线| 成人高清视频免费观看| 亚洲一区二区精品视频| 欧美一区二区三区视频| 国产91精品久久久久久久网曝门| 亚洲日穴在线视频| 91精品国产手机| 成人v精品蜜桃久久一区| 亚洲国产成人高清精品| 337p日本欧洲亚洲大胆色噜噜| 99久久伊人网影院| 日韩精品一区第一页| 国产日韩精品一区| 欧美精品少妇一区二区三区| 国产美女娇喘av呻吟久久| 亚洲精品少妇30p| 日韩欧美一区二区久久婷婷| 豆国产96在线|亚洲| 日韩精品亚洲专区| 亚洲日本韩国一区| 久久久精品蜜桃| 欧美三级资源在线| 粉嫩嫩av羞羞动漫久久久| 五月天婷婷综合| 亚洲日本欧美天堂| 国产亚洲欧美一级| 制服丝袜激情欧洲亚洲| aaa亚洲精品| 国产美女在线精品| 午夜精品成人在线视频| 国产精品久久毛片a| 91精品国产aⅴ一区二区| 一本一道久久a久久精品| 国产精品66部| 久久精品国产网站| 丝瓜av网站精品一区二区 | 99久久综合狠狠综合久久| 日韩精品电影一区亚洲| 亚洲少妇中出一区| 国产精品欧美久久久久一区二区| 欧美一级电影网站| 欧美日韩免费视频| 色一区在线观看| bt欧美亚洲午夜电影天堂| 精品一区二区三区视频在线观看| 日韩激情在线观看| 亚洲国产欧美日韩另类综合| 亚洲欧洲日韩女同| 中文字幕不卡在线| 久久久久久久久久久久久夜| 欧美一区二区三区色| 777午夜精品免费视频| 精品视频色一区| 欧美色视频一区| 日本精品一级二级| 色香色香欲天天天影视综合网 | 一本久久综合亚洲鲁鲁五月天| 国产精品自在在线| 国产福利一区二区三区视频| 国产在线看一区| 国产麻豆欧美日韩一区| 国产一区二区在线视频| 激情六月婷婷综合| 国产黄色精品网站| zzijzzij亚洲日本少妇熟睡| 高清国产午夜精品久久久久久| 国产999精品久久久久久| 夫妻av一区二区| 99久久精品费精品国产一区二区| 成人动漫精品一区二区| www.在线成人| 色欧美片视频在线观看| 欧美色欧美亚洲另类二区| 欧美精品久久一区| 91精品国产综合久久久久久漫画| 91精品国产丝袜白色高跟鞋| 精品国精品自拍自在线| 欧美激情一区二区三区四区 | 欧美视频三区在线播放| 欧美猛男男办公室激情| 欧美一级高清片在线观看| 久久综合给合久久狠狠狠97色69| 久久夜色精品国产噜噜av| 国产精品久久午夜夜伦鲁鲁| 一区2区3区在线看| 奇米影视在线99精品| 国产精品1024久久| 色妹子一区二区| 欧美日韩黄色一区二区| 久久久久久久久久久99999| 国产亚洲一区二区三区四区| 一区二区在线观看不卡| 欧美aaa在线| 99免费精品在线| 91精品国产乱| 1区2区3区欧美| 日本中文在线一区| 不卡一卡二卡三乱码免费网站| 欧洲精品一区二区| 精品av综合导航| 亚洲精品自拍动漫在线| 精品无人码麻豆乱码1区2区| 波多野结衣中文字幕一区二区三区| 欧美在线观看一区二区| 久久天天做天天爱综合色| 亚洲免费在线观看视频| 另类调教123区 | 国产美女一区二区三区| 色婷婷亚洲一区二区三区| 日韩欧美美女一区二区三区| 国产精品久久久久久久第一福利| 日本午夜精品视频在线观看| 99热国产精品| 亚洲精品一区二区三区福利| 亚洲男人电影天堂| 国产在线看一区| 欧美精品丝袜中出| 亚洲猫色日本管| 国产麻豆精品视频| 日韩一区二区在线观看| 一区二区三区不卡在线观看| 国产精品一线二线三线精华| 欧美日韩精品综合在线| 1024精品合集| 国产成人在线观看| 日韩手机在线导航| 亚洲国产精品一区二区www在线| 岛国精品在线播放| 欧美成人aa大片| 婷婷成人激情在线网| 91性感美女视频| 欧美国产欧美亚州国产日韩mv天天看完整 | 色综合天天在线| 国产免费久久精品| 国产一二精品视频| 精品少妇一区二区三区日产乱码| 午夜电影久久久| 欧美视频精品在线| 亚洲一区二区三区美女| av亚洲精华国产精华精华| 日本一区二区三区视频视频| 精品一区二区在线视频| 日韩欧美亚洲国产精品字幕久久久| 丝袜美腿亚洲色图| 5858s免费视频成人| 午夜精品久久久久久久久| 欧美日韩成人一区| 亚洲mv大片欧洲mv大片精品| 欧美日精品一区视频| 亚洲成人动漫精品| 欧美理论电影在线| 日日骚欧美日韩| 7777精品久久久大香线蕉| 亚洲成人先锋电影| 5月丁香婷婷综合| 久久www免费人成看片高清| 欧美一级欧美三级| 九一九一国产精品| 久久久www成人免费毛片麻豆| 韩国毛片一区二区三区| 2023国产精品自拍| 国产成人精品一区二区三区网站观看| 久久嫩草精品久久久精品一| 国产99精品视频| 亚洲激情综合网| 欧美精品一级二级三级| 久久精品国产一区二区| 久久精品一区二区三区四区| 成人av在线电影| 亚洲精品视频在线看| 这里只有精品视频在线观看| 欧美a一区二区| 欧美国产激情二区三区| 91亚洲午夜精品久久久久久| 午夜视频久久久久久| 精品国免费一区二区三区| 成人h动漫精品| 一区二区三区小说| 欧美一区二区三区视频免费 | 亚洲色欲色欲www| 欧美猛男男办公室激情| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲男人天堂av| 欧美一级在线观看| 国产成人av影院| 亚洲图片有声小说| 26uuu精品一区二区在线观看| 暴力调教一区二区三区| 丝袜a∨在线一区二区三区不卡| 国产色爱av资源综合区|