⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stm32f10x_usart.lst

📁 STM32 "kickstart" program with newlib/stdio like sprintf&printf
💻 LST
📖 第 1 页 / 共 5 页
字号:
 152:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****       RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART4, ENABLE);
 153:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****       RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART4, DISABLE);
 154:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****       break;
 155:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****     
 156:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****     case UART5_BASE:
 157:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****       RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART5, ENABLE);
 158:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****       RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART5, DISABLE);
 159:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****       break;            
 160:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****     default:
 161:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****       break;
 162:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   }
 163:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
 164:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** 
 165:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
 166:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   * @brief  Initializes the USARTx peripheral according to the specified
 167:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   *   parameters in the USART_InitStruct .
 168:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   * @param USARTx: Select the USART or the UART peripheral. 
 169:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   *   This parameter can be one of the following values:
 170:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   *   USART1, USART2, USART3, UART4 or UART5.
 171:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   * @param USART_InitStruct: pointer to a USART_InitTypeDef structure
 172:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   *   that contains the configuration information for the
 173:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   *   specified USART peripheral.
 174:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   * @retval : None
 175:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   */
 176:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)
 177:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
 178:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   uint32_t tmpreg = 0x00, apbclock = 0x00;
 179:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   uint32_t integerdivider = 0x00;
 180:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   uint32_t fractionaldivider = 0x00;
 181:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   uint32_t usartxbase = 0;
 182:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   RCC_ClocksTypeDef RCC_ClocksStatus;
 183:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Check the parameters */
 184:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_ALL_PERIPH(USARTx));
 185:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_BAUDRATE(USART_InitStruct->USART_BaudRate));  
 186:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_WORD_LENGTH(USART_InitStruct->USART_WordLength));
 187:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_STOPBITS(USART_InitStruct->USART_StopBits));
 188:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_PARITY(USART_InitStruct->USART_Parity));
 189:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_MODE(USART_InitStruct->USART_Mode));
 190:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_HARDWARE_FLOW_CONTROL(USART_InitStruct->USART_HardwareFlowControl));
 191:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* The hardware flow control is available only for USART1, USART2 and USART3 */
 192:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_PERIPH_HFC(USARTx, USART_InitStruct->USART_HardwareFlowControl));
 193:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** 
 194:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   usartxbase = (*(uint32_t*)&USARTx);
 195:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /*---------------------------- USART CR2 Configuration -----------------------*/
 196:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg = USARTx->CR2;
 197:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Clear STOP[13:12] bits */
 198:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg &= CR2_STOP_CLEAR_Mask;
 199:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Configure the USART Stop Bits, Clock, CPOL, CPHA and LastBit ------------*/
 200:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Set STOP[13:12] bits according to USART_StopBits value */
 201:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg |= (uint32_t)USART_InitStruct->USART_StopBits;
 202:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   
 203:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Write to USART CR2 */
 204:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   USARTx->CR2 = (uint16_t)tmpreg;
 205:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /*---------------------------- USART CR1 Configuration -----------------------*/
 206:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg = USARTx->CR1;
 207:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Clear M, PCE, PS, TE and RE bits */
 208:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg &= CR1_CLEAR_Mask;
 209:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Configure the USART Word Length, Parity and mode ----------------------- */
 210:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Set the M bits according to USART_WordLength value */
 211:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Set PCE and PS bits according to USART_Parity value */
 212:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Set TE and RE bits according to USART_Mode value */
 213:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg |= (uint32_t)USART_InitStruct->USART_WordLength | USART_InitStruct->USART_Parity |
 214:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****             USART_InitStruct->USART_Mode;
 215:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Write to USART CR1 */
 216:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   USARTx->CR1 = (uint16_t)tmpreg;
 217:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /*---------------------------- USART CR3 Configuration -----------------------*/  
 218:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg = USARTx->CR3;
 219:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Clear CTSE and RTSE bits */
 220:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg &= CR3_CLEAR_Mask;
 221:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Configure the USART HFC -------------------------------------------------*/
 222:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Set CTSE and RTSE bits according to USART_HardwareFlowControl value */
 223:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg |= USART_InitStruct->USART_HardwareFlowControl;
 224:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Write to USART CR3 */
 225:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   USARTx->CR3 = (uint16_t)tmpreg;
 226:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /*---------------------------- USART BRR Configuration -----------------------*/
 227:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Configure the USART Baud Rate -------------------------------------------*/
 228:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   RCC_GetClocksFreq(&RCC_ClocksStatus);
 229:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   if (usartxbase == USART1_BASE)
 230:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   {
 231:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****     apbclock = RCC_ClocksStatus.PCLK2_Frequency;
 232:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   }
 233:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   else
 234:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   {
 235:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****     apbclock = RCC_ClocksStatus.PCLK1_Frequency;
 236:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   }
 237:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Determine the integer part */
 238:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   integerdivider = ((0x19 * apbclock) / (0x04 * (USART_InitStruct->USART_BaudRate)));
 239:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg = (integerdivider / 0x64) << 0x04;
 240:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Determine the fractional part */
 241:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   fractionaldivider = integerdivider - (0x64 * (tmpreg >> 0x04));
 242:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg |= ((((fractionaldivider * 0x10) + 0x32) / 0x64)) & ((uint8_t)0x0F);
 243:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Write to USART BRR */
 244:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   USARTx->BRR = (uint16_t)tmpreg;
 245:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
 246:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** 
 247:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
 248:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   * @brief  Fills each USART_InitStruct member with its default value.
 249:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   * @param USART_InitStruct: pointer to a USART_InitTypeDef structure
 250:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   *   which will be initialized.
 251:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   * @retval : None
 252:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   */
 253:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_StructInit(USART_InitTypeDef* USART_InitStruct)
 254:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
  31              		.loc 1 254 0
  32              		@ args = 0, pretend = 0, frame = 0
  33              		@ frame_needed = 0, uses_anonymous_args = 0
  34              		@ link register save eliminated.
  35              	.LVL0:
 255:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* USART_InitStruct members default value */
 256:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   USART_InitStruct->USART_BaudRate = 9600;
  36              		.loc 1 256 0
  37 0000 4FF41653 		mov	r3, #9600
  38 0004 0360     		str	r3, [r0, #0]
 257:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   USART_InitStruct->USART_WordLength = USART_WordLength_8b;
 258:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   USART_InitStruct->USART_StopBits = USART_StopBits_1;
 259:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   USART_InitStruct->USART_Parity = USART_Parity_No ;
 260:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   USART_InitStruct->USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  39              		.loc 1 260 0
  40 0006 4FF00C02 		mov	r2, #12	@ movhi
  41              		.loc 1 257 0
  42 000a A3F51653 		sub	r3, r3, #9600
  43 000e 8380     		strh	r3, [r0, #4]	@ movhi
  44              		.loc 1 258 0
  45 0010 C380     		strh	r3, [r0, #6]	@ movhi
  46              		.loc 1 259 0
  47 0012 0381     		strh	r3, [r0, #8]	@ movhi
  48              		.loc 1 260 0
  49 0014 4281     		strh	r2, [r0, #10]	@ movhi
 261:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   USART_InitStruct->USART_HardwareFlowControl = USART_HardwareFlowControl_None;  
  50              		.loc 1 261 0
  51 0016 8381     		strh	r3, [r0, #12]	@ movhi
 262:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
  52              		.loc 1 262 0
  53 0018 7047     		bx	lr
  54              	.LFE28:
  56 001a C046     		.section	.text.USART_ClockInit,"ax",%progbits
  57              		.align	2
  58              		.global	USART_ClockInit
  59              		.thumb
  60              		.thumb_func
  62              	USART_ClockInit:
  63              	.LFB29:
 263:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** 
 264:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
 265:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   * @brief  Initializes the USARTx peripheral Clock according to the 
 266:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   *   specified parameters in the USART_ClockInitStruct .
 267:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   * @param USARTx: where x can be 1, 2, 3 to select the USART peripheral.
 268:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   * @param USART_ClockInitStruct: pointer to a USART_ClockInitTypeDef
 269:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   *   structure that contains the configuration information for the specified 
 270:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   *   USART peripheral.  
 271:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   * @note The Smart Card mode is not available for UART4 and UART5.
 272:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   * @retval : None
 273:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   */
 274:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_ClockInit(USART_TypeDef* USARTx, USART_ClockInitTypeDef* USART_ClockInitStruct)
 275:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
  64              		.loc 1 275 0
  65              		@ args = 0, pretend = 0, frame = 0
  66              		@ frame_needed = 0, uses_anonymous_args = 0
  67              	.LVL1:
  68 0000 10B5     		push	{r4, lr}
  69              	.LCFI0:
 276:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   uint32_t tmpreg = 0x00;
 277:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Check the parameters */
 278:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_123_PERIPH(USARTx));
 279:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_CLOCK(USART_ClockInitStruct->USART_Clock));
 280:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_CPOL(USART_ClockInitStruct->USART_CPOL));
 281:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_CPHA(USART_ClockInitStruct->USART_CPHA));
 282:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   assert_param(IS_USART_LASTBIT(USART_ClockInitStruct->USART_LastBit));
 283:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   
 284:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /*---------------------------- USART CR2 Configuration -----------------------*/
 285:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg = USARTx->CR2;
 286:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   /* Clear CLKEN, CPOL, CPHA and LBCL bits */
 287:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****   tmpreg &= CR2_CLOCK_CLEAR_Mask;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -