引用: 29447945 发表于 2019-10-17 17:26 加一个while(1)循环,间隔一段时间比如100ms改变占空比,从0~100占空比,灯正常就会从亮到灭渐变
我试了。没效果了。我是手动改变的值
引用: 一百年后的自己 发表于 2019-10-17 17:47
我试了。没效果了。我是手动改变的值
引用: 29447945 发表于 2019-10-17 21:34 加了延时吗?
没有加
引用: 一百年后的自己 发表于 2019-10-18 09:06 没有加
每次更改占空比都要延时,要不然你根本看不出来改变的过程
引用: 29447945 发表于 2019-10-18 09:10 每次更改占空比都要延时,要不然你根本看不出来改变的过程
然后我放在主函数里面,while 一直循环没问题吧, 而且周期和占空比我声明了变量,再主函数里面改变值就应该有效果吧。但是没声明改变
引用: 一百年后的自己 发表于 2019-10-18 09:38 然后我放在主函数里面,while 一直循环没问题吧, 而且周期和占空比我声明了变量,再主函数里 ...
下面这是思路,你要自己去实现这些函数。
void main()
{
int pwm_value = 0;
pwm_init();
while(1)
{
set_pwm(pwm_value );
pwm_value += 10;
if(pwm_value >= 100)
pwm_value = 0;
delay_10ms();
}
}
引用: 29447945 发表于 2019-10-18 09:50 下面这是思路,你要自己去实现这些函数。 void main() { int pwm_value = 0; pwm_init(); ...
好的, 谢谢
引用: 29447945 发表于 2019-10-18 09:50 下面这是思路,你要自己去实现这些函数。 void main() { int pwm_value = 0; pwm_init(); ...
如果我开始不设置函数, 我直接更改占空比得值, 那那个led灯的亮度会不会有变化????????
引用: 一百年后的自己 发表于 2019-10-18 11:24 如果我开始不设置函数, 我直接更改占空比得值, 那那个led灯的亮度会不会有变化????????
当然要先设置好定时器,再改占空比才能用啊,不设置定时器改当然不起作用。延时时间可以加长点
引用: 29447945 发表于 2019-10-18 12:17 当然要先设置好定时器,再改占空比才能用啊,不设置定时器改当然不起作用。延时时间可以加长点
定时器设置了,我现在又疑问,我用示波器看也有高低电平。
主要是我配置寄存器后,还需不需要用io控制led灯亮。
还是PWM就可以直接把led调亮?如果可以直接调亮,为什么我烧写程序,led不亮。我也把PWM的使能打开了。