pwm无法输出我预期的频率( 设定38khz, 输出2khz)
我是刚入门的新手,正打算移植一个红外遥控器库到k210上. 使用的是C语言开发, 后面打算添加到maixpy中.我的pwm配置如下:
```
void irsend_enableIROut(double khz, double duty) {
// 设置pwm功能的输出引脚为 PWM_IO_OUT
// timer_toggle从1开始算, toggle2对应定时器的timer_channal1
fpioa_set_function(PWM_IO_OUT, FUNC_TIMER0_TOGGLE2);
// 初始化pwm0
pwm_init(PWM_DEVICE_0);
// 设置pwm的频率和占空比
int fre = pwm_set_frequency(PWM_DEVICE_0, PWM_CHANNEL_1, 38000, duty);
char str;
itoa(fre, str, 10);
uart_send_data(UART_DEVICE_3, str, strlen(str));
uart_send_data(UART_DEVICE_3, "\n", 1);
}
```
!(https://imagemc.dfrobot.com.cn/data/attachment/album/202111/21/155117eittstledih5mhfw.jpg)
串口的打印输出是38000, 也就是38khz, 但是我用逻辑分析仪测试后发现只输出了2kh的pwm波.
我又测试了频率为2khz以下pwm波, 都能正确输出.
所以我猜测k210 pwm的最高频率是否是只能达到2khz?
有人清楚这个问题吗? 不胜感激!!! : )
开发环境: kendryte ide
板卡:speedmaix dock M1W
你是用显波器冫 anydy 发表于 2021-11-21 17:28
你是用显波器冫
用的逻辑分析仪 已解决,是我的软件采样率设置不够高,导致没办法采集出来。
用的pulseview软件,设置的参数如图所示。主要是采样率得设置成38khz以上
页:
[1]