查看: 635|回复: 0

分享GoKit 串口的使用

[复制链接]

该用户从未签到

发表于 2015-12-11 08:59:19 | 显示全部楼层 |阅读模式
分享到:
第一步就是硬件上的,要先确定串口使用的是哪两个引脚了。



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

  • void USART1_Config(void)

  • {

  •         GPIO_InitTypeDef GPIO_InitStructure;

  •         USART_InitTypeDef USART_InitStructure;



  •         RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);



  •         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;

  •         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

  •         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  •         GPIO_Init(GPIOA, &GPIO_InitStructure);



  •         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;

  •         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

  •         GPIO_Init(GPIOA, &GPIO_InitStructure);


  •         USART_InitStructure.USART_BaudRate = 115200;

  •         USART_InitStructure.USART_WordLength = USART_WordLength_8b;

  •         USART_InitStructure.USART_StopBits = USART_StopBits_1;

  •         USART_InitStructure.USART_Parity = USART_Parity_No ;

  •         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

  •         USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

  •         USART_Init(USART1, &USART_InitStructure);


  •         USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);

  •         USART_Cmd(USART1, ENABLE);

  • }
复制代码
串口1使用中断,下面对中断配置

  • void NVIC_Configuration(void)
  • {
  •         NVIC_InitTypeDef NVIC_InitStructure;

  •         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);


  •         NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;

  •         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

  •         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;

  •         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

  •         NVIC_Init(&NVIC_InitStructure);

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

最后是main 函数

  • int main(void)

  • {
  •         USART1_Config();
  •         NVIC_Configuration();
  •         printf("Gokit uart test!!\r\n");
  •         while(1);

  • }
复制代码
最后看一下结果
回复

使用道具 举报

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

本版积分规则

关闭

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

手机版|小黑屋|与非网

GMT+8, 2024-12-19 20:06 , Processed in 0.128656 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.