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

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

?? main.lst

?? LPC21XX的I2C與SPI部份的通迅實現源代碼.
?? LST
?? 第 1 頁 / 共 2 頁
字號:
 00000040  F7FF      BL          I2CTransferByte?T  ; T=0x0001  (1)
 00000042  FFDE      BL          I2CTransferByte?T  ; T=0x0001  (2)
   59: I2CTransferByte(0x41,0,4,messageIn);        //read back data
 00000046  4800      LDR         R3,=messageIn ; messageIn
 00000048  2041      MOV         R0,#0x41
 0000004A  2100      MOV         R1,#0x0
 0000004C  2204      MOV         R2,#0x4
 0000004E  F7FF      BL          I2CTransferByte?T  ; T=0x0001  (1)
 00000050  FFD7      BL          I2CTransferByte?T  ; T=0x0001  (2)
   64: }
 00000054          L_1:
 00000054  E7FE      B           L_1  ; T=0x00000054
 00000056  BC08      POP         {R3}
 00000058  4718      BX          R3
 0000005A          ENDP ; 'main'


*** CODE SEGMENT '?PR?I2CTransferByte?T?main':
   68: void I2CTransferByte(unsigned int I2CAddr,unsigned char MemAddr,unsigned char count,...)
 00000000  B408      PUSH        {R3}
 00000002  B430      PUSH        {R4-R5}
 00000004  ---- Variable 'count' assigned to Register 'R2' ----
 00000004  ---- Variable 'MemAddr' assigned to Register 'R1' ----
 00000004  1C04      MOV         R4,R0 ; I2CAddr
 00000006  ---- Variable 'I2CAddr' assigned to Register 'R4' ----
   69: {
 00000006            ; SCOPE-START
   71: va_start(ap,count);
 00000006  A800      ADD         R0,R13,#0x0
 00000008  ---- Variable 'ap' assigned to Register 'R0' ----
   76: }
 00000008          L_5:
 00000008  4800      LDR         R3,=lock ; lock
 0000000A  781B      LDRB        R3,[R3,#0x0] ; lock
 0000000C  2B01      CMP         R3,#0x1
 0000000E  D0FB      BEQ         L_5  ; T=0x00000008
   77: lock         = 1;                            //Set I2C bus as active
 00000010  2501      MOV         R5,#0x1
 00000012  4800      LDR         R3,=lock ; lock
 00000014  701D      STRB        R5,[R3,#0x0] ; lock
   79: I2CAddress  = I2CAddr;                      //Place address and data in Globals to be used by the interrupt
 00000016  4800      LDR         R3,=I2CAddress ; I2CAddress
 00000018  701C      STRB        R4,[R3,#0x0] ; I2CAddress
   80: if(count >0)
 0000001A  0613      LSL         R3,R2,#0x18 ; count
 0000001C  0E1B      LSR         R3,R3,#0x18 ; count
 0000001E  2B00      CMP         R3,#0x0 ; count
 00000020  DD04      BLE         L_9  ; T=0x0000002C
   82: I2CData     = va_arg(ap,unsigned char *);
 00000022  3004      ADD         R0,#0x4
 00000024  3804      SUB         R0,#0x4
 00000026  6803      LDR         R3,[R0,#0x0] ; ap
 00000028  4800      LDR         R0,=I2CData ; I2CData
ARM COMPILER V2.00f,  main                                                                 20/02/05  12:41:59  PAGE 6   

 0000002A  6003      STR         R3,[R0,#0x0] ; I2CData
   83: }
 0000002C          L_9:
   84: I2Counter   = count;
 0000002C  4800      LDR         R0,=I2Counter ; I2Counter
 0000002E  7002      STRB        R2,[R0,#0x0] ; count
   85: MemAddress  = MemAddr;
 00000030  4800      LDR         R0,=MemAddress ; MemAddress
 00000032  7001      STRB        R1,[R0,#0x0] ; MemAddr
   86: I2CONCLR    = 0x000000FF;                   //Clear all I2C settings
 00000034  21FF      MOV         R1,#0xFF
 00000036  4800      LDR         R0,=0xE001C018
 00000038  7001      STRB        R1,[R0,#0x0]
   87: I2CONSET    = 0x00000040;                   //Enable the I2C interface
 0000003A  2140      MOV         R1,#0x40
 0000003C  4800      LDR         R0,=0xE001C000
 0000003E  7001      STRB        R1,[R0,#0x0]
   88: I2CONSET    = 0x00000020;                   //Start condition
 00000040  2120      MOV         R1,#0x20
 00000042  4800      LDR         R0,=0xE001C000
 00000044  7001      STRB        R1,[R0,#0x0]
   89: va_end(ap);
 00000046            ; SCOPE-END
   90: }
 00000046  BC30      POP         {R4-R5}
 00000048  B001      ADD         R13,#0x4
 0000004A  4770      BX          R14
 0000004C          ENDP ; 'I2CTransferByte?T'


*** CODE SEGMENT '?PR?I2CISR?A?main':
   93: void I2CISR (void)  __irq                       //I2C interrupt routine
 00000000  E92D0007  STMDB       R13!,{R0-R2}
   96: switch (I2STAT)                             //Read result code and switch to next action
 00000004  E5100000  LDR         R0,=0xE001C004
 00000008  E5D00000  LDRB        R0,[R0,#0x0]
 0000000C  E1A01000  MOV         R1,R0
 00000010  E2511018  SUBS        R1,R1,#0x0018
 00000014  0A000017  BEQ         L_13  ; Targ=0x78
 00000018  E2511008  SUBS        R1,R1,#0x0008
 0000001C  0A00001A  BEQ         L_14  ; Targ=0x8C
 00000020  E2511008  SUBS        R1,R1,#0x0008
 00000024  0A00001D  BEQ         L_15  ; Targ=0xA0
 00000028  E2511008  SUBS        R1,R1,#0x0008
 0000002C  0A000031  BEQ         L_16  ; Targ=0xF8
 00000030  E2511010  SUBS        R1,R1,#0x0010
 00000034  0A000035  BEQ         L_17  ; Targ=0x110
 00000038  E2511008  SUBS        R1,R1,#0x0008
 0000003C  0A000037  BEQ         L_18  ; Targ=0x120
 00000040  E2511008  SUBS        R1,R1,#0x0008
 00000044  0A000039  BEQ         L_19  ; Targ=0x130
 00000048  E2511008  SUBS        R1,R1,#0x0008
 0000004C  0A00004E  BEQ         L_20  ; Targ=0x18C
 00000050  E2911050  ADDS        R1,R1,#0x0050
 00000054  1A00004F  BNE         L_10  ; Targ=0x198
  100: case ( 0x08):                               //Start bit
 00000058          L_11:
  101: I2CONCLR    = 0x20;                         //Clear start bit
 00000058  E3A01020  MOV         R1,#0x20
 0000005C  E5100000  LDR         R0,=0xE001C018
 00000060  E5C01000  STRB        R1,[R0,#0x0]
  102: I2DAT       = I2CAddress;                   //Send address and write bit
 00000064  E5100000  LDR         R0,=I2CAddress ; I2CAddress
 00000068  E5D01000  LDRB        R1,[R0,#0x0] ; I2CAddress
 0000006C  E5100000  LDR         R0,=0xE001C008
 00000070  E5C01000  STRB        R1,[R0,#0x0]
  103: break;
 00000074  EA000047  B           L_10  ; Targ=0x198
ARM COMPILER V2.00f,  main                                                                 20/02/05  12:41:59  PAGE 7   

  105: case (0x18):                                //Slave address+W, ACK
 00000078          L_13:
  106: I2DAT       = MemAddress;                   //Write Mem,ory start address to tx register
 00000078  E5100000  LDR         R0,=MemAddress ; MemAddress
 0000007C  E5D01000  LDRB        R1,[R0,#0x0] ; MemAddress
 00000080  E5100000  LDR         R0,=0xE001C008
 00000084  E5C01000  STRB        R1,[R0,#0x0]
  107: break;
 00000088  EA000042  B           L_10  ; Targ=0x198
  109: case (0x20):                                //Salve address +W, Not ACK
 0000008C          L_14:
  110: I2DAT       = I2CAddress;                   //Resend address and write bi
 0000008C  E5100000  LDR         R0,=I2CAddress ; I2CAddress
 00000090  E5D01000  LDRB        R1,[R0,#0x0] ; I2CAddress
 00000094  E5100000  LDR         R0,=0xE001C008
 00000098  E5C01000  STRB        R1,[R0,#0x0]
  111: break;
 0000009C  EA00003D  B           L_10  ; Targ=0x198
  113: case (0x28):
 000000A0          L_15:
  114: if(I2Counter-->0)                               //Data sent, Ack
 000000A0  E5101000  LDR         R1,=I2Counter ; I2Counter
 000000A4  E5D10000  LDRB        R0,[R1,#0x0] ; I2Counter
 000000A8  E2402001  SUB         R2,R0,#0x0001
 000000AC  E5C12000  STRB        R2,[R1,#0x0] ; I2Counter
 000000B0  E3500000  CMP         R0,#0x0000
 000000B4  DA000008  BLE         L_21  ; Targ=0xDC
  116: I2DAT       = *I2CData;                     //Write data to tx register
 000000B8  E5100000  LDR         R0,=I2CData ; I2CData
 000000BC  E5901000  LDR         R1,[R0,#0x0] ; I2CData
 000000C0  E5D12000  LDRB        R2,[R1,#0x0]
 000000C4  E5100000  LDR         R0,=0xE001C008
 000000C8  E5C02000  STRB        R2,[R0,#0x0]
  117: I2CData++;
 000000CC  E5100000  LDR         R0,=I2CData ; I2CData
 000000D0  E2811001  ADD         R1,R1,#0x0001
 000000D4  E5801000  STR         R1,[R0,#0x0] ; I2CData
  118: }
 000000D8  EA00002E  B           L_10  ; Targ=0x198
 000000DC          L_21:
  121: I2CONSET    = 0x10;                         //Stop condition
 000000DC  E3A01010  MOV         R1,#0x10
 000000E0  E5100000  LDR         R0,=0xE001C000
 000000E4  E5C01000  STRB        R1,[R0,#0x0]
  122: lock = 0;                                   //Signal end of I2C activity
 000000E8  E3A01000  MOV         R1,#0x0
 000000EC  E5100000  LDR         R0,=lock ; lock
 000000F0  E5C01000  STRB        R1,[R0,#0x0] ; lock
  124: break;
 000000F4  EA000027  B           L_10  ; Targ=0x198
  126: case (0x30) :                               //Data sent, NOT Ack
 000000F8          L_16:
  127: I2DAT       = *I2CData;                     //Write data to tx register
 000000F8  E5100000  LDR         R0,=I2CData ; I2CData
 000000FC  E5900000  LDR         R0,[R0,#0x0] ; I2CData
 00000100  E5D01000  LDRB        R1,[R0,#0x0]
 00000104  E5100000  LDR         R0,=0xE001C008
 00000108  E5C01000  STRB        R1,[R0,#0x0]
  128: break;
 0000010C  EA000021  B           L_10  ; Targ=0x198
  133: case (0x40) :                               //Slave Address +R, ACK
 00000110          L_17:
  134: I2CONSET    = 0x04;                         //Enable ACK for data byte
 00000110  E3A01004  MOV         R1,#0x4
 00000114  E5100000  LDR         R0,=0xE001C000
 00000118  E5C01000  STRB        R1,[R0,#0x0]
ARM COMPILER V2.00f,  main                                                                 20/02/05  12:41:59  PAGE 8   

  135: break;
 0000011C  EA00001D  B           L_10  ; Targ=0x198
  137: case (0x48) :                               //Slave Address +R, Not Ack
 00000120          L_18:
  138: I2CONSET    = 0x20;                         //Resend Start condition
 00000120  E3A01020  MOV         R1,#0x20
 00000124  E5100000  LDR         R0,=0xE001C000
 00000128  E5C01000  STRB        R1,[R0,#0x0]
  139: break;
 0000012C  EA000019  B           L_10  ; Targ=0x198
  141: case (0x50) :                               //Data Received, ACK 
 00000130          L_19:
  142: if(--I2Counter>0)
 00000130  E5101000  LDR         R1,=I2Counter ; I2Counter
 00000134  E5D10000  LDRB        R0,[R1,#0x0] ; I2Counter
 00000138  E2400001  SUB         R0,R0,#0x0001
 0000013C  E5C10000  STRB        R0,[R1,#0x0] ; I2Counter
 00000140  E3500000  CMP         R0,#0x0000
 00000144  DA000009  BLE         L_23  ; Targ=0x170
  144: *I2CData    = I2DAT;
 00000148  E5100000  LDR         R0,=0xE001C008
 0000014C  E5D01000  LDRB        R1,[R0,#0x0]
 00000150  E5100000  LDR         R0,=I2CData ; I2CData
 00000154  E5900000  LDR         R0,[R0,#0x0] ; I2CData
 00000158  E5C01000  STRB        R1,[R0,#0x0]
  145: I2CData++;
 0000015C  E5100000  LDR         R0,=I2CData ; I2CData
 00000160  E5901000  LDR         R1,[R0,#0x0] ; I2CData
 00000164  E2811001  ADD         R1,R1,#0x0001
 00000168  E5801000  STR         R1,[R0,#0x0] ; I2CData
  146: }
 0000016C  EA000009  B           L_10  ; Targ=0x198
 00000170          L_23:
  149: I2CONSET    = 0x10;                         //Stop condition
 00000170  E3A01010  MOV         R1,#0x10
 00000174  E5100000  LDR         R0,=0xE001C000
 00000178  E5C01000  STRB        R1,[R0,#0x0]
  150: lock         = 0;                            //Signal end of I2C activity                            
 0000017C  E3A01000  MOV         R1,#0x0
 00000180  E5100000  LDR         R0,=lock ; lock
 00000184  E5C01000  STRB        R1,[R0,#0x0] ; lock
  152: break;
 00000188  EA000002  B           L_10  ; Targ=0x198
  154: case (0x58):                                //Data Received, Not Ack
 0000018C          L_20:
  155: I2CONSET    = 0x20;                         // Resend Start condition
 0000018C  E3A01020  MOV         R1,#0x20
 00000190  E5100000  LDR         R0,=0xE001C000
 00000194  E5C01000  STRB        R1,[R0,#0x0]
  161: }
 00000198          L_10:
  163: I2CONCLR    = 0x08;                         //Clear I2C interrupt flag
 00000198  E3A01008  MOV         R1,#0x8
 0000019C  E5100000  LDR         R0,=0xE001C018
 000001A0  E5C01000  STRB        R1,[R0,#0x0]
  164: VICVectAddr = 0x00000000;                   //Clear interrupt in 
 000001A4  E3A01000  MOV         R1,#0x0
 000001A8  E5100000  LDR         R0,=0xFFFFF030
 000001AC  E5801000  STR         R1,[R0,#0x0]
  166: }
 000001B0  E8BD0007  LDMIA       R13!,{R0-R2}
 000001B4  E25EF004  SUBS        R15,R14,#0x0004
 000001B8          ENDP ; 'I2CISR?A'



Module Information          Static
----------------------------------
ARM COMPILER V2.00f,  main                                                                 20/02/05  12:41:59  PAGE 9   

  code size            =    ------
  data size            =        16
  const size           =    ------
End of Module Information.


ARM COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲男人的天堂在线观看| 亚洲人成网站在线| 亚洲成人综合在线| 国产精品99久久久久久似苏梦涵 | 91在线丨porny丨国产| 日产精品久久久久久久性色| a亚洲天堂av| 亚洲精品一区二区三区精华液| 亚洲一级二级三级| kk眼镜猥琐国模调教系列一区二区| 日韩欧美成人午夜| 亚洲bdsm女犯bdsm网站| 91网站在线观看视频| 久久精品在这里| 乱一区二区av| 欧美丰满美乳xxx高潮www| 一区二区三区免费| 成人深夜在线观看| 久久精品夜夜夜夜久久| 毛片不卡一区二区| 91麻豆精品国产91久久久使用方法| 亚洲日本在线看| 成人高清免费观看| 欧美国产日产图区| 国产精品亚洲视频| 久久免费的精品国产v∧| 老司机午夜精品99久久| 欧美一区二视频| 五月天久久比比资源色| 欧美无乱码久久久免费午夜一区| 日韩毛片一二三区| 99久久伊人久久99| 国产精品传媒视频| 99精品久久免费看蜜臀剧情介绍| 欧美激情一区在线| 国产电影精品久久禁18| 久久久综合精品| 国产一区二区在线视频| 久久一二三国产| 国产一区二区女| 久久男人中文字幕资源站| 国产尤物一区二区| 久久精品欧美日韩| 国产成人精品免费| 国产欧美va欧美不卡在线| 成人激情免费网站| 日韩美女视频一区二区| 91年精品国产| 一区二区三区日韩| 欧美男人的天堂一二区| 日本强好片久久久久久aaa| 欧美精品tushy高清| 日韩精品欧美精品| 欧美一级午夜免费电影| 狠狠色狠狠色综合| 精品亚洲免费视频| 精品国精品国产尤物美女| 国产综合久久久久久鬼色| 久久久久久免费| 成人av资源在线观看| 亚洲免费视频中文字幕| 欧美日韩不卡在线| 国模一区二区三区白浆| 欧美韩国日本不卡| 91美女精品福利| 亚洲第一福利视频在线| 91精品国产黑色紧身裤美女| 青娱乐精品视频| 久久久久久日产精品| 99久久精品免费看国产 | 日韩欧美色综合| 国产乱妇无码大片在线观看| 国产免费观看久久| 色美美综合视频| 日韩黄色片在线观看| 久久影院午夜片一区| 99国产精品一区| 污片在线观看一区二区| 26uuu另类欧美亚洲曰本| 成人av资源在线观看| 亚洲大片精品永久免费| 精品日韩欧美一区二区| 成人福利视频网站| 性欧美疯狂xxxxbbbb| 久久亚洲欧美国产精品乐播| 91免费观看视频在线| 日本在线播放一区二区三区| 久久久电影一区二区三区| 91久久一区二区| 麻豆国产精品一区二区三区| 国产精品美女一区二区在线观看| 欧美视频在线播放| 国产美女在线观看一区| 亚洲一级片在线观看| 久久精品夜夜夜夜久久| 欧美日韩在线观看一区二区| 国产精品亚洲午夜一区二区三区| 一区二区久久久久久| 久久尤物电影视频在线观看| 欧美曰成人黄网| 国产成人午夜视频| 五月婷婷激情综合网| 亚洲国产高清不卡| 6080午夜不卡| 92精品国产成人观看免费| 精品一区二区在线观看| 一区二区三区中文在线观看| 久久综合久色欧美综合狠狠| 欧洲av一区二区嗯嗯嗯啊| 国产福利91精品一区| 男人的天堂亚洲一区| 亚洲欧洲综合另类| 国产日产亚洲精品系列| 制服丝袜一区二区三区| 91女厕偷拍女厕偷拍高清| 国产精品一区二区无线| 日本怡春院一区二区| 亚洲综合无码一区二区| 国产精品久久久久久久久久免费看| 91精品国产91久久久久久最新毛片| 97精品国产97久久久久久久久久久久| 久久精品国产精品亚洲精品| 亚洲国产成人av网| 亚洲欧美福利一区二区| 欧美经典一区二区| 欧美精品一区在线观看| 3atv在线一区二区三区| 91久久线看在观草草青青| 成人免费毛片嘿嘿连载视频| 激情另类小说区图片区视频区| 香港成人在线视频| 亚洲精品成人在线| 中文字幕久久午夜不卡| 亚洲精品在线观看网站| 91精品久久久久久蜜臀| 欧美日韩不卡视频| 欧美影视一区在线| 91视视频在线直接观看在线看网页在线看 | 欧美精选在线播放| 欧美色图一区二区三区| 91日韩精品一区| 99re这里只有精品首页| 成人国产精品免费| 国产成人精品一区二区三区四区| 国产九九视频一区二区三区| 九色综合狠狠综合久久| 日韩av中文字幕一区二区三区| 亚洲线精品一区二区三区八戒| 亚洲欧美日韩一区| 成人免费小视频| 亚洲欧美综合色| 成人欧美一区二区三区在线播放| 国产精品青草久久| 国产精品免费av| 久久久精品免费免费| 2024国产精品视频| 久久蜜臀精品av| 欧美极品少妇xxxxⅹ高跟鞋 | 欧美自拍偷拍一区| 欧美亚洲动漫制服丝袜| 欧美综合色免费| 欧美精选在线播放| 日韩天堂在线观看| 欧美精品一区二区三区蜜桃视频| 亚洲精品一区二区三区香蕉| 久久久青草青青国产亚洲免观| 国产欧美精品区一区二区三区 | 亚洲精品午夜久久久| 亚洲精品综合在线| 亚洲一二三四在线| 性做久久久久久久久| 蜜桃久久av一区| 国模冰冰炮一区二区| 成人午夜免费视频| 色偷偷一区二区三区| 欧美手机在线视频| 4438x成人网最大色成网站| 欧美成人伊人久久综合网| 国产日产亚洲精品系列| 亚洲品质自拍视频| 肉丝袜脚交视频一区二区| 久久国产尿小便嘘嘘| 国产成a人亚洲精品| 91蜜桃免费观看视频| 欧美日韩久久一区| 精品国产髙清在线看国产毛片 | 在线不卡中文字幕播放| 欧美成人精品高清在线播放| 国产欧美一区在线| 伊人色综合久久天天| 捆绑紧缚一区二区三区视频| 亚洲裸体xxx| 一区二区三区**美女毛片| 图片区小说区国产精品视频| 精品一区二区三区免费观看| 国产iv一区二区三区| 色婷婷精品大在线视频| 日韩一二三四区| 国产精品免费观看视频| 亚洲成人激情综合网|