DebugLab
发表于 2024-8-17 12:35:06
vb2002 发表于 2024-8-17 12:32
只要用定时器生成pwm就有
直接用pwm没有
提高PWM频率可以解决
vb2002
发表于 2024-8-17 12:46:08
DebugLab 发表于 2024-8-17 12:35
提高PWM频率可以解决
已经用 1us了.还是不行
就是有
用1us以后,按键也有些延迟了
soma
发表于 2024-8-17 13:16:12
用逻辑分析仪比较直观观察
vb2002
发表于 2024-8-17 13:52:02
本帖最后由 DebugLab 于 2024-8-18 18:34 编辑
wnagming 发表于 2024-8-17 13:09
这条纹与单片机没什么关系,是摄像头与LED闪烁频率吻合导致的,你可以改变一下PWM周期试试,话说你肉眼能看 ...
肉眼看不到,就是手机拍照看得到,
用自带的硬件pwm就没有,
然后用官方那个15里面的示例16位pwm也没
网老四
发表于 2024-8-17 14:53:04
这不叫嘿嘿的纹波,
这是LED灯驱动的频闪现象.
你中断函数里面代码处理花时间太多了,导致实际输出PWM不稳定,或者实际PWM调节周期过慢引起.定时器时钟越快,中断影响越大.
你用定时器做PWM时候,没有必要另加计数器变量做控制,定时器本身就能实现PWM输出,不需要每次进中断处理
vb2002
发表于 2024-8-17 18:37:49
本帖最后由 DebugLab 于 2024-8-18 18:32 编辑
网老四 发表于 2024-8-17 14:53
这不叫嘿嘿的纹波,
这是LED灯驱动的频闪现象.
你中断函数里面代码处理花时间太多了,导致实际输出PWM不稳定, ...
我见以前那些89c52教程都是这样处理的
vb2002
发表于 2024-8-17 18:45:03
网老四 发表于 2024-8-17 14:53
这不叫嘿嘿的纹波,
这是LED灯驱动的频闪现象.
你中断函数里面代码处理花时间太多了,导致实际输出PWM不稳定, ...
周期不慢了,最快就是 1us了,,
网老四
发表于 2024-8-17 19:06:12
vb2002 发表于 2024-8-17 18:45
周期不慢了,最快就是 1us了,,
定时器的1us不是PWM周期,是PWM时钟哈,你代码里的PWM周期理论是150个PWM时钟
但每次定时器中断处理时间就远不止1us,所以,实际PWM周期要大得多,还不稳定,跟求余语句执行时间相关
hyjs
发表于 2024-8-17 21:11:36
{:4_165:}类似于小的杂波信号
hyjs
发表于 2024-8-17 21:12:27
基本都有的{:4_165:},小的纹波别纠结,大的在考虑{:4_165:}