野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12500|回复: 7

关于f429定时器PWM输出RGB颜色显示的问题

[复制链接]
发表于 2016-8-5 17:44:27 | 显示全部楼层 |阅读模式
是在TIM全彩灯例程上改的,我就想着能不能通过定时器让RGB轮流显示很多颜色,就想着用循环来试试
QQ图片20160805173540.png
可是不能够,一直是蓝灯在变化,也就是k循环。delay_us是进一次中断就减1,不为0就等待。
大神指导指导啊。
回复

使用道具 举报

发表于 2016-8-5 18:09:22 | 显示全部楼层
设置定时器输出显示某种颜色,延时1秒左右,再设置定时器显示另一种颜色,这样就可以实现了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-5 19:11:26 | 显示全部楼层
巢易白 发表于 2016-8-5 18:09
设置定时器输出显示某种颜色,延时1秒左右,再设置定时器显示另一种颜色,这样就可以实现了

没有诶,我把延时放很长也只有蓝灯亮诶,好像前两个循环不进。我调试的时候只有k在变,i和j都不动,我循环写的有问题?
回复 支持 反对

使用道具 举报

发表于 2016-8-5 19:27:44 | 显示全部楼层
望蓝天 发表于 2016-8-5 19:11
没有诶,我把延时放很长也只有蓝灯亮诶,好像前两个循环不进。我调试的时候只有k在变,i和j都不动,我循 ...

循环看着没有问题,看看setrgbcolor函数有没有复位定时器
回复 支持 反对

使用道具 举报

发表于 2016-8-5 19:28:58 | 显示全部楼层
不对,循环判断条件不正确,这些变量不可能大于或等于256,所以你的程序一直在最内层循环里跑
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-5 19:37:46 | 显示全部楼层
flyleaf 发表于 2016-8-5 19:28
不对,循环判断条件不正确,这些变量不可能大于或等于256,所以你的程序一直在最内层循环里跑

对,大哥说的对,我说怎么调试出不了k的循环呢。把256换成250,让变量有机会到250就好了。能变,虽然离我想象的变化还很远。不流畅,应该接下来让它变快就好了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-5 19:40:01 | 显示全部楼层
随风 发表于 2016-8-5 19:27
循环看着没有问题,看看setrgbcolor函数有没有复位定时器

我定义的是8位变量,最多到255,所以没有符合跳出循环的条件,,一直都在256以内一不注意就被拐了吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-5 20:10:36 | 显示全部楼层
放弃了,这个程序并不能实现预料中的那种渐变得过程,k值也就是bule总会从最大变最低,起伏太大,表现出来就是缓慢变化,刷一下,再缓慢增长,刷一下
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 18:36 , Processed in 0.030836 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表