打印
[应用相关]

STM32F4单线半双工串口配置

[复制链接]
1288|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
王派oo|  楼主 | 2022-2-28 23:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
全双工是串口最为常见的工作方式,但在某些场合如AX-12数字舵机的驱动上,我们要用到单线半双工串口。半双工的特殊之处在于它只有一根线,收和发不能同时进行。
下面是STM32F4的半双工串口配置方法,与普通串口配置方法有些许的不同,这里只需要使用TXD那根线就可以了。关键之处在于需要调用库函数USART_HalfDuplexCmd()。此外串口引脚需要配置成开漏模式。

使用特权

评论回复
沙发
王派oo|  楼主 | 2022-2-28 23:48 | 只看该作者
void USART_Half_Configuration(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;        
       
        GPIO_PinAFConfig(GPIOB,GPIO_PinSource6,GPIO_AF_USART1);
       
        GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStructure);


        USART_InitStructure.USART_BaudRate = 115200;
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;
        USART_InitStructure.USART_StopBits = USART_StopBits_1;
        USART_InitStructure.USART_Parity = USART_Parity_No;
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
        USART_Init(USART1,&USART_InitStructure);
       
        USART_HalfDuplexCmd(USART1, ENABLE);
       
    USART_Cmd(USART1,ENABLE);
        USART_ClearFlag(USART1, USART_FLAG_TC);
}

使用特权

评论回复
板凳
周半梅| | 2023-9-24 11:23 | 只看该作者

会使二极管导通

使用特权

评论回复
地板
Pulitzer| | 2023-9-24 11:57 | 只看该作者

---------------------------
wpsoffice
---------------------------
对话框打开时命令无法执行。单击“确定”,然后关闭对话框再试。
---------------------------
确定   
---------------------------

使用特权

评论回复
5
周半梅| | 2023-9-25 09:42 | 只看该作者

/**************************************************
*函数名称:unsigned int SetOneKeyPushResetTime(void)
*函数功能:按键最长的输出时间
*入口参数:void
*出口参数:unsigned int SOCAPI_SET_KEY_CONTI_TIME
*备注         :这个返回值的设置, 是根据有多长时间启动TouchKeyRestart()一次
例如10ms 启动一次, 那SOCAPI_SET_KEY_CONTI_TIME*10ms,超过时间后此按键无效。
**************************************************/

使用特权

评论回复
6
周半梅| | 2023-9-25 10:16 | 只看该作者

甚至会造成模块电源的损坏

使用特权

评论回复
7
童雨竹| | 2023-9-25 11:09 | 只看该作者

将ESD静电保护二极管并联于电路中

使用特权

评论回复
8
Wordsworth| | 2023-9-25 12:12 | 只看该作者

电阻阻值大小则需根据元器件可承受电流大小而决定

使用特权

评论回复
9
稳稳の幸福| | 2023-9-25 13:06 | 只看该作者
一直没理解这个全双工和半双工的区别。

使用特权

评论回复
10
Clyde011| | 2023-9-25 13:15 | 只看该作者

小型电子设备

使用特权

评论回复
11
万图| | 2023-9-25 15:11 | 只看该作者

电阻元件的电阻值大小一般与温度,材料,长度,还有横截面积有关

使用特权

评论回复
12
Uriah| | 2023-9-25 16:14 | 只看该作者

灌封之前需要使用抽空机进行天然脱泡和真空脱泡预处理

使用特权

评论回复
13
帛灿灿| | 2023-9-25 18:10 | 只看该作者

当电压超过二极管的导通电压的时候

使用特权

评论回复
14
Bblythe| | 2023-9-25 19:13 | 只看该作者

在低成本控制器内部有时候会没有钳位二极管

使用特权

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

本版积分规则

19

主题

308

帖子

0

粉丝