回答

收藏

【GoKit试用体验】+ 串口的使用

机智云GoKit 机智云GoKit 2386 人阅读 | 0 人回复 | 2015-11-29

第一步就是硬件上的,要先确定串口使用的是哪两个引脚了。


再根据数据手册 可以看到,PA9,PA10 是串口1
那么接下来就要对串口1进行初始化了
配置串口1---115200 8-N-1
  1. void USART1_Config(void)

  2. {

  3.         GPIO_InitTypeDef GPIO_InitStructure;

  4.         USART_InitTypeDef USART_InitStructure;



  5.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);



  6.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;

  7.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

  8.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  9.         GPIO_Init(GPIOA, &GPIO_InitStructure);   



  10.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;

  11.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

  12.         GPIO_Init(GPIOA, &GPIO_InitStructure);


  13.         USART_InitStructure.USART_BaudRate = 115200;

  14.         USART_InitStructure.USART_WordLength = USART_WordLength_8b;

  15.         USART_InitStructure.USART_StopBits = USART_StopBits_1;

  16.         USART_InitStructure.USART_Parity = USART_Parity_No ;

  17.         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

  18.         USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

  19.         USART_Init(USART1, &USART_InitStructure);


  20.         USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);

  21.         USART_Cmd(USART1, ENABLE);

  22. }
复制代码
串口1使用中断,下面对中断配置
  1. void NVIC_Configuration(void)
  2. {
  3.         NVIC_InitTypeDef NVIC_InitStructure;

  4.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);


  5.         NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;  

  6.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

  7.         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;

  8.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

  9.         NVIC_Init(&NVIC_InitStructure);

  10. }
复制代码
还要添加对应 的中断函数,这里就是STM32的内容了,就不再赘述了。

最后是main 函数
  1. int main(void)

  2. {
  3.         USART1_Config();
  4.         NVIC_Configuration();
  5.         printf("Gokit uart test!!\r\n");
  6.         while(1);

  7. }
复制代码
最后看一下结果




分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条