📄 probe_rs232c.txt
字号:
;;;321 usart_init.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
;;;322 usart_init.USART_Clock = USART_Clock_Disable;
;;;323 usart_init.USART_CPOL = USART_CPOL_Low;
;;;324 usart_init.USART_CPHA = USART_CPHA_2Edge;
;;;325 usart_init.USART_LastBit = USART_LastBit_Disable;
;;;326
;;;327 USART_Init(USART3, &usart_init);
;;;328 USART_Cmd(USART3, ENABLE);
;;;329
;;;330 nvic_init.NVIC_IRQChannel = USART3_IRQChannel;
;;;331 nvic_init.NVIC_IRQChannelPreemptionPriority = 0;
;;;332 nvic_init.NVIC_IRQChannelSubPriority = 0;
;;;333 nvic_init.NVIC_IRQChannelCmd = ENABLE;
;;;334 NVIC_Init(&nvic_init);
;;;335 #endif
;;;336 }
00009e b008 ADD sp,sp,#0x20
0000a0 bd70 POP {r4-r6,pc}
;;;337
ENDP
ProbeRS232_RxTxISRHandler PROC
;;;355 void ProbeRS232_RxTxISRHandler (void)
;;;356 {
0000a2 b510 PUSH {r4,lr}
;;;357 CPU_INT08U rx_data;
;;;358 CPU_SR cpu_sr;
;;;359
;;;360
;;;361 CPU_CRITICAL_ENTER(); /* Tell uC/OS-II that we are starting an ISR */
0000a4 f7fff7ff BL CPU_SR_Save
;;;362 OSIntNesting++;
0000a8 4925 LDR r1,|L1.320|
0000aa 780a LDRB r2,[r1,#0] ; OSIntNesting
0000ac 1c52 ADDS r2,r2,#1
0000ae 700a STRB r2,[r1,#0] ; OSIntNesting
;;;363 CPU_CRITICAL_EXIT();
0000b0 f7fff7ff BL CPU_SR_Restore
;;;364
;;;365
;;;366 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_1)
;;;367 if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) {
0000b4 4c21 LDR r4,|L1.316|
0000b6 f240f240 MOV r1,#0x525
0000ba 4620 MOV r0,r4
0000bc f7fff7ff BL USART_GetITStatus
0000c0 b150 CBZ r0,|L1.216|
;;;368
;;;369 rx_data = USART_ReceiveData(USART1) & 0xFF; /* Read one byte from the receive data register */
0000c2 4620 MOV r0,r4
0000c4 f7fff7ff BL USART_ReceiveData
0000c8 b2c0 UXTB r0,r0
;;;370 ProbeRS232_RxHandler(rx_data);
0000ca f7fff7ff BL ProbeRS232_RxHandler
;;;371
;;;372 USART_ClearITPendingBit(USART1, USART_IT_RXNE); /* Clear the USART1 Receive interrupt */
0000ce f240f240 MOV r1,#0x525
0000d2 4620 MOV r0,r4
0000d4 f7fff7ff BL USART_ClearITPendingBit
|L1.216|
;;;373 }
;;;374
;;;375 if(USART_GetITStatus(USART1, USART_IT_TXE) != RESET) {
0000d8 f240f240 MOV r1,#0x727
0000dc 4620 MOV r0,r4
0000de f7fff7ff BL USART_GetITStatus
0000e2 b130 CBZ r0,|L1.242|
;;;376 ProbeRS232_TxHandler();
0000e4 f7fff7ff BL ProbeRS232_TxHandler
;;;377
;;;378 USART_ClearITPendingBit(USART1, USART_IT_TXE); /* Clear the USART1 transmit interrupt */
0000e8 f240f240 MOV r1,#0x727
0000ec 4620 MOV r0,r4
0000ee f7fff7ff BL USART_ClearITPendingBit
|L1.242|
;;;379 }
;;;380 #endif
;;;381
;;;382 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_2)
;;;383 if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) {
;;;384
;;;385 rx_data = USART_ReceiveData(USART2) & 0xFF; /* Read one byte from the receive data register */
;;;386 ProbeRS232_RxHandler(rx_data);
;;;387
;;;388 USART_ClearITPendingBit(USART2, USART_IT_RXNE); /* Clear the USART1 Receive interrupt */
;;;389 }
;;;390
;;;391 if(USART_GetITStatus(USART2, USART_IT_TXE) != RESET) {
;;;392 ProbeRS232_TxHandler();
;;;393
;;;394 USART_ClearITPendingBit(USART2, USART_IT_TXE); /* Clear the USART1 transmit interrupt */
;;;395 }
;;;396 #endif
;;;397
;;;398 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_3)
;;;399 if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET) {
;;;400
;;;401 rx_data = USART_ReceiveData(USART3) & 0xFF; /* Read one byte from the receive data register */
;;;402 ProbeRS232_RxHandler(rx_data);
;;;403
;;;404 USART_ClearITPendingBit(USART3, USART_IT_RXNE); /* Clear the USART1 Receive interrupt */
;;;405 }
;;;406
;;;407 if(USART_GetITStatus(USART3, USART_IT_TXE) != RESET) {
;;;408 ProbeRS232_TxHandler();
;;;409
;;;410 USART_ClearITPendingBit(USART3, USART_IT_TXE); /* Clear the USART1 transmit interrupt */
;;;411 }
;;;412 #endif
;;;413
;;;414 OSIntExit(); /* Tell uC/OS-II that we are leaving the ISR */
0000f2 e8bde8bd POP {r4,lr}
0000f6 f7fff7ff B.W OSIntExit
;;;415 }
;;;416
ENDP
ProbeRS232_RxISRHandler PROC
;;;432 {
;;;433 }
0000fa 4770 BX lr
;;;434
ENDP
ProbeRS232_TxISRHandler PROC
;;;436 {
;;;437 }
0000fc 4770 BX lr
;;;438
ENDP
ProbeRS232_Tx1 PROC
;;;453 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_1)
;;;454 USART_SendData(USART1, c);
0000fe 4601 MOV r1,r0
000100 480e LDR r0,|L1.316|
000102 f7fff7ff B.W USART_SendData
;;;455 #endif
;;;456
;;;457 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_2)
;;;458 USART_SendData(USART2, c);
;;;459 #endif
;;;460
;;;461 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_3)
;;;462 USART_SendData(USART3, c);
;;;463 #endif
;;;464 }
;;;465
ENDP
ProbeRS232_TxIntDis PROC
;;;480 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_1)
;;;481 USART_ITConfig(USART1, USART_IT_TXE, DISABLE);
000106 2200 MOVS r2,#0
000108 f240f240 MOV r1,#0x727
00010c 480b LDR r0,|L1.316|
00010e f7fff7ff B.W USART_ITConfig
;;;482 #endif
;;;483
;;;484 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_2)
;;;485 USART_ITConfig(USART2, USART_IT_TXE, DISABLE);
;;;486 #endif
;;;487
;;;488 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_3)
;;;489 USART_ITConfig(USART3, USART_IT_TXE, DISABLE);
;;;490 #endif
;;;491 }
;;;492
ENDP
ProbeRS232_TxIntEn PROC
;;;495 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_1)
;;;496 USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
000112 2201 MOVS r2,#1
000114 f240f240 MOV r1,#0x727
000118 4808 LDR r0,|L1.316|
00011a f7fff7ff B.W USART_ITConfig
;;;497 #endif
;;;498
;;;499 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_2)
;;;500 USART_ITConfig(USART2, USART_IT_TXE, ENABLE);
;;;501 #endif
;;;502
;;;503 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_3)
;;;504 USART_ITConfig(USART3, USART_IT_TXE, ENABLE);
;;;505 #endif
;;;506 }
;;;507
ENDP
ProbeRS232_RxIntDis PROC
;;;522 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_1)
;;;523 USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);
00011e 2200 MOVS r2,#0
000120 f240f240 MOV r1,#0x525
000124 4805 LDR r0,|L1.316|
000126 f7fff7ff B.W USART_ITConfig
;;;524 #endif
;;;525
;;;526 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_2)
;;;527 USART_ITConfig(USART2, USART_IT_RXNE, DISABLE);
;;;528 #endif
;;;529
;;;530 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_3)
;;;531 USART_ITConfig(USART3, USART_IT_RXNE, DISABLE);
;;;532 #endif
;;;533 }
;;;534
ENDP
ProbeRS232_RxIntEn PROC
;;;537 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_1)
;;;538 USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
00012a 2201 MOVS r2,#1
00012c f240f240 MOV r1,#0x525
000130 4802 LDR r0,|L1.316|
000132 f7fff7ff B.W USART_ITConfig
;;;539 #endif
;;;540
;;;541 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_2)
;;;542 USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
;;;543 #endif
;;;544
;;;545 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_3)
;;;546 USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
;;;547 #endif
;;;548 }
ENDP
000136 0000 DCW 0x0000
|L1.312|
000138 40010800 DCD 0x40010800
|L1.316|
00013c 40013800 DCD 0x40013800
|L1.320|
000140 00000000 DCD OSIntNesting
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -