查看: 2166|回复: 0

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

[复制链接]
  • TA的每日心情
    奋斗
    2023-7-6 08:48
  • 签到天数: 169 天

    连续签到: 1 天

    [LV.7]常住居民III

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

    再根据数据手册 可以看到,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. }
    复制代码
    最后看一下结果
    捕获.PNG



    回复

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-11-15 09:01 , Processed in 0.107378 second(s), 16 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.