📄 stm32f10x_usart.lst
字号:
288:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Configure the USART Clock, CPOL, CPHA and LastBit ------------*/
289:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set CLKEN bit according to USART_Clock value */
290:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set CPOL bit according to USART_CPOL value */
291:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set CPHA bit according to USART_CPHA value */
292:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set LBCL bit according to USART_LastBit value */
293:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg |= (uint32_t)USART_ClockInitStruct->USART_Clock | USART_ClockInitStruct->USART_CPOL |
294:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_ClockInitStruct->USART_CPHA | USART_ClockInitStruct->USART_LastBit;
295:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Write to USART CR2 */
296:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR2 = (uint16_t)tmpreg;
70 .loc 1 296 0
71 0002 0C88 ldrh r4, [r1, #0]
72 0004 4B88 ldrh r3, [r1, #2]
73 .loc 1 285 0
74 0006 028A ldrh r2, [r0, #16]
75 .loc 1 296 0
76 0008 2343 orrs r3, r3, r4
77 000a 8C88 ldrh r4, [r1, #4]
78 000c C988 ldrh r1, [r1, #6]
79 .LVL2:
80 .loc 1 287 0
81 000e 22F47062 bic r2, r2, #3840
82 .LVL3:
83 .loc 1 296 0
84 0012 2343 orrs r3, r3, r4
85 .loc 1 287 0
86 0014 1204 lsls r2, r2, #16
87 .loc 1 296 0
88 0016 0B43 orrs r3, r3, r1
89 .loc 1 287 0
90 0018 120C lsrs r2, r2, #16
91 .loc 1 296 0
92 001a 9BB2 uxth r3, r3
93 001c 1343 orrs r3, r3, r2
94 001e 0382 strh r3, [r0, #16] @ movhi
297:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
95 .loc 1 297 0
96 0020 10BD pop {r4, pc}
97 .LFE29:
99 0022 C046 .section .text.USART_ClockStructInit,"ax",%progbits
100 .align 2
101 .global USART_ClockStructInit
102 .thumb
103 .thumb_func
105 USART_ClockStructInit:
106 .LFB30:
298:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
299:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
300:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Fills each USART_ClockInitStruct member with its default value.
301:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_ClockInitStruct: pointer to a USART_ClockInitTypeDef
302:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * structure which will be initialized.
303:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval : None
304:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
305:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_ClockStructInit(USART_ClockInitTypeDef* USART_ClockInitStruct)
306:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
107 .loc 1 306 0
108 @ args = 0, pretend = 0, frame = 0
109 @ frame_needed = 0, uses_anonymous_args = 0
110 @ link register save eliminated.
111 .LVL4:
307:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* USART_ClockInitStruct members default value */
308:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_ClockInitStruct->USART_Clock = USART_Clock_Disable;
112 .loc 1 308 0
113 0000 0023 movs r3, #0
114 0002 0380 strh r3, [r0, #0] @ movhi
309:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_ClockInitStruct->USART_CPOL = USART_CPOL_Low;
115 .loc 1 309 0
116 0004 4380 strh r3, [r0, #2] @ movhi
310:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_ClockInitStruct->USART_CPHA = USART_CPHA_1Edge;
117 .loc 1 310 0
118 0006 8380 strh r3, [r0, #4] @ movhi
311:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_ClockInitStruct->USART_LastBit = USART_LastBit_Disable;
119 .loc 1 311 0
120 0008 C380 strh r3, [r0, #6] @ movhi
312:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
121 .loc 1 312 0
122 000a 7047 bx lr
123 .LFE30:
125 .section .text.USART_Cmd,"ax",%progbits
126 .align 2
127 .global USART_Cmd
128 .thumb
129 .thumb_func
131 USART_Cmd:
132 .LFB31:
313:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
314:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
315:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables the specified USART peripheral.
316:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
317:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
318:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
319:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the USARTx peripheral.
320:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
321:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval : None
322:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
323:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState)
324:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
133 .loc 1 324 0
134 @ args = 0, pretend = 0, frame = 0
135 @ frame_needed = 0, uses_anonymous_args = 0
136 @ link register save eliminated.
137 .LVL5:
325:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
326:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
327:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
328:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
329:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
138 .loc 1 329 0
139 0000 21B1 cbz r1, .L8
330:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
331:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Enable the selected USART by setting the UE bit in the CR1 register */
332:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR1 |= CR1_UE_Set;
140 .loc 1 332 0
141 0002 8389 ldrh r3, [r0, #12]
142 0004 9BB2 uxth r3, r3
143 0006 43F40053 orr r3, r3, #8192
144 000a 04E0 b .L11
145 .L8:
333:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
334:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
335:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
336:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Disable the selected USART by clearing the UE bit in the CR1 register */
337:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR1 &= CR1_UE_Reset;
146 .loc 1 337 0
147 000c 8389 ldrh r3, [r0, #12]
148 000e 23F40053 bic r3, r3, #8192
149 0012 1B04 lsls r3, r3, #16
150 0014 1B0C lsrs r3, r3, #16
151 .L11:
152 0016 8381 strh r3, [r0, #12] @ movhi
338:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
339:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
153 .loc 1 339 0
154 0018 7047 bx lr
155 .LFE31:
157 001a C046 .section .text.USART_ITConfig,"ax",%progbits
158 .align 2
159 .global USART_ITConfig
160 .thumb
161 .thumb_func
163 USART_ITConfig:
164 .LFB32:
340:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
341:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
342:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables the specified USART interrupts.
343:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
344:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
345:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
346:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_IT: specifies the USART interrupt sources to be
347:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * enabled or disabled.
348:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
349:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_CTS: CTS change interrupt (not available for
350:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * UART4 and UART5)
351:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_LBD: LIN Break detection interrupt
352:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_TXE: Tansmit Data Register empty interrupt
353:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_TC: Transmission complete interrupt
354:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_RXNE: Receive Data register not empty
355:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * interrupt
356:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_IDLE: Idle line detection interrupt
357:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_PE: Parity Error interrupt
358:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_ERR: Error interrupt(Frame error, noise
359:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * error, overrun error)
360:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the specified USARTx interrupts.
361:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
362:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval : None
363:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
364:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_ITConfig(USART_TypeDef* USARTx, uint16_t USART_IT, FunctionalState NewState)
365:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
165 .loc 1 365 0
166 @ args = 0, pretend = 0, frame = 8
167 @ frame_needed = 0, uses_anonymous_args = 0
168 @ link register save eliminated.
169 .LVL6:
366:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** uint32_t usartreg = 0x00, itpos = 0x00, itmask = 0x00;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -