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

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

?? twi.lst

?? IAR5.2下 AT91SAM9260 ARM 對 MCP2515 控制源化碼
?? LST
?? 第 1 頁 / 共 5 頁
字號:
    117              pTWI->TWI_CR = AT91C_TWI_SWRST;
   \   00000008   8010A0E3           MOV      R1,#+128
   \   0000000C   001080E5           STR      R1,[R0, #+0]
    118          
    119              //* Set Master mode
    120              pTWI->TWI_CR = AT91C_TWI_MSEN;
   \   00000010   0410A0E3           MOV      R1,#+4
   \   00000014   001080E5           STR      R1,[R0, #+0]
    121          
    122          }
   \   00000018   1EFF2FE1           BX       LR               ;; return
    123          
    124          
    125          //*============================================================================
    126          //*		                 TWI初始化
    127          //*============================================================================
    128          //*============================================================================
    129          //* 函數(shù)名稱:AT91F_SetTwiClock
    130          //* 函數(shù)功能:設置TWI時鐘
    131          //* 入口參數(shù):無
    132          //* 返回值  :無
    133          //*============================================================================

   \                                 In section .text, align 4, keep-with-next
    134          void AT91F_SetTwiClock(const AT91PS_TWI pTwi)
    135          {
   \                     AT91F_SetTwiClock:
   \   00000000   70402DE9           PUSH     {R4-R6,LR}
   \   00000004   0040B0E1           MOVS     R4,R0
    136          	int sclock;
    137          
    138          	/* Here, CKDIV = 1 and CHDIV=CLDIV  ==> CLDIV = CHDIV = 1/4*((Fmclk/FTWI) -6)*/
    139          
    140          	sclock = (10*BOARD_MCK / TWI_CLOCK);
   \   00000008   CC00A0E3           MOV      R0,#+204
   \   0000000C   980D80E3           ORR      R0,R0,#0x2600
   \   00000010   0050B0E1           MOVS     R5,R0
    141          	if (sclock % 10 >= 5)
   \   00000014   0500B0E1           MOVS     R0,R5
   \   00000018   0A10A0E3           MOV      R1,#+10
   \   0000001C   ........           BL       __aeabi_idivmod
   \   00000020   050051E3           CMP      R1,#+5
   \   00000024   040000BA           BLT      ??AT91F_SetTwiClock_0
    142          		sclock = (sclock /10) - 5;
   \   00000028   0500B0E1           MOVS     R0,R5
   \   0000002C   0A10A0E3           MOV      R1,#+10
   \   00000030   ........           BL       __aeabi_idivmod
   \   00000034   055050E2           SUBS     R5,R0,#+5
   \   00000038   030000EA           B        ??AT91F_SetTwiClock_1
    143          	else
    144          		sclock = (sclock /10)- 6;
   \                     ??AT91F_SetTwiClock_0:
   \   0000003C   0500B0E1           MOVS     R0,R5
   \   00000040   0A10A0E3           MOV      R1,#+10
   \   00000044   ........           BL       __aeabi_idivmod
   \   00000048   065050E2           SUBS     R5,R0,#+6
    145          	sclock = (sclock + (4 - sclock %4)) >> 2;	// div 4
   \                     ??AT91F_SetTwiClock_1:
   \   0000004C   046095E2           ADDS     R6,R5,#+4
   \   00000050   0500B0E1           MOVS     R0,R5
   \   00000054   0410A0E3           MOV      R1,#+4
   \   00000058   ........           BL       __aeabi_idivmod
   \   0000005C   010056E0           SUBS     R0,R6,R1
   \   00000060   4051B0E1           ASRS     R5,R0,#+2
    146          
    147                  pTwi->TWI_CWGR	= 0x00010000 | sclock | (sclock << 8);
   \   00000064   050495E1           ORRS     R0,R5,R5, LSL #+8
   \   00000068   400B90E3           ORRS     R0,R0,#0x10000
   \   0000006C   100084E5           STR      R0,[R4, #+16]
    148          }
   \   00000070   7080BDE8           POP      {R4-R6,PC}       ;; return
    149          
    150          
    151          //*============================================================================
    152          //* 函數(shù)名稱: TWI_Open
    153          //* 函數(shù)功能: 打開 TWI 
    154          //*============================================================================

   \                                 In section .text, align 4, keep-with-next
    155          void TWI_Open(void)
    156          {
   \                     TWI_Open:
   \   00000000   00502DE9           PUSH     {R12,LR}
    157          	// 配制 PIO 為 TWI
    158          	TWI_CfgPIO ();
   \   00000004   ........           BL       TWI_CfgPIO
    159                          
    160          	PIO_CfgOpendrain(AT91C_BASE_PIOA, AT91C_PA23_TWD | AT91C_PA24_TWCK);		//配制 PA23,PA24 為開漏
   \   00000008   6017A0E3           MOV      R1,#+25165824
   \   0000000C   FF00E0E3           MVN      R0,#+255
   \   00000010   B00EC0E3           BIC      R0,R0,#0xB00
   \   00000014   ........           BL       PIO_CfgOpendrain
    161          
    162          	// 使能 TWI 電源時鐘
    163          	PMC_EnablePeripheral(AT91C_ID_TWI );
   \   00000018   0B00A0E3           MOV      R0,#+11
   \   0000001C   ........           BL       PMC_EnablePeripheral
    164          	
    165          	// 配制 TWI 為主模式
    166          	TWI_Configure (AT91C_BASE_TWI, TWI_CLOCK, BOARD_MCK);
   \   00000020   5E26A0E3           MOV      R2,#+98566144
   \   00000024   BA2A82E3           ORR      R2,R2,#0xBA000
   \   00000028   601BA0E3           MOV      R1,#+98304
   \   0000002C   6A1E81E3           ORR      R1,R1,#0x6A0
   \   00000030   04009FE5           LDR      R0,??TWI_Open_0  ;; 0xfffac000
   \   00000034   ........           BL       TWI_Configure
    167          }
   \   00000038   0180BDE8           POP      {R0,PC}          ;; return
   \                     ??TWI_Open_0:
   \   0000003C   00C0FAFF           DC32     0xfffac000
    168          
    169          
    170          //*============================================================================
    171          //* 函數(shù)名稱: AT91F_TWI_Close
    172          //* 函數(shù)功能: 關(guān)閉 TWI 
    173          //*============================================================================

   \                                 In section .text, align 4, keep-with-next
    174          void TWI_Close(void)
    175          {
   \                     TWI_Close:
   \   00000000   00502DE9           PUSH     {R12,LR}
    176              // 禁用 TWI 電源時鐘
    177              PMC_DisablePeripheral( AT91C_ID_TWI );
   \   00000004   0B00A0E3           MOV      R0,#+11
   \   00000008   ........           BL       PMC_DisablePeripheral
    178          }
   \   0000000C   0180BDE8           POP      {R0,PC}          ;; return
    179          
    180          
    181          
    182          //*=============================================================================
    183          //* 函數(shù)名稱:TWI_Stop
    184          //* 函數(shù)功能:發(fā)送停止位
    185          //* 入口參數(shù):1. twck: TWI 指針
    186          //* 返回值  :無
    187          //*=============================================================================

   \                                 In section .text, align 4, keep-with-next
    188          void TWI_Stop(AT91S_TWI *pTwi)
    189          {
   \                     TWI_Stop:
   \   00000000   10402DE9           PUSH     {R4,LR}
   \   00000004   0040B0E1           MOVS     R4,R0
    190              SANITY_CHECK(pTwi);
   \   00000008   000054E3           CMP      R4,#+0
   \   0000000C   0400001A           BNE      ??TWI_Stop_0
   \   00000010   BE20A0E3           MOV      R2,#+190
   \   00000014   ........           LDR      R1,??DataTable34  ;; `?<Constant "E:\\\\IAR\\\\at91lib\\\\periph...">`
   \   00000018   ........           LDR      R0,??DataTable35  ;; `?<Constant "Sanity check failed a...">`
   \   0000001C   ........           BL       printf
   \                     ??TWI_Stop_1:
   \   00000020   FEFFFFEA           B        ??TWI_Stop_1
    191          
    192              pTwi->TWI_CR = AT91C_TWI_STOP;
   \                     ??TWI_Stop_0:
   \   00000024   0200A0E3           MOV      R0,#+2
   \   00000028   000084E5           STR      R0,[R4, #+0]
    193          }
   \   0000002C   1080BDE8           POP      {R4,PC}          ;; return
    194          
    195          //------------------------------------------------------------------------------
    196          /// Starts a read operation on the TWI bus with the specified slave, and returns
    197          /// immediately. Data must then be read using TWI_ReadByte() whenever a byte is
    198          /// available (poll using TWI_ByteReceived()).
    199          /// \param pTwi  Pointer to an AT91S_TWI instance.
    200          /// \param address  Slave address on the bus.
    201          /// \param iaddress  Optional internal address bytes.
    202          /// \param isize  Number of internal address bytes.
    203          //-----------------------------------------------------------------------------

   \                                 In section .text, align 4, keep-with-next
    204          void TWI_StartRead( AT91S_TWI *pTwi,
    205                              unsigned char address,
    206                              unsigned int iaddress,
    207                              unsigned char isize)
    208          {
   \                     TWI_StartRead:
   \   00000000   F8402DE9           PUSH     {R3-R7,LR}
   \   00000004   0050B0E1           MOVS     R5,R0
   \   00000008   0160B0E1           MOVS     R6,R1
   \   0000000C   0270B0E1           MOVS     R7,R2
   \   00000010   0340B0E1           MOVS     R4,R3
    209              trace_LOG(trace_DEBUG, "-D- TWI_StartRead()\n\r");
    210              SANITY_CHECK(pTwi);
   \   00000014   000055E3           CMP      R5,#+0
   \   00000018   0400001A           BNE      ??TWI_StartRead_0
   \   0000001C   D220A0E3           MOV      R2,#+210
   \   00000020   ........           LDR      R1,??DataTable34  ;; `?<Constant "E:\\\\IAR\\\\at91lib\\\\periph...">`
   \   00000024   ........           LDR      R0,??DataTable35  ;; `?<Constant "Sanity check failed a...">`
   \   00000028   ........           BL       printf
   \                     ??TWI_StartRead_1:
   \   0000002C   FEFFFFEA           B        ??TWI_StartRead_1
    211              SANITY_CHECK((address & 0x80) == 0);
   \                     ??TWI_StartRead_0:
   \   00000030   800016E3           TST      R6,#0x80
   \   00000034   0400000A           BEQ      ??TWI_StartRead_2
   \   00000038   D320A0E3           MOV      R2,#+211
   \   0000003C   ........           LDR      R1,??DataTable34  ;; `?<Constant "E:\\\\IAR\\\\at91lib\\\\periph...">`
   \   00000040   ........           LDR      R0,??DataTable35  ;; `?<Constant "Sanity check failed a...">`
   \   00000044   ........           BL       printf
   \                     ??TWI_StartRead_3:
   \   00000048   FEFFFFEA           B        ??TWI_StartRead_3
    212              SANITY_CHECK((iaddress & 0xFF000000) == 0);
   \                     ??TWI_StartRead_2:
   \   0000004C   FF0417E3           TST      R7,#0xFF000000
   \   00000050   0400000A           BEQ      ??TWI_StartRead_4
   \   00000054   D420A0E3           MOV      R2,#+212
   \   00000058   ........           LDR      R1,??DataTable34  ;; `?<Constant "E:\\\\IAR\\\\at91lib\\\\periph...">`
   \   0000005C   ........           LDR      R0,??DataTable35  ;; `?<Constant "Sanity check failed a...">`
   \   00000060   ........           BL       printf
   \                     ??TWI_StartRead_5:
   \   00000064   FEFFFFEA           B        ??TWI_StartRead_5
    213              SANITY_CHECK(isize < 4);
   \                     ??TWI_StartRead_4:
   \   00000068   FF4014E2           ANDS     R4,R4,#0xFF      ;; Zero extend
   \   0000006C   040054E3           CMP      R4,#+4
   \   00000070   0400003A           BCC      ??TWI_StartRead_6
   \   00000074   D520A0E3           MOV      R2,#+213
   \   00000078   ........           LDR      R1,??DataTable34  ;; `?<Constant "E:\\\\IAR\\\\at91lib\\\\periph...">`
   \   0000007C   ........           LDR      R0,??DataTable35  ;; `?<Constant "Sanity check failed a...">`
   \   00000080   ........           BL       printf
   \                     ??TWI_StartRead_7:
   \   00000084   FEFFFFEA           B        ??TWI_StartRead_7
    214          
    215              // Set slave address and number of internal address bytes
    216              pTwi->TWI_MMR = (isize << 8) | AT91C_TWI_MREAD | (address << 16);
   \                     ??TWI_StartRead_6:
   \   00000088   0400B0E1           MOVS     R0,R4
   \   0000008C   FF0010E2           ANDS     R0,R0,#0xFF      ;; Zero extend
   \   00000090   0610B0E1           MOVS     R1,R6
   \   00000094   FF1011E2           ANDS     R1,R1,#0xFF      ;; Zero extend
   \   00000098   0118B0E1           LSLS     R1,R1,#+16

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清视频一区二区| 国产精品亚洲综合一区在线观看| 亚洲欧洲三级电影| 中文字幕在线不卡一区二区三区| 久久久久久久精| 日韩午夜av一区| 欧美高清精品3d| 精品欧美乱码久久久久久| 精品欧美一区二区三区精品久久 | 欧美在线观看禁18| 欧美亚洲一区三区| wwwwxxxxx欧美| 国产精品国产成人国产三级| 亚洲欧洲av一区二区三区久久| 亚洲理论在线观看| 另类小说一区二区三区| 丰满放荡岳乱妇91ww| 一道本成人在线| 欧美mv日韩mv亚洲| 国产欧美视频在线观看| 亚洲精品一卡二卡| 亚洲精品成a人| 蜜臀av国产精品久久久久| 国产一区二区三区久久久| 欧美亚洲一区二区在线观看| 欧美大度的电影原声| 亚洲一区二区三区爽爽爽爽爽| 麻豆精品一区二区三区| 欧美丝袜丝交足nylons| 久久精品无码一区二区三区| 亚洲va韩国va欧美va| 色拍拍在线精品视频8848| 欧美激情一区二区三区在线| 美女视频一区二区三区| 欧美日韩电影在线播放| 亚洲欧美日韩中文字幕一区二区三区| 日韩电影在线看| 欧美日韩国产首页| 亚洲精品中文字幕乱码三区| 97se亚洲国产综合在线| 久久精品亚洲精品国产欧美kt∨ | 国产精品一区在线观看乱码 | 日韩激情视频在线观看| 欧洲亚洲国产日韩| 一区二区久久久| 欧美视频在线观看一区| 青青草97国产精品免费观看| 日韩一级二级三级精品视频| 性做久久久久久免费观看欧美| 欧美日韩高清一区| 韩国v欧美v亚洲v日本v| 久久精品欧美日韩| 在线观看av一区| 久久99精品国产| 亚洲九九爱视频| 在线不卡免费av| 国产xxx精品视频大全| 91精品国产综合久久精品| 国产麻豆精品视频| **性色生活片久久毛片| 在线观看日韩一区| 韩国毛片一区二区三区| 一区二区三区在线观看网站| 精品毛片乱码1区2区3区| 成人免费高清在线观看| 日韩一区欧美二区| 综合久久一区二区三区| 91精品久久久久久蜜臀| 99热99精品| 精品伊人久久久久7777人| 亚洲精品高清视频在线观看| 精品国产成人系列| 欧美军同video69gay| 97精品国产露脸对白| 国产一区二区精品久久| 五月开心婷婷久久| 一区二区三区精密机械公司| 26uuu亚洲婷婷狠狠天堂| 欧美在线观看视频一区二区| 国产精品资源在线看| 久久成人免费网站| 日韩av电影一区| 日韩电影一区二区三区| 首页欧美精品中文字幕| 亚洲成人免费视| 天天综合网 天天综合色| 亚洲一区二区三区四区不卡| 综合婷婷亚洲小说| 亚洲女人的天堂| 亚洲在线一区二区三区| 亚洲黄色av一区| 婷婷丁香久久五月婷婷| 日韩av中文字幕一区二区| 捆绑紧缚一区二区三区视频| 美女网站视频久久| 国内欧美视频一区二区| 成人综合婷婷国产精品久久| 菠萝蜜视频在线观看一区| av不卡在线播放| jiyouzz国产精品久久| 97久久超碰国产精品| 91免费观看视频在线| 欧洲国内综合视频| 精品免费99久久| 亚洲欧美日韩人成在线播放| 最新国产精品久久精品| 丝袜美腿亚洲色图| 国产传媒日韩欧美成人| 91麻豆6部合集magnet| 日韩无一区二区| 国产精品护士白丝一区av| 免费观看一级欧美片| av午夜一区麻豆| 91精品久久久久久蜜臀| 亚洲免费观看高清完整版在线观看熊 | 国产麻豆精品一区二区| 欧洲视频一区二区| 日韩久久久精品| 亚洲成人自拍偷拍| 91黄色免费版| 国产精品免费aⅴ片在线观看| 亚洲影院在线观看| 成人激情黄色小说| 国产蜜臀97一区二区三区| 奇米影视一区二区三区小说| 欧美日韩在线播放一区| 亚洲美女视频在线| 成人丝袜高跟foot| 日本一区二区三区dvd视频在线 | 成人小视频免费观看| 精品国产第一区二区三区观看体验 | 国产午夜久久久久| 国产激情视频一区二区三区欧美| 2023国产精品自拍| 看电影不卡的网站| 久久久777精品电影网影网| 亚洲成人自拍偷拍| 欧美日韩一区不卡| 蜜臀va亚洲va欧美va天堂| 日韩一级视频免费观看在线| 日韩福利视频网| 国产丝袜在线精品| 色综合久久久久综合体桃花网| 亚洲欧美日韩国产成人精品影院| www.亚洲人| 国产精品国产三级国产三级人妇| 99这里只有精品| 亚洲成av人片一区二区梦乃| 欧美高清www午色夜在线视频| 喷白浆一区二区| 国产三级一区二区| 欧美系列在线观看| 国产在线精品一区二区不卡了| 国产精品沙发午睡系列990531| 91美女片黄在线观看91美女| 日本成人在线电影网| 欧美国产视频在线| 欧美一级艳片视频免费观看| 国产精品18久久久久久久久| 亚洲一区在线视频| 国产欧美日韩精品一区| 91极品美女在线| 日韩福利视频导航| 亚洲精品videosex极品| 久久久99精品久久| 日韩一区二区三区免费看 | 久久综合五月天婷婷伊人| 欧美日韩亚洲综合一区| 99麻豆久久久国产精品免费| 免费xxxx性欧美18vr| 日韩国产一区二| 亚洲成人av免费| 亚洲成人激情自拍| 亚洲一区二区三区四区五区黄| 亚洲欧美在线另类| 最新国产成人在线观看| 最新国产精品久久精品| 亚洲人成在线播放网站岛国| 国产精品美女久久久久aⅴ| 久久人人超碰精品| 欧美国产精品v| 亚洲色图清纯唯美| 一区二区三区在线视频观看| 一二三区精品福利视频| 亚洲一区二区视频在线观看| 午夜激情综合网| 粉嫩av一区二区三区粉嫩| 天天色天天操综合| 精品一区二区三区在线观看国产| 男女性色大片免费观看一区二区| 久久精品99久久久| 国v精品久久久网| 在线日韩一区二区| 91精品国产入口| 国产亚洲欧美激情| 亚洲午夜免费电影| 国产激情视频一区二区在线观看| av午夜精品一区二区三区| 91成人看片片| 国产精品网站在线观看|