STN32F103C的串口1发送数据一直是“0x00”

2019-07-14 15:35发布

  1. void usart1_io_init(void)
  2. {
  3.         GPIO_InitTypeDef GPIO_InitStructure;
  4.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO | RCC_APB2Periph_USART1, ENABLE);
  5.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;                                                         //USART1 Tx(PA.09)
  6.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  7.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  8.         GPIO_Init(GPIOA, &GPIO_InitStructure);
  9.         
  10.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;                                                         //USART1 Rx(PA.10)
  11.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOAtiNG;
  12.         GPIO_Init(GPIOA, &GPIO_InitStructure);
  13. }

  14. void USART1_Configuration(void)
  15. {
  16.         USART_InitTypeDef USART_InitStructure;
  17.   USART_InitStructure.USART_BaudRate = 9600;
  18.         USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  19.         USART_InitStructure.USART_StopBits = USART_StopBits_1;
  20.         USART_InitStructure.USART_Parity = USART_Parity_No;
  21.         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  22.         USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
  23.         USART_Init(USART1, &USART_InitStructure);                                                                                                                                                                                
  24.         USART_Cmd(USART1, ENABLE);                                                                                                                                                                                                                                         //ʹÄÜusart1
  25. }

  26. void NVIC_Configuration(void)
  27. {
  28.         NVIC_InitTypeDef NVIC_InitStructure;  
  29.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
  30.         NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;     
  31.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  32.         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  33.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  34.         NVIC_Init(&NVIC_InitStructure);
  35. }

  36. void usart1_send_data(uint8_t data)
  37. {
  38.         USART_SendData(USART1,data);
  39.   while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
  40. }
复制代码

0条回答

一周热门 更多>