打印

关于呼吸灯问题求指导

[复制链接]
253|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
稻花香1号|  楼主 | 2019-11-14 13:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在网上买的的开发板,但是给我的光盘里没有相关教程的程序,就在论坛上下了一个针对GPIOA_Pin_6的,并根据理解修改。
买的开发板是B0\B1\B5接在三色灯上的那种。
1、将源程序的管脚修改为B0,红色为修改处。
       GPIO_InitTypeDef GPIO_InitStructure;

      /* GPIOA clock enable */
      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

     GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_0 ;
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;                  
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

     GPIO_Init(GPIOB, &GPIO_InitStructure);
2、修改TM3的通道,我查手册,B0口对应的是CH3。
  TIM_OC3Init(TIM3, &TIM_OCInitStructure);                                                                                 
        
  TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Enable);               
3、然而修改后,程序并不能正常运行,于是修改初始脉冲
TIM_OCInitStructure.TIM_Pulse = 0;        

下载后,基本上灯的亮度都是跟我修改的初始脉冲一致。但是论坛下的程序通过外接发光二极管是能正常运行的。有没有高手能指导一下,是不是这个程序我还有什么没理解到的地方。_____________________
不好意思,已解决,但是论坛里看了几个呼吸灯帖子都没提到。中断函数里TIM3有指针要修改一下。写出来吧,以免以后有我这样刚学单片机编程的新手再遇到,找了好久才找到问题。
TIM3->CCR3 = indexWave[pwm_index];

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

381

主题

382

帖子

1

粉丝