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

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

?? twi.lst

?? IAR5.2下 AT91SAM9260 ARM 對 MCP2515 控制源化碼
?? LST
?? 第 1 頁 / 共 5 頁
字號:
###############################################################################
#                                                                             #
#                                                       08/Mar/2009  18:02:08 #
# IAR ANSI C/C++ Compiler V5.20.2.21007/W32 EVALUATION for ARM                #
# Copyright 1999-2008 IAR Systems AB.                                         #
#                                                                             #
#    Cpu mode     =  arm                                                      #
#    Endian       =  little                                                   #
#    Source file  =  E:\IAR\at91lib\peripherals\twi\twi.c                     #
#    Command line =  E:\IAR\at91lib\peripherals\twi\twi.c -D at91sam9260 -D   #
#                    sdram -lC E:\IAR\at91sam9260-ek\basic-twi-eeprom-project #
#                    \ewp\at91sam9260_sdram\List\ --remarks --diag_suppress   #
#                    Pe826,Pe1375 -o E:\IAR\at91sam9260-ek\basic-twi-eeprom-p #
#                    roject\ewp\at91sam9260_sdram\Obj\ --no_cse --no_unroll   #
#                    --no_inline --no_code_motion --no_tbaa --no_clustering   #
#                    --no_scheduling --debug --endian=little                  #
#                    --cpu=ARM926EJ-S -e --fpu=None --dlib_config             #
#                    "D:\Program Files\IAR Systems\Embedded Workbench 5.0     #
#                    Evaluation\ARM\INC\DLib_Config_Full.h" -I                #
#                    E:\IAR\at91sam9260-ek\basic-twi-eeprom-project\ewp\..\.. #
#                    \..\at91lib\ -I E:\IAR\at91sam9260-ek\basic-twi-eeprom-p #
#                    roject\ewp\..\..\..\at91lib\boards\at91sam9260-ek\ -I    #
#                    E:\IAR\at91sam9260-ek\basic-twi-eeprom-project\ewp\..\.. #
#                    \..\at91lib\peripherals\ -I                              #
#                    E:\IAR\at91sam9260-ek\basic-twi-eeprom-project\ewp\..\.. #
#                    \..\at91lib\components\ -I E:\IAR\at91sam9260-ek\basic-t #
#                    wi-eeprom-project\ewp\..\..\..\at91lib\usb\ -I           #
#                    "D:\Program Files\IAR Systems\Embedded Workbench 5.0     #
#                    Evaluation\ARM\INC\" --interwork --cpu_mode arm -On      #
#    List file    =  E:\IAR\at91sam9260-ek\basic-twi-eeprom-project\ewp\at91s #
#                    am9260_sdram\List\twi.lst                                #
#    Object file  =  E:\IAR\at91sam9260-ek\basic-twi-eeprom-project\ewp\at91s #
#                    am9260_sdram\Obj\twi.o                                   #
#                                                                             #
#                                                                             #
###############################################################################

E:\IAR\at91lib\peripherals\twi\twi.c
      1          /* ----------------------------------------------------------------------------
      2           *         ATMEL Microcontroller Software Support 
      3           * ----------------------------------------------------------------------------
      4           * Copyright (c) 2008, Atmel Corporation
      5           *
      6           * All rights reserved.
      7           *
      8           * Redistribution and use in source and binary forms, with or without
      9           * modification, are permitted provided that the following conditions are met:
     10           *
     11           * - Redistributions of source code must retain the above copyright notice,
     12           * this list of conditions and the disclaimer below.
     13           *
     14           * Atmel's name may not be used to endorse or promote products derived from
     15           * this software without specific prior written permission.
     16           *
     17           * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
     18           * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     19           * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
     20           * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
     21           * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     22           * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
     23           * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
     24           * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     25           * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     26           * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     27           * ----------------------------------------------------------------------------
     28           */
     29          
     30          #ifndef trace_LEVEL
     31              #define trace_LEVEL  1
     32          #endif
     33          
     34          //------------------------------------------------------------------------------
     35          //         Headers
     36          //------------------------------------------------------------------------------
     37          
     38          #include "twi.h"
     39          #include <pio/pio.h>
     40          #include <pmc/pmc.h>
     41          #include <utility/math.h>
     42          #include <utility/assert.h>
     43          #include <utility/trace.h>
     44          
     45          #define TWI_CLOCK 	100000
     46          #define  ERROR 	(AT91C_TWI_NACK_SLAVE)		//狀態寄存器的一位,如果置1表示從機未應答
     47          
     48          //------------------------------------------------------------------------------
     49          //         Global functions
     50          //------------------------------------------------------------------------------
     51          
     52          
     53          //*=============================================================================
     54          //* \fn    AT91F_TWI_CfgPIO
     55          //* \brief Configure PIO controllers to drive TWI signals
     56          //*=============================================================================

   \                                 In section .text, align 4, keep-with-next
     57          void TWI_CfgPIO (void)
     58          {
   \                     TWI_CfgPIO:
   \   00000000   00502DE9           PUSH     {R12,LR}
     59          	// Configure PIO controllers to periph mode
     60          	PIO_CfgPeriph(AT91C_BASE_PIOA,                      // PIO controller base address
     61          		      ((unsigned int) AT91C_PA23_TWD     ) |
     62          		      ((unsigned int) AT91C_PA24_TWCK    ), // Peripheral A
     63          		      0); // Peripheral B
   \   00000004   0020A0E3           MOV      R2,#+0
   \   00000008   6017A0E3           MOV      R1,#+25165824
   \   0000000C   FF00E0E3           MVN      R0,#+255
   \   00000010   B00EC0E3           BIC      R0,R0,#0xB00
   \   00000014   ........           BL       PIO_CfgPeriph
     64          }
   \   00000018   0180BDE8           POP      {R0,PC}          ;; return
     65          
     66          
     67          //*=============================================================================
     68          //* 函數名稱:TWI_Configure
     69          //* 函數功能:配置 TWI 時鐘及模式
     70          //* 入口參數:1. twck: TWI 指針
     71          //*           2. mck : 系統主頻
     72          //* 返回值  :無
     73          //*=============================================================================

   \                                 In section .text, align 4, keep-with-next
     74          void TWI_Configure(AT91S_TWI *pTwi, unsigned int twck, unsigned int mck)
     75          {
   \                     TWI_Configure:
   \   00000000   F0472DE9           PUSH     {R4-R10,LR}
   \   00000004   0080B0E1           MOVS     R8,R0
   \   00000008   0190B0E1           MOVS     R9,R1
   \   0000000C   0240B0E1           MOVS     R4,R2
     76              unsigned int ckdiv = 0;
   \   00000010   0000A0E3           MOV      R0,#+0
   \   00000014   0050B0E1           MOVS     R5,R0
     77              unsigned int cldiv;
     78              unsigned char ok = 0;
   \   00000018   0000A0E3           MOV      R0,#+0
   \   0000001C   0070B0E1           MOVS     R7,R0
     79          
     80              trace_LOG(trace_DEBUG, "-D- TWI_Configure()\r\n");
     81              SANITY_CHECK(pTwi);
   \   00000020   000058E3           CMP      R8,#+0
   \   00000024   0400001A           BNE      ??TWI_Configure_0
   \   00000028   5120A0E3           MOV      R2,#+81
   \   0000002C   ........           LDR      R1,??DataTable34  ;; `?<Constant "E:\\\\IAR\\\\at91lib\\\\periph...">`
   \   00000030   ........           LDR      R0,??DataTable35  ;; `?<Constant "Sanity check failed a...">`
   \   00000034   ........           BL       printf
   \                     ??TWI_Configure_1:
   \   00000038   FEFFFFEA           B        ??TWI_Configure_1
     82          
     83              // Reset the TWI
     84              pTwi->TWI_CR = AT91C_TWI_SWRST;
   \                     ??TWI_Configure_0:
   \   0000003C   8000A0E3           MOV      R0,#+128
   \   00000040   000088E5           STR      R0,[R8, #+0]
     85          
     86              // Set master mode
     87              pTwi->TWI_CR = AT91C_TWI_MSEN;
   \   00000044   0400A0E3           MOV      R0,#+4
   \   00000048   000088E5           STR      R0,[R8, #+0]
     88          
     89              // Configure clock
     90              while (!ok) 
   \                     ??TWI_Configure_2:
   \   0000004C   FF7017E2           ANDS     R7,R7,#0xFF      ;; Zero extend
   \   00000050   000057E3           CMP      R7,#+0
   \   00000054   1300001A           BNE      ??TWI_Configure_3
     91              { 
     92                  cldiv = ((mck / (2 * twck)) - 3) / power(2, ckdiv);
   \   00000058   0400B0E1           MOVS     R0,R4
   \   0000005C   0220A0E3           MOV      R2,#+2
   \   00000060   920911E0           MULS     R1,R2,R9
   \   00000064   ........           BL       __aeabi_uidivmod
   \   00000068   030050E2           SUBS     R0,R0,#+3
   \   0000006C   00A0B0E1           MOVS     R10,R0
   \   00000070   0510B0E1           MOVS     R1,R5
   \   00000074   0200A0E3           MOV      R0,#+2
   \   00000078   ........           BL       power
   \   0000007C   0010B0E1           MOVS     R1,R0
   \   00000080   0A00B0E1           MOVS     R0,R10
   \   00000084   ........           BL       __aeabi_uidivmod
   \   00000088   0060B0E1           MOVS     R6,R0
     93                  if (cldiv <= 255) 
   \   0000008C   400F56E3           CMP      R6,#+256
   \   00000090   0200002A           BCS      ??TWI_Configure_4
     94                      ok = 1;
   \   00000094   0100A0E3           MOV      R0,#+1
   \   00000098   0070B0E1           MOVS     R7,R0
   \   0000009C   EAFFFFEA           B        ??TWI_Configure_2
     95                  else 
     96                      ckdiv++;
   \                     ??TWI_Configure_4:
   \   000000A0   015095E2           ADDS     R5,R5,#+1
   \   000000A4   E8FFFFEA           B        ??TWI_Configure_2
     97              }
     98          
     99              ASSERT(ckdiv < 8, "-F- Cannot find valid TWI clock parameters\r\n");
   \                     ??TWI_Configure_3:
   \   000000A8   080055E3           CMP      R5,#+8
   \   000000AC   0200003A           BCC      ??TWI_Configure_5
   \   000000B0   18009FE5           LDR      R0,??TWI_Configure_6  ;; `?<Constant "-F- Cannot find valid...">`
   \   000000B4   ........           BL       printf
   \                     ??TWI_Configure_7:
   \   000000B8   FEFFFFEA           B        ??TWI_Configure_7
    100              //trace_LOG(trace_INFO, "-D- Using CKDIV = %u and CLDIV/CHDIV = %u\r\n", ckdiv, cldiv);
    101              
    102              pTwi->TWI_CWGR = (ckdiv << 16) | (cldiv << 8) | cldiv;
   \                     ??TWI_Configure_5:
   \   000000BC   0604B0E1           LSLS     R0,R6,#+8
   \   000000C0   050890E1           ORRS     R0,R0,R5, LSL #+16
   \   000000C4   000096E1           ORRS     R0,R6,R0
   \   000000C8   100088E5           STR      R0,[R8, #+16]
    103          }
   \   000000CC   F087BDE8           POP      {R4-R10,PC}      ;; return
   \                     ??TWI_Configure_6:
   \   000000D0   ........           DC32     `?<Constant "-F- Cannot find valid...">`
    104          
    105          
    106          
    107          //*----------------------------------------------------------------------------
    108          //* \fn    AT91F_TWI_Configure
    109          //* \brief Configure TWI in master mode
    110          //*----------------------------------------------------------------------------

   \                                 In section .text, align 4, keep-with-next
    111          void AT91F_TWI_Configure ( AT91PS_TWI pTWI )          // \arg pointer to a TWI controller
    112          {
    113              //* Disable interrupts
    114              pTWI->TWI_IDR = (unsigned int) -1;
   \                     AT91F_TWI_Configure:
   \   00000000   0010E0E3           MVN      R1,#+0
   \   00000004   281080E5           STR      R1,[R0, #+40]
    115          
    116              //* Reset peripheral

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲人成人精品| 1024精品合集| 成人免费在线播放视频| 午夜精品福利一区二区三区av| 国内久久精品视频| 在线观看国产精品网站| 国产亚洲精品久| 日本强好片久久久久久aaa| 99re这里只有精品首页| 精品成人私密视频| 日韩黄色在线观看| 日本精品一区二区三区高清| 国产香蕉久久精品综合网| 视频一区在线播放| 欧美丝袜自拍制服另类| 国产精品国产三级国产aⅴ原创| 久久99精品久久久久久| 制服丝袜亚洲色图| 亚洲国产乱码最新视频 | 国产精品1区二区.| 欧美精三区欧美精三区| 亚洲欧美日韩国产手机在线 | 国产一区二区三区免费播放| 欧美日韩一区久久| 一区二区三区在线观看视频| 99久久国产免费看| 中文字幕一区二区三中文字幕| 狠狠网亚洲精品| 欧美不卡在线视频| 精品写真视频在线观看| 久久中文字幕电影| 国产成人丝袜美腿| 国产精品天天看| 成人毛片在线观看| 国产精品网站一区| 91最新地址在线播放| 国产午夜久久久久| 高清国产一区二区三区| 国产精品免费久久| 97久久精品人人澡人人爽| 国产精品国产三级国产a| 91麻豆福利精品推荐| 一区二区视频免费在线观看| 欧美日韩国产另类一区| 日韩1区2区日韩1区2区| 日韩女同互慰一区二区| 国产在线精品不卡| 国产精品久久久久天堂| 91一区二区三区在线播放| 亚洲人精品午夜| 欧美天堂亚洲电影院在线播放 | 国产精品色在线观看| 高清在线观看日韩| 亚洲激情综合网| 欧美理论片在线| 黄一区二区三区| 亚洲精品中文在线影院| 3d成人动漫网站| 国产成人丝袜美腿| 亚洲自拍偷拍图区| 26uuu国产在线精品一区二区| 不卡一区二区在线| 亚洲h动漫在线| 国产欧美一二三区| 欧美日韩精品欧美日韩精品一| 老色鬼精品视频在线观看播放| 国产精品国产三级国产aⅴ原创| 欧美丰满嫩嫩电影| 成人黄色小视频| 婷婷综合五月天| 国产精品久久久久久久久果冻传媒 | 国产免费观看久久| 欧美日韩精品三区| 成人精品视频一区| 人人爽香蕉精品| 亚洲欧美成人一区二区三区| 欧美一二三四区在线| 91美女蜜桃在线| 国产一区二区精品久久99| 亚洲高清免费视频| 国产精品沙发午睡系列990531| 欧美一区二区三区在线视频| 一本久久精品一区二区| 国产在线看一区| 五月天视频一区| 亚洲三级视频在线观看| 久久精品一区蜜桃臀影院| 欧美综合一区二区| 不卡电影免费在线播放一区| 麻豆精品视频在线观看视频| 亚洲免费在线电影| 国产日韩欧美一区二区三区综合| 欧美精品日韩一本| 欧美亚洲免费在线一区| 成人av集中营| 风间由美性色一区二区三区| 国内精品视频一区二区三区八戒 | 欧美在线观看一区二区| www.色综合.com| 成人精品免费看| 国产成人精品亚洲午夜麻豆| 激情五月激情综合网| 秋霞电影网一区二区| 亚洲午夜视频在线观看| 亚洲最大色网站| 亚洲综合小说图片| 一区二区三区欧美| 怡红院av一区二区三区| 亚洲精品日韩一| 亚洲视频免费在线观看| 天天色天天操综合| 亚洲精品福利视频网站| 一区二区激情视频| 一卡二卡欧美日韩| 亚洲国产一二三| 午夜精品久久久久久久| 日韩激情中文字幕| 美国欧美日韩国产在线播放| 精品在线观看视频| 激情另类小说区图片区视频区| 国模无码大尺度一区二区三区| 国产一区二区三区四区在线观看| 国产在线视视频有精品| 成人综合日日夜夜| 95精品视频在线| 欧美精品黑人性xxxx| 日韩欧美中文字幕公布| 久久久久久一级片| 综合色天天鬼久久鬼色| 一区二区三区.www| 日产精品久久久久久久性色| 久久99久久精品欧美| 国产精品99精品久久免费| 成人午夜伦理影院| 在线影视一区二区三区| 欧美一区二区在线看| 久久久久高清精品| 亚洲日本电影在线| 蜜桃一区二区三区在线| 国产传媒一区在线| 日本道色综合久久| 欧美一区二区免费观在线| 亚洲国产高清在线| 亚洲国产美国国产综合一区二区| 六月婷婷色综合| 99久久国产综合精品麻豆| 欧美日韩dvd在线观看| 国产色一区二区| 亚洲黄一区二区三区| 蜜桃视频一区二区三区| av一区二区久久| 日韩欧美国产麻豆| 亚洲精品美国一| 极品美女销魂一区二区三区免费| 99精品视频一区| 日韩欧美一级二级三级久久久| 国产精品久久久久久久久果冻传媒| 婷婷夜色潮精品综合在线| 成人激情动漫在线观看| 欧美一区二区三区思思人| 中文字幕一区二区三区四区| 日本亚洲一区二区| 99国产精品99久久久久久| 91精品福利在线一区二区三区| 亚洲日本电影在线| 国产一区二区三区高清播放| 欧美性猛交一区二区三区精品| 久久青草欧美一区二区三区| 日韩一区精品字幕| 91丨porny丨在线| 国产亚洲欧美在线| 久久精品国内一区二区三区 | 国产91丝袜在线观看| 91精品国产综合久久婷婷香蕉| 亚洲丝袜美腿综合| 国产一区福利在线| 日韩一区国产二区欧美三区| 一区二区三区免费在线观看| 成人少妇影院yyyy| 久久久国产精华| 玖玖九九国产精品| 6080yy午夜一二三区久久| 国产精品久久久久久久久快鸭 | 中文字幕在线不卡一区二区三区| 蜜臂av日日欢夜夜爽一区| 欧美日韩日本视频| 亚洲六月丁香色婷婷综合久久 | 国产老肥熟一区二区三区| 欧美一区二区私人影院日本| 亚洲高清不卡在线观看| 欧美日韩一二区| 亚洲人成影院在线观看| 成人精品电影在线观看| 国产欧美精品在线观看| 国精产品一区一区三区mba桃花| 日韩亚洲欧美高清| 久久66热偷产精品| 久久综合色天天久久综合图片| 日本视频中文字幕一区二区三区| 91麻豆精品国产91久久久久久久久|