请问:USART Rx引脚能设置为推挽输出吗?

2019-12-10 18:12发布

最近想用GD32F330芯片,看了下例程,USART Rx引脚设置为推挽输出, Rx引脚还内收到信号吗?

    /* enable COM GPIO clock */
    rcu_periph_clock_enable(RCU_GPIOA);        //使能外设时钟

    /* connect port to USARTx_Tx */
    gpio_af_set(GPIOA, GPIO_AF_1, GPIO_PIN_9);        //设置GPIO复用功能

    /* connect port to USARTx_Rx */
    gpio_af_set(GPIOA, GPIO_AF_1, GPIO_PIN_10);

    /* configure USART Tx as alternate function push-pull */
    gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_9);//设置GPIO模式
    gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);//设置GPIO输出模式和速度

    /* configure USART Rx as alternate function push-pull */
    gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_10);
    gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10);

GPIO_OTYPE_PP是设置为推挽输出。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
xmm
1楼-- · 2019-12-10 20:30
这个应该不好,可能还会损坏端口喔
styleno1
2楼-- · 2019-12-10 20:31
本帖最后由 styleno1 于 2019-9-29 18:50 编辑

看了下GD32F3x0的文档,模式选择是只能选其一的,输出或复用在是同一个寄存器。
复用模式下输出驱动模式是不起作用的,试想,你选输入模式,会不会也有类似的疑问?
vtte
3楼-- · 2019-12-11 01:45
设置为推免模式的意图是什么?电平跟发送端冲突的时候怎么办?
cock
4楼-- · 2019-12-11 05:05
 精彩回答 2  元偷偷看……
亽亼
5楼-- · 2019-12-11 05:51
stm32的复用功能就两种:复用推挽或者复用开漏。。
USART是不是属于复用功能?当然是,那一般要设置为什么就显而易见的。
实际上,在芯片手册里边有说

QQ截图20190929203305.png (126.53 KB, 下载次数: 0)

下载附件

2019-9-29 20:34 上传


当然lz用GD32我就不清楚了。
ljq77402
6楼-- · 2019-12-11 11:02
cock 发表于 2019-9-29 20:07
最近不是流行单线UART接口,就是输出、输入共用一根线。

什么单片机有这样的接口?

一周热门 更多>