打印
[应用相关]

STM32CUBEIDE采用单线半双工无法发送数据问题

[复制链接]
307|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szt1993|  楼主 | 2023-3-29 09:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
①用CubeMX配置好Single Wire(Half-Duplex)模式,其他的默认



②用CubeMX配置好Clock

③生成代码后需要将HAL_UART_MspInit函数中的GPIO_Mode改为GPIO_MODE_AF_PP模式,需要将Pull改为GPIO_PULLUP,需要将Speed改为GPIO_SPEED_FREQ_HIGH。


1 /**USART1 GPIO Configuration

2 PA9     ------> USART1_TX

3 */

4 GPIO_InitStruct.Pin = GPIO_PIN_9;

5 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;

6 GPIO_InitStruct.Pull = GPIO_PULLUP;

7 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;

8 GPIO_InitStruct.Alternate = GPIO_AF7_USART1;

9 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);


④发送的时候需要启动HAL_HalfDuplex_EnableTransmitter

⑤接收的时候需要启动HAL_HalfDuplex_EnableReceiver



1 static uint8_t data = 0x55;

2 while (1)

3 {

4     HAL_HalfDuplex_EnableTransmitter(&huart1);

5     HAL_UART_Transmit(&huart1, &data, 1, 0xffff);

6     HAL_HalfDuplex_EnableReceiver(&huart1);

7     HAL_Delay(1000);

8 }


使用特权

评论回复
沙发
songqian17| | 2023-3-30 19:29 | 只看该作者

你有什么打算呢?或者你想知道什么?

使用特权

评论回复
板凳
huwr| | 2023-3-30 19:30 | 只看该作者
这是个问题贴还是个经验贴?

使用特权

评论回复
地板
Clyde011| | 2024-2-5 08:16 | 只看该作者

控制地与其他地要通过一些特定的点连接

使用特权

评论回复
5
公羊子丹| | 2024-2-5 09:09 | 只看该作者

事实上很多做项目的工程师本身自己也会在用

使用特权

评论回复
6
万图| | 2024-2-5 10:12 | 只看该作者

使用特权

评论回复
7
Uriah| | 2024-2-5 11:15 | 只看该作者

变换器效率就显得比较低

使用特权

评论回复
8
帛灿灿| | 2024-2-5 13:11 | 只看该作者

设计者的作用就是在理解电路工作过程的基础上,保证PCB设计合理。

使用特权

评论回复
9
Bblythe| | 2024-2-5 14:14 | 只看该作者

两个环路最有可能产生电磁干扰(EMI)

使用特权

评论回复
10
Pulitzer| | 2024-2-5 17:13 | 只看该作者

滤波电容接线端的放置很重要

使用特权

评论回复
11
Pulitzer| | 2024-2-5 17:13 | 只看该作者

滤波电容接线端的放置很重要

使用特权

评论回复
12
童雨竹| | 2024-2-5 19:09 | 只看该作者

但是如果不懂程序设计的思想的话,会给你做项目的过程中带来很多很多的困惑。

使用特权

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

本版积分规则

283

主题

2334

帖子

5

粉丝