高频GPIO切换AVR

时间:2016-10-01 16:45:49

标签: toggle avr gpio freertos atmelstudio

我有一个基本的AVR设置,其中运行ATmega328P和一个FreeRTOS内核。我想在30kHz-60kHz之间将高频率的GPIO引脚设置为输出。 GPIO切换的频率由其他RTOS任务和功能连续决定,该任务和功能介于30kHz-60kHz之间。

我想问一下如何在不断变化的高频率下切换GPIO。我正在使用Atmel Studio 7.请帮助。

1 个答案:

答案 0 :(得分:1)

如果你打算改变频率,那就说每2个脉冲,那么软件可能是一个解决方案。如果频率将保持几十或十几个脉冲,PWM肯定是最好的方法。

当然,您可以随时随地管理PWM频率和周期。您将需要使用datasheet的PWM部分读取timer / counterX。如果您总是需要50%的占空比,则§15.7.2是最佳配置方式。如果您需要占空比和频率,则适应§15.7.3。

涵盖所有可能的配置将是广泛写在这里,但如果你开始实施和经验问题,你可以提出新的问题。