【发布时间】:2016-10-01 16:45:49
【问题描述】:
我有一个基本的 AVR 设置,带有 ATmega328P 和一个在其上运行的 FreeRTOS 内核。我想在 30kHz-60kHz 之间切换一个设置为高频输出的 GPIO 引脚。 GPIO 切换的频率由其他 RTOS 任务和功能连续确定,介于 30kHz-60kHz 之间。
我想问如何在不断变化的如此高频率下切换 GPIO。我正在使用 Atmel Studio 7。请帮助。
【问题讨论】:
-
您考虑过使用 PWM 还是要手动切换?
-
我不知道@Julien 有什么更好的方法。如果我选择 PWM,我不能在旅途中改变频率(这就是我的想法,如果我错了,请告诉我)。但是如果我选择普通的 GPIO,我不知道如何快速切换它并在旅途中改变它的频率。
-
还很大程度上取决于您可能希望软件执行的其他操作 - 定期切换信号与定时循环非常有效,以防您的软件没有其他事情可做。一旦你有很多中断,它往往会变得有点毛茸茸。
标签: toggle avr gpio freertos atmelstudio