📄 tsensor.txt
字号:
000078 1c76 ADDS r6,r6,#1
00007a 353f ADDS r5,r5,#0x3f
|L3.124|
;;;194
;;;195 /* Test on EV6 and clear it */
;;;196 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) /* EV6 */
00007c 4631 MOV r1,r6
00007e 4620 MOV r0,r4
000080 f7fffffe BL I2C_CheckEvent
000084 2800 CMP r0,#0
000086 d0f9 BEQ |L3.124|
|L3.136|
;;;197 {
;;;198 }
;;;199
;;;200
;;;201 /* Test on EV7 and clear it */
;;;202 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_RECEIVED)) /* EV7 */
000088 4629 MOV r1,r5
00008a 4620 MOV r0,r4
00008c f7fffffe BL I2C_CheckEvent
000090 2800 CMP r0,#0
000092 d0f9 BEQ |L3.136|
;;;203 {
;;;204 }
;;;205
;;;206 /* Store I2C1 received data */
;;;207 RegValue = (u16)(I2C_ReceiveData(I2C1) << 8);
000094 4620 MOV r0,r4
000096 f7fffffe BL I2C_ReceiveData
00009a 0206 LSLS r6,r0,#8
;;;208
;;;209 /* Disable I2C1 acknowledgement */
;;;210 I2C_AcknowledgeConfig(I2C1, DISABLE);
00009c 2100 MOVS r1,#0
00009e 4620 MOV r0,r4
0000a0 f7fffffe BL I2C_AcknowledgeConfig
;;;211
;;;212 /* Send I2C1 STOP Condition */
;;;213 I2C_GenerateSTOP(I2C1, ENABLE);
0000a4 2101 MOVS r1,#1
0000a6 4620 MOV r0,r4
0000a8 f7fffffe BL I2C_GenerateSTOP
|L3.172|
;;;214
;;;215 /* Test on EV7 and clear it */
;;;216 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_RECEIVED)) /* EV7 */
0000ac 4629 MOV r1,r5
0000ae 4620 MOV r0,r4
0000b0 f7fffffe BL I2C_CheckEvent
0000b4 2800 CMP r0,#0
0000b6 d0f9 BEQ |L3.172|
;;;217 {
;;;218 }
;;;219
;;;220 /* Store I2C1 received data */
;;;221 RegValue |= I2C_ReceiveData(I2C1);
0000b8 4620 MOV r0,r4
0000ba f7fffffe BL I2C_ReceiveData
0000be 4330 ORRS r0,r0,r6
;;;222
;;;223 /* Return register value */
;;;224 return (RegValue >> 7);
0000c0 f3c010cf UBFX r0,r0,#7,#16
;;;225 }
0000c4 e8bd81f0 POP {r4-r8,pc}
;;;226
ENDP
|L3.200|
0000c8 40005400 DCD 0x40005400
|L3.204|
0000cc 00030001 DCD 0x00030001
|L3.208|
0000d0 00070082 DCD 0x00070082
AREA ||i.I2C_LM75_Reg_Write||, CODE, READONLY, ALIGN=2
I2C_LM75_Reg_Write PROC
;;;237 void I2C_LM75_Reg_Write(u8 RegName, u16 RegValue)
;;;238 {
000000 e92d41f0 PUSH {r4-r8,lr}
000004 4605 MOV r5,r0
;;;239 /* Shift left register value */
;;;240 RegValue = RegValue << 7;
000006 05c8 LSLS r0,r1,#23
;;;241
;;;242 /*----- Transmission Phase -----*/
;;;243 /* Send I2C1 START condition */
;;;244 I2C_GenerateSTART(I2C1, ENABLE);
000008 4e1f LDR r6,|L4.136|
00000a 0c04 LSRS r4,r0,#16 ;240
00000c 2101 MOVS r1,#1
00000e 4630 MOV r0,r6
000010 f7fffffe BL I2C_GenerateSTART
000014 4f1d LDR r7,|L4.140|
|L4.22|
;;;245
;;;246 /* Test on I2C1 EV5 and clear it */
;;;247 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) /* EV5 */
000016 4630 MOV r0,r6
000018 4639 MOV r1,r7
00001a f7fffffe BL I2C_CheckEvent
00001e 2800 CMP r0,#0
000020 d0f9 BEQ |L4.22|
;;;248 {
;;;249 }
;;;250
;;;251 /* Send STLM75 slave address for write */
;;;252 I2C_Send7bitAddress(I2C1, LM75_Addr, I2C_Direction_Transmitter);
000022 2200 MOVS r2,#0
000024 2190 MOVS r1,#0x90
000026 4630 MOV r0,r6
000028 f7fffffe BL I2C_Send7bitAddress
00002c 4f18 LDR r7,|L4.144|
|L4.46|
;;;253
;;;254 /* Test on I2C1 EV6 and clear it */
;;;255 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) /* EV6 */
00002e 4630 MOV r0,r6
000030 4639 MOV r1,r7
000032 f7fffffe BL I2C_CheckEvent
000036 2800 CMP r0,#0
000038 d0f9 BEQ |L4.46|
;;;256 {
;;;257 }
;;;258
;;;259 /* Send the specified register data pointer */
;;;260 I2C_SendData(I2C1, RegName);
00003a 4629 MOV r1,r5
00003c 4630 MOV r0,r6
00003e f7fffffe BL I2C_SendData
000042 4d13 LDR r5,|L4.144|
000044 1cad ADDS r5,r5,#2
|L4.70|
;;;261
;;;262 /* Test on I2C1 EV8 and clear it */
;;;263 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) /* EV8 */
000046 4629 MOV r1,r5
000048 4630 MOV r0,r6
00004a f7fffffe BL I2C_CheckEvent
00004e 2800 CMP r0,#0
000050 d0f9 BEQ |L4.70|
;;;264 {
;;;265 }
;;;266
;;;267 /* Send I2C1 data */
;;;268 I2C_SendData(I2C1, (u8)(RegValue >> 8));
000052 0a21 LSRS r1,r4,#8
000054 4630 MOV r0,r6
000056 f7fffffe BL I2C_SendData
|L4.90|
;;;269
;;;270 /* Test on I2C1 EV8 and clear it */
;;;271 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) /* EV8 */
00005a 4629 MOV r1,r5
00005c 4630 MOV r0,r6
00005e f7fffffe BL I2C_CheckEvent
000062 2800 CMP r0,#0
000064 d0f9 BEQ |L4.90|
;;;272 {
;;;273 }
;;;274
;;;275 /* Send I2C1 data */
;;;276 I2C_SendData(I2C1, (u8)RegValue);
000066 b2e1 UXTB r1,r4
000068 4630 MOV r0,r6
00006a f7fffffe BL I2C_SendData
|L4.110|
;;;277
;;;278 /* Test on I2C1 EV8 and clear it */
;;;279 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) /* EV8 */
00006e 4629 MOV r1,r5
000070 4630 MOV r0,r6
000072 f7fffffe BL I2C_CheckEvent
000076 2800 CMP r0,#0
000078 d0f9 BEQ |L4.110|
;;;280 {
;;;281 }
;;;282
;;;283 /* Send I2C1 STOP Condition */
;;;284 I2C_GenerateSTOP(I2C1, ENABLE);
00007a 4630 MOV r0,r6
00007c e8bd41f0 POP {r4-r8,lr}
000080 2101 MOVS r1,#1
000082 f7ffbffe B.W I2C_GenerateSTOP
;;;285 }
;;;286
ENDP
000086 0000 DCW 0x0000
|L4.136|
000088 40005400 DCD 0x40005400
|L4.140|
00008c 00030001 DCD 0x00030001
|L4.144|
000090 00070082 DCD 0x00070082
AREA ||i.I2C_LM75_Temp_Read||, CODE, READONLY, ALIGN=2
I2C_LM75_Temp_Read PROC
;;;294 u16 I2C_LM75_Temp_Read(void)
;;;295 {
000000 b570 PUSH {r4-r6,lr}
;;;296 u32 RegValue = 0;
;;;297
;;;298 /* Enable I2C1 acknowledgement if it is already disabled by other function */
;;;299 I2C_AcknowledgeConfig(I2C1, ENABLE);
000002 4c30 LDR r4,|L5.196|
000004 2101 MOVS r1,#1
000006 4620 MOV r0,r4
000008 f7fffffe BL I2C_AcknowledgeConfig
;;;300
;;;301 /*----- Transmission Phase -----*/
;;;302 /* Send I2C1 START condition */
;;;303 I2C_GenerateSTART(I2C1, ENABLE);
00000c 2101 MOVS r1,#1
00000e 4620 MOV r0,r4
000010 f7fffffe BL I2C_GenerateSTART
000014 4d2c LDR r5,|L5.200|
|L5.22|
;;;304
;;;305 /* Test on I2C1 EV5 and clear it */
;;;306 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) /* EV5 */
000016 4620 MOV r0,r4
000018 4629 MOV r1,r5
00001a f7fffffe BL I2C_CheckEvent
00001e 2800 CMP r0,#0
000020 d0f9 BEQ |L5.22|
;;;307 {
;;;308 }
;;;309
;;;310 /* Send STLM75 slave address for write */
;;;311 I2C_Send7bitAddress(I2C1, LM75_Addr, I2C_Direction_Transmitter);
000022 2200 MOVS r2,#0
000024 2190 MOVS r1,#0x90
000026 4620 MOV r0,r4
000028 f7fffffe BL I2C_Send7bitAddress
00002c 4e27 LDR r6,|L5.204|
|L5.46|
;;;312
;;;313 /* Test on I2C1 EV6 and clear it */
;;;314 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) /* EV6 */
00002e 4620 MOV r0,r4
000030 4631 MOV r1,r6
000032 f7fffffe BL I2C_CheckEvent
000036 2800 CMP r0,#0
000038 d0f9 BEQ |L5.46|
;;;315 {
;;;316 }
;;;317
;;;318 /* Send the temperature register data pointer */
;;;319 I2C_SendData(I2C1, LM75_TEMP_Reg);
00003a 2100 MOVS r1,#0
00003c 4620 MOV r0,r4
00003e f7fffffe BL I2C_SendData
000042 4e22 LDR r6,|L5.204|
000044 1cb6 ADDS r6,r6,#2
|L5.70|
;;;320
;;;321 /* Test on I2C1 EV8 and clear it */
;;;322 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) /* EV8 */
000046 4631 MOV r1,r6
000048 4620 MOV r0,r4
00004a f7fffffe BL I2C_CheckEvent
00004e 2800 CMP r0,#0
000050 d0f9 BEQ |L5.70|
;;;323 {
;;;324 }
;;;325
;;;326 /*----- Reception Phase -----*/
;;;327 /* Send Re-STRAT condition */
;;;328 I2C_GenerateSTART(I2C1, ENABLE);
000052 2101 MOVS r1,#1
000054 4620 MOV r0,r4
000056 f7fffffe BL I2C_GenerateSTART
|L5.90|
;;;329
;;;330 /* Test on EV5 and clear it */
;;;331 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) /* EV5 */
00005a 4629 MOV r1,r5
00005c 4620 MOV r0,r4
00005e f7fffffe BL I2C_CheckEvent
000062 2800 CMP r0,#0
000064 d0f9 BEQ |L5.90|
;;;332 {
;;;333 }
;;;334
;;;335 /* Send STLM75 slave address for read */
;;;336 I2C_Send7bitAddress(I2C1, LM75_Addr, I2C_Direction_Receiver);
000066 2201 MOVS r2,#1
000068 2190 MOVS r1,#0x90
00006a 4620 MOV r0,r4
00006c f7fffffe BL I2C_Send7bitAddress
000070 4e15 LDR r6,|L5.200|
000072 4d15 LDR r5,|L5.200|
000074 1c76 ADDS r6,r6,#1
000076 353f ADDS r5,r5,#0x3f
|L5.120|
;;;337
;;;338 /* Test on EV6 and clear it */
;;;339 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) /* EV6 */
000078 4631 MOV r1,r6
00007a 4620 MOV r0,r4
00007c f7fffffe BL I2C_CheckEvent
000080 2800 CMP r0,#0
000082 d0f9 BEQ |L5.120|
|L5.132|
;;;340 {
;;;341 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -