发新帖我要提问
12
返回列表
打印
[STM32H7]

STM32H743ZIT6使用GPIO输出翻转电平如何达到4Mhz?

[复制链接]
楼主: 豌豆爹
手机看帖
扫描二维码
随时随地手机跟帖
21
bestwell| | 2023-6-16 22:11 | 只看该作者 回帖奖励 |倒序浏览
若使用18M或9M波特率,需要选用50M的GPIO的引脚速度。

使用特权

评论回复
22
Undshing| | 2023-6-16 22:23 | 只看该作者
寄存器操作io比hal库效率高多少啊?

使用特权

评论回复
23
AloneKaven| | 2023-6-17 23:24 | 只看该作者
是不是没有配置高速模式啊

使用特权

评论回复
24
Jacquetry| | 2023-6-18 22:30 | 只看该作者
是不是没配置gpio的速度啊?

使用特权

评论回复
25
mnynt121| | 2023-6-19 10:52 | 只看该作者
I/O口驱动电路的速度,是用来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。

使用特权

评论回复
26
mattlincoln| | 2023-6-19 11:07 | 只看该作者
如何使用GPIO高速输出模式来实现较高的翻转频率。

使用特权

评论回复
27
pentruman| | 2023-6-19 12:39 | 只看该作者
在STM32的代码中,需要初始化相应的GPIO口,并设置为输出模式。然后可以使用定时器或者循环延时来控制翻转频率。

使用特权

评论回复
28
jackcat| | 2023-6-19 14:28 | 只看该作者
当STM32的GPIO端口设置为输出模式时,有三种速度可以选择:2MHz、10MHz和50MHz

使用特权

评论回复
29
Pretext| | 2023-6-19 19:21 | 只看该作者
你的定时器实现的是4Mhz?

使用特权

评论回复
30
朝生| | 2023-6-19 19:22 | 只看该作者
我感觉想要达到4MHz,你可以直接在主函数的while循环让引脚不停的翻转,然后看看能达到多少频率。

使用特权

评论回复
31
芯路例程| | 2023-6-19 19:23 | 只看该作者
我觉得保险起见,还是用PWM输出比较好,定时器+GPIO容易有误差。

使用特权

评论回复
32
Henryko| | 2023-6-19 21:32 | 只看该作者
中断的方法就太频繁了,其他任务就没法执行

使用特权

评论回复
33
sdlls| | 2023-6-21 13:17 | 只看该作者
c
void GPIO_Init(void) {
    GPIO_InitTypeDef GPIO_InitStruct = {0};
    GPIO_InitStruct.Pin = GPIO_PIN_0;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; //设置为推挽输出模式
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; //选择高速输出模式
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_RESET); //初始化输出低电平
}

使用特权

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

本版积分规则