打印

GD32F103RBT6 USART2 remap 无法使用(需要厂家帮忙看下)

[复制链接]
1476|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mzm55185|  楼主 | 2021-5-5 17:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 mzm55185 于 2021-5-5 17:44 编辑

你好。我现在需要使用usart2 并进行remap。但usart2没法发送也没办法接收。


    /* enable GPIOC clock */
    rcu_periph_clock_enable(RCU_GPIOC);

    /* enable Usart2 clock */
    rcu_periph_clock_enable(RCU_USART2);

    /*gpio*/
    gpio_pin_remap_config(GPIO_USART2_PARTIAL_REMAP, ENABLE);
    gpio_init(GPIOC, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_11);
    gpio_init(GPIOC, GPIO_MODE_AF_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_10);

    usart_deinit(USART2);
    usart_baudrate_set(USART2, 250000);
    usart_word_length_set(USART2, USART_WL_9BIT);
    usart_stop_bit_set(USART2, USART_STB_1BIT);
    usart_parity_config(USART2, USART_PM_NONE);
    usart_hardware_flow_rts_config(USART2, USART_RTS_DISABLE);
    usart_hardware_flow_cts_config(USART2, USART_CTS_DISABLE);
    usart_receive_config(USART2, USART_RECEIVE_ENABLE);
    usart_transmit_config(USART2, USART_TRANSMIT_ENABLE);
    usart_enable(USART2);

    usart_data_transmit(USART2, (uint32_t)0x155);
    while(RESET == usart_flag_get(USART2, USART_FLAG_TBE));

   

使用特权

评论回复
沙发
chenyelong| | 2021-5-5 20:14 | 只看该作者
原厂回复了吗

使用特权

评论回复
板凳
mzm55185|  楼主 | 2021-5-5 21:01 | 只看该作者

没有,你也遇到这个问题了吗

使用特权

评论回复
地板
chenyelong| | 2021-5-5 21:39 | 只看该作者
mzm55185 发表于 2021-5-5 21:01
没有,你也遇到这个问题了吗

是的 ,你调试can通信没

使用特权

评论回复
5
mzm55185|  楼主 | 2021-5-6 09:53 | 只看该作者
chenyelong 发表于 2021-5-5 21:39
是的 ,你调试can通信没

没有,现在的项目只用到ad转换和usart。没有用到can

使用特权

评论回复
6
zeshoufx| | 2021-5-6 10:42 | 只看该作者
这点很关键,,凡是用到重映射,,,需使能rcu_periph_clock_enable(RCU_AF);否则不行

使用特权

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

本版积分规则

2

主题

4

帖子

0

粉丝