这两个是只是重装载值不一样,但是第一个程序亮度的变化很慢,第二个很快,这是为什么呢,照理说,重装载值大的话,进入中断很快的话,亮度变化应该更快才对
用pwm做led呼吸灯的问题
这两个是只是重装载值不一样,但是第一个程序亮度的变化很慢,第二个很快,这是为什么呢,照理说,重装载值大的话,进入中断很快的话,亮度变化应该更快才对
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 乐观的study123 2022-07-05 22:05关注
按你做的这个,开始当count第一次达到100,LED=1;已经输出了10ms,但是此时count=0,而PWM=10,LED=0,再过count再计数10次,也就是过了1ms,而PWM是11,count又计数超过了11则LED=1;那么LED维持低电平只有1ms多点,所以不行;
其实一个count就能实现占空比了,(去掉主程序里的PWM那段)在定时器中断里这么改
#define peroid 20000////周期值
#define PWMH 10000///高电平宽度
count++;
if(count<peroid)
{
if(count==PWMH)
LED=1;
else
LED=0;
}
else
count=0;本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效