📄 probe_rs232c.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 914] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\probe_rs232c.o --depend=.\rvmdk\probe_rs232c.d --device=DARMSTM -O1 -Otime -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\arm-cortex-m3\Generic\RealView -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\CPU\ST\STM32\inc -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\Arm-Cortex-M3\RealView -I..\..\..\..\..\uC-LIB -I..\..\..\..\..\uC-Probe\Target\Plugins\uCOS-II -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\Source -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Ports\ST\STM32 -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Source -ID:\Keil\ARM\INC\ST\STM32F10x ..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Ports\ST\STM32\probe_rs232c.c]
THUMB
AREA ||.text||, CODE, READONLY, ALIGN=2
ProbeRS232_InitTarget PROC
;;;143 void ProbeRS232_InitTarget (CPU_INT32U baud_rate)
;;;144 {
000000 b570 PUSH {r4-r6,lr}
000002 b088 SUB sp,sp,#0x20
000004 4604 MOV r4,r0
;;;145 GPIO_InitTypeDef gpio_init;
;;;146 USART_InitTypeDef usart_init;
;;;147 NVIC_InitTypeDef nvic_init;
;;;148
;;;149
;;;150 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_1)
;;;151 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
000006 2101 MOVS r1,#1
000008 0388 LSLS r0,r1,#14
00000a f7fff7ff BL RCC_APB2PeriphClockCmd
;;;152
;;;153 /* ------------------- SETUP USART1 GPIO ------------------ */
;;;154 #if (PROBE_RS232_UART_1_REMAP > 0)
;;;155 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
;;;156 GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);
;;;157
;;;158 /* Configure GPIOB.6 as push-pull */
;;;159 gpio_init.GPIO_Pin = GPIO_Pin_6;
;;;160 gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
;;;161 gpio_init.GPIO_Mode = GPIO_Mode_AF_PP;
;;;162 GPIO_Init(GPIOD, &gpio_init);
;;;163
;;;164 /* Configure GPIOB.7 as input floating */
;;;165 gpio_init.GPIO_Pin = GPIO_Pin_7;
;;;166 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
;;;167 GPIO_Init(GPIOB, &gpio_init);
;;;168 #else
;;;169 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
00000e 2101 MOVS r1,#1
000010 2004 MOVS r0,#4
000012 f7fff7ff BL RCC_APB2PeriphClockCmd
;;;170
;;;171 /* Configure GPIOA.9 as push-pull */
;;;172 gpio_init.GPIO_Pin = GPIO_Pin_9;
000016 f44ff44f MOV r5,#0x200
00001a f8adf8ad STRH r5,[sp,#0x1c]
;;;173 gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
00001e 2003 MOVS r0,#3
000020 f88df88d STRB r0,[sp,#0x1e]
;;;174 gpio_init.GPIO_Mode = GPIO_Mode_AF_PP;
000024 2018 MOVS r0,#0x18
000026 f88df88d STRB r0,[sp,#0x1f]
;;;175 GPIO_Init(GPIOA, &gpio_init);
00002a 4e43 LDR r6,|L1.312|
00002c a907 ADD r1,sp,#0x1c
00002e 4630 MOV r0,r6
000030 f7fff7ff BL GPIO_Init
;;;176
;;;177 /* Configure GPIOA.10 as input floating */
;;;178 gpio_init.GPIO_Pin = GPIO_Pin_10;
000034 0068 LSLS r0,r5,#1
000036 f8adf8ad STRH r0,[sp,#0x1c]
;;;179 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
00003a 2004 MOVS r0,#4
00003c f88df88d STRB r0,[sp,#0x1f]
;;;180 GPIO_Init(GPIOA, &gpio_init);
000040 a907 ADD r1,sp,#0x1c
000042 4630 MOV r0,r6
000044 f7fff7ff BL GPIO_Init
;;;181 #endif
;;;182
;;;183 /* -------------------- SETUP USART1 ---------------------- */
;;;184 usart_init.USART_BaudRate = baud_rate;
000048 9401 STR r4,[sp,#4]
;;;185 usart_init.USART_WordLength = USART_WordLength_8b;
00004a 2400 MOVS r4,#0
00004c f8adf8ad STRH r4,[sp,#8]
;;;186 usart_init.USART_StopBits = USART_StopBits_1;
000050 f8adf8ad STRH r4,[sp,#0xa]
;;;187 usart_init.USART_Parity = USART_Parity_No ;
000054 f8adf8ad STRH r4,[sp,#0xc]
;;;188 usart_init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
000058 f8adf8ad STRH r4,[sp,#0xe]
;;;189 usart_init.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
00005c 200c MOVS r0,#0xc
00005e f8adf8ad STRH r0,[sp,#0x10]
;;;190 usart_init.USART_Clock = USART_Clock_Disable;
000062 f8adf8ad STRH r4,[sp,#0x12]
;;;191 usart_init.USART_CPOL = USART_CPOL_Low;
000066 f8adf8ad STRH r4,[sp,#0x14]
;;;192 usart_init.USART_CPHA = USART_CPHA_2Edge;
00006a f8adf8ad STRH r5,[sp,#0x16]
;;;193 usart_init.USART_LastBit = USART_LastBit_Disable;
00006e f8adf8ad STRH r4,[sp,#0x18]
;;;194
;;;195 USART_Init(USART1, &usart_init);
000072 4d32 LDR r5,|L1.316|
000074 a901 ADD r1,sp,#4
000076 4628 MOV r0,r5
000078 f7fff7ff BL USART_Init
;;;196 USART_Cmd(USART1, ENABLE);
00007c 2101 MOVS r1,#1
00007e 4628 MOV r0,r5
000080 f7fff7ff BL USART_Cmd
;;;197
;;;198 nvic_init.NVIC_IRQChannel = USART1_IRQChannel;
000084 2025 MOVS r0,#0x25
000086 f88df88d STRB r0,[sp,#0]
;;;199 nvic_init.NVIC_IRQChannelPreemptionPriority = 0;
00008a f88df88d STRB r4,[sp,#1]
;;;200 nvic_init.NVIC_IRQChannelSubPriority = 0;
00008e f88df88d STRB r4,[sp,#2]
;;;201 nvic_init.NVIC_IRQChannelCmd = ENABLE;
000092 2001 MOVS r0,#1
000094 f88df88d STRB r0,[sp,#3]
;;;202 NVIC_Init(&nvic_init);
000098 4668 MOV r0,sp
00009a f7fff7ff BL NVIC_Init
;;;203 #endif
;;;204
;;;205 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_2)
;;;206 RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
;;;207
;;;208 /* ------------------- SETUP USART2 GPIO ------------------ */
;;;209 #if (PROBE_RS232_UART_2_REMAP > 0)
;;;210 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE);
;;;211 GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);
;;;212
;;;213 /* Configure GPIOD.4 as push-pull */
;;;214 gpio_init.GPIO_Pin = GPIO_Pin_4;
;;;215 gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
;;;216 gpio_init.GPIO_Mode = GPIO_Mode_AF_PP;
;;;217 GPIO_Init(GPIOD, &gpio_init);
;;;218
;;;219 /* Configure GPIOD.3 as input floating */
;;;220 gpio_init.GPIO_Pin = GPIO_Pin_3;
;;;221 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
;;;222 GPIO_Init(GPIOD, &gpio_init);
;;;223 #else
;;;224 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
;;;225
;;;226 /* Configure GPIOA.2 as push-pull */
;;;227 gpio_init.GPIO_Pin = GPIO_Pin_2;
;;;228 gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
;;;229 gpio_init.GPIO_Mode = GPIO_Mode_AF_PP;
;;;230 GPIO_Init(GPIOA, &gpio_init);
;;;231
;;;232 /* Configure GPIOA.3 as input floating */
;;;233 gpio_init.GPIO_Pin = GPIO_Pin_3;
;;;234 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
;;;235 GPIO_Init(GPIOA, &gpio_init);
;;;236 #endif
;;;237
;;;238
;;;239
;;;240 /* -------------------- SETUP USART2 ---------------------- */
;;;241 usart_init.USART_BaudRate = baud_rate;
;;;242 usart_init.USART_WordLength = USART_WordLength_8b;
;;;243 usart_init.USART_StopBits = USART_StopBits_1;
;;;244 usart_init.USART_Parity = USART_Parity_No ;
;;;245 usart_init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
;;;246 usart_init.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
;;;247 usart_init.USART_Clock = USART_Clock_Disable;
;;;248 usart_init.USART_CPOL = USART_CPOL_Low;
;;;249 usart_init.USART_CPHA = USART_CPHA_2Edge;
;;;250 usart_init.USART_LastBit = USART_LastBit_Disable;
;;;251
;;;252 USART_Init(USART2, &usart_init);
;;;253 USART_Cmd(USART2, ENABLE);
;;;254
;;;255 nvic_init.NVIC_IRQChannel = USART2_IRQChannel;
;;;256 nvic_init.NVIC_IRQChannelPreemptionPriority = 0;
;;;257 nvic_init.NVIC_IRQChannelSubPriority = 0;
;;;258 nvic_init.NVIC_IRQChannelCmd = ENABLE;
;;;259 NVIC_Init(&nvic_init);
;;;260 #endif
;;;261
;;;262 #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_3)
;;;263 RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);
;;;264
;;;265 /* ------------------- SETUP USART3 GPIO ------------------ */
;;;266 #if (PROBE_RS232_UART_3_REMAP_PARTIAL > 0)
;;;267 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);
;;;268 GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE);
;;;269
;;;270 /* Configure GPIOC.10 as push-pull */
;;;271 gpio_init.GPIO_Pin = GPIO_Pin_10;
;;;272 gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
;;;273 gpio_init.GPIO_Mode = GPIO_Mode_AF_PP;
;;;274 GPIO_Init(GPIOC, &gpio_init);
;;;275
;;;276 /* Configure GPIOC.11 as input floating */
;;;277 gpio_init.GPIO_Pin = GPIO_Pin_11;
;;;278 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
;;;279 GPIO_Init(GPIOC, &gpio_init);
;;;280
;;;281 #elif (PROBE_RS232_UART_3_REMAP_FULL > 0)
;;;282
;;;283 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE);
;;;284 GPIO_PinRemapConfig(GPIO_FullRemap_USART3, ENABLE);
;;;285
;;;286 /* Configure GPIOD.8 as push-pull */
;;;287 gpio_init.GPIO_Pin = GPIO_Pin_8;
;;;288 gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
;;;289 gpio_init.GPIO_Mode = GPIO_Mode_AF_PP;
;;;290 GPIO_Init(GPIOD, &gpio_init);
;;;291
;;;292 /* Configure GPIOD.9 as input floating */
;;;293 gpio_init.GPIO_Pin = GPIO_Pin_9;
;;;294 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
;;;295 GPIO_Init(GPIOD, &gpio_init);
;;;296
;;;297 #else
;;;298
;;;299 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
;;;300
;;;301 /* Configure GPIOB.10 as push-pull */
;;;302 gpio_init.GPIO_Pin = GPIO_Pin_10;
;;;303 gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
;;;304 gpio_init.GPIO_Mode = GPIO_Mode_AF_PP;
;;;305 GPIO_Init(GPIOB, &gpio_init);
;;;306
;;;307 /* Configure GPIOB.11 as input floating */
;;;308 gpio_init.GPIO_Pin = GPIO_Pin_11;
;;;309 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
;;;310 GPIO_Init(GPIOB, &gpio_init);
;;;311 #endif
;;;312
;;;313
;;;314
;;;315 /* -------------------- SETUP USART3 ---------------------- */
;;;316 usart_init.USART_BaudRate = baud_rate;
;;;317 usart_init.USART_WordLength = USART_WordLength_8b;
;;;318 usart_init.USART_StopBits = USART_StopBits_1;
;;;319 usart_init.USART_Parity = USART_Parity_No ;
;;;320 usart_init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -