GD32F427ZGT6 无法进接收中断

[复制链接]
403|12
手机看帖
扫描二维码
随时随地手机跟帖
csjosephwang|  楼主 | 2024-5-14 10:58 | 显示全部楼层 |阅读模式
  rcu_periph_clock_enable(RCU_GPIOD);    // 使能GPIOd时钟
    rcu_periph_clock_enable(RCU_USART2);   // 使能串口时钟
       
                gpio_af_set(GPIOD, GPIO_AF_7, GPIO_PIN_8 | GPIO_PIN_9);
       
                gpio_mode_set(GPIOD, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_8);   // GPIO 模式设置
    gpio_output_options_set(GPIOD, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_8);  // 输出参数设置
       
                gpio_mode_set(GPIOD, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_9);   // GPIO 模式设置
    gpio_output_options_set(GPIOD, GPIO_PUPD_NONE, GPIO_OSPEED_50MHZ, GPIO_PIN_9);  // 输出参数设置
       
    usart_deinit(USART2);    // 串口复位
    usart_word_length_set(USART2, USART_WL_8BIT);  // 字长
    usart_stop_bit_set(USART2, USART_STB_1BIT);    // 停止位
    usart_parity_config(USART2, USART_PM_NONE);
    usart_baudrate_set(USART2, 115200U);     // 波特率
    usart_receive_config(USART2, USART_RECEIVE_ENABLE);        // 接收使能
          usart_transmit_config(USART2, USART_TRANSMIT_ENABLE);      // 发送使能
          usart_hardware_flow_rts_config(USART2, USART_RTS_DISABLE);
    usart_hardware_flow_cts_config(USART2, USART_CTS_DISABLE);
    usart_enable(USART2);           // 串口使能
         nvic_irq_enable(USART2_IRQn, 0, 0);    // 使能串口中断
         usart_interrupt_enable(USART2, USART_INT_RBNE);  // 接收中断使能
问题是  无法进接收中断。这是什么问题 急急急。

使用特权

评论回复
yangxiaor520| | 2024-5-15 08:07 | 显示全部楼层
先看一下物理传输是否有数据

使用特权

评论回复
csjosephwang|  楼主 | 2024-5-15 10:12 | 显示全部楼层
开发板上跑了 一样 也是这样。  

使用特权

评论回复
csjosephwang|  楼主 | 2024-5-15 12:03 | 显示全部楼层
今天又浪费了一天  ,赶紧换ST的  国产的真的不能用  骗钱的

使用特权

评论回复
评论
玄德 2024-5-16 11:02 回复TA
你起码搞清楚了再下结论。你这情况,也许这工作不适合你。 
csjosephwang|  楼主 | 2024-5-15 12:56 | 显示全部楼层
问题找到了PD9 不能做 RX  我换了PC5就可以了  

使用特权

评论回复
csjosephwang|  楼主 | 2024-5-15 13:51 | 显示全部楼层
发现一个更加奇怪的事情,初始化rx为PC11,实际连线还是连PC5,没有初始化PC5,    但还是会进USART2中断。真不敢用GD芯片了

使用特权

评论回复
埃娃| | 2024-5-15 21:12 | 显示全部楼层
csjosephwang 发表于 2024-5-15 13:51
发现一个更加奇怪的事情,初始化rx为PC11,实际连线还是连PC5,没有初始化PC5,    但还是会进USART2中断。真 ...

这是啥原因啊

使用特权

评论回复
csjosephwang|  楼主 | 2024-5-16 08:06 | 显示全部楼层
不清楚 ,要请FAE出来解释一下

使用特权

评论回复
sagade| | 2024-5-16 21:23 | 显示全部楼层
盲猜你接收脚配置的是GPIO_MODE_INPUT,不是GPIO_MODE_AF,不论你配置哪个引脚,都是使用了USART2-RX默认的PC5了

使用特权

评论回复
huquanz711| | 2024-5-17 08:19 | 显示全部楼层
首先先确定是否正确接收了数据,用示波器量一下波形

使用特权

评论回复
csjosephwang|  楼主 | 2024-5-17 14:49 | 显示全部楼层
sagade 发表于 2024-5-16 21:23
盲猜你接收脚配置的是GPIO_MODE_INPUT,不是GPIO_MODE_AF,不论你配置哪个引脚,都是使用了USART2-RX默认的 ...

你说的正是,是我没有搞清楚,万分感谢。

使用特权

评论回复
csjosephwang|  楼主 | 2024-5-18 16:01 | 显示全部楼层
再想问一下GD32F427ZGT6串口3默认管脚是哪个?我 配置了  PC10 和PC11又没有搞起来,郁闷啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

9

帖子

0

粉丝