OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 35|回复: 1

关于使用半双工模式控制总线舵机,只能发送不能接收的问题

[复制链接]

3

主题

4

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2025-7-31
在线时间
9 小时
发表于 3 天前 | 显示全部楼层 |阅读模式
大佬们,最近在玩总线舵机,需要使用串口控制,但是只有一根信号线,需要使用串口的半双工模式,网上很多人说需要加上拉电阻,但是我加了之后还是只能发送不能接收
这是一些主要代码,有没有大佬遇到过这种问题
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStructure);                                        //将PB10引脚初始化为复用推挽输出TX
       
        /*USART初始化*/
        USART_InitTypeDef USART_InitStructure;                                        //定义结构体变量
        USART_InitStructure.USART_BaudRate = baud;                                //波特率
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;        //硬件流控制,不需要
        USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx ;                                //模式,发送模式和接收模式均选择
        USART_InitStructure.USART_Parity = USART_Parity_No;                                                                //奇偶校验,不需要
        USART_InitStructure.USART_StopBits = USART_StopBits_1;                                                        //停止位,选择1位
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;                                                //字长,选择8位
        USART_Init(USART2, &USART_InitStructure);                                //将结构体变量交给USART_Init,配置USART2
        USART_Init(USART3, &USART_InitStructure);                                //将结构体变量交给USART_Init,配置USART3
/*中断输出配置*/
        USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
        USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);                        //开启串口接收数据的中断
       
        /*设置为半双工模式*/
        USART_HalfDuplexCmd(USART3, ENABLE);                                          // 这会设置CR1寄存器的HDSEL位
       
        /*USART使能*/
        USART_Cmd(USART2, ENABLE);                                                                //使能USART2,串口开始运行
        USART_Cmd(USART3, ENABLE);                                                       

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

3441

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8795
金钱
8795
注册时间
2020-5-11
在线时间
4337 小时
发表于 昨天 14:35 | 显示全部楼层
用的哪个脚?看过波形没?
专治疑难杂症
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-9-2 22:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表