Usart2.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include "stm32f10x.h"
  2. #include <stdio.h>
  3. #include <stdarg.h>
  4. void Usart2_Init(void)
  5. {
  6. RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
  7. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  8. USART_DeInit(USART2);
  9. GPIO_InitTypeDef GPIO_InitStructure;
  10. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  11. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
  12. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  13. GPIO_Init(GPIOA, &GPIO_InitStructure);
  14. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  15. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
  16. GPIO_Init(GPIOA, &GPIO_InitStructure);
  17. USART_InitTypeDef USART_InitStruture;
  18. USART_InitStruture.USART_BaudRate = 115200;
  19. USART_InitStruture.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  20. USART_InitStruture.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  21. USART_InitStruture.USART_Parity = USART_Parity_No;
  22. USART_InitStruture.USART_StopBits = USART_StopBits_1;
  23. USART_InitStruture.USART_WordLength = USART_WordLength_8b;
  24. USART_Init(USART2, &USART_InitStruture);
  25. USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
  26. NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  27. NVIC_InitTypeDef NVIC_InitStructure;
  28. NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
  29. NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  30. NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  31. NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  32. NVIC_Init(&NVIC_InitStructure);
  33. USART_Cmd(USART2, ENABLE);
  34. }