2021-11-21 15:53:25 [显示全部楼层]
1382浏览
查看: 1382|回复: 4

[问题求助] 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[30];
  itoa(fre, str, 10);
  uart_send_data(UART_DEVICE_3, str, strlen(str));
  uart_send_data(UART_DEVICE_3, "\n", 1);
}

pwm输出波形

串口的打印输出是38000, 也就是38khz, 但是我用逻辑分析仪测试后发现只输出了2kh的pwm波.

我又测试了频率为2khz以下pwm波, 都能正确输出.

所以我猜测k210 pwm的最高频率是否是只能达到2khz?

有人清楚这个问题吗? 不胜感激!!!      : )


逻辑分析仪 pwm输出波形

逻辑分析仪 pwm输出波形

reihold  学徒
 楼主|

发表于 2021-11-21 15:57:46

开发环境: kendryte ide
板卡:speed  maix dock M1W
回复

使用道具 举报

anydy  见习技师

发表于 2021-11-21 17:28:47

你是用显波器冫
回复

使用道具 举报

reihold  学徒
 楼主|

发表于 2021-11-21 22:48:56

anydy 发表于 2021-11-21 17:28
你是用显波器冫

用的逻辑分析仪
回复

使用道具 举报

reihold  学徒
 楼主|

发表于 2022-5-5 08:38:02

已解决,是我的软件采样率设置不够高,导致没办法采集出来。
用的pulseview软件,设置的参数如图所示。主要是采样率得设置成38khz以上
ThuMay-202205051106..png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail