你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 9224|回复: 5

STM8L 使用discovery板输出PWM到LED的问题

[复制链接]

1

主题

0

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2013-7-5 12:46:33 | 显示全部楼层 |阅读模式
STM8L 使用discovery板输出PWM到LED的问题
我想用PWM(PD2)输出模拟信号到LED(PE7),实现LED的逐渐变亮(暗),
可是不成功,各位高手给指出错误吧,谢谢
void main(void)
{
  /* Initialize LEDs mounted on STM8L152X-EVAL board */
  GPIO_Init(LED_GPIO_PORT, LED_GPIO_PINS, GPIO_Mode_Out_PP_Low_Fast);
  GPIO_Init(Button_GPIO_PORT, Button_GPIO_PINS, GPIO_Mode_In_FL_No_IT);
    // PD2 TIM1 CH1设置
  /* GPIO configuration: TIM1 channel 1 (PD2)*/
  GPIO_Init(GPIOD, GPIO_Pin_2 , GPIO_Mode_Out_PP_Low_Fast);
  /* Enable TIM1 clock */
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM1, ENABLE);
 
  //设置TIM1 CH1输出PWM波
  /* configure TIM1 channel 1 as PWM Output */
   TIM1_OC1Init(TIM1_OCMode_PWM2,
               TIM1_OutputState_Enable,
               TIM1_OutputNState_Enable,
               0x7FF,
               TIM1_OCPolarity_Low,
               TIM1_OCNPolarity_High,
               TIM1_OCIdleState_Set,
               TIM1_OCNIdleState_Reset);
  /* Set TIM1 Autoreload value*/
  TIM1_SetAutoreload(0xFFF);
  //2M/4095=488.4HZ
   
  // 使能
  /* Enable TIM1 Outputs*/
  TIM1_CtrlPWMOutputs(ENABLE);
  /* Enable TIM1 */
  TIM1_Cmd(ENABLE);
 
 while (1)
  {
     }
  }
回复

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2013-7-6 10:14:20 | 显示全部楼层

RE:STM8L 使用discovery板输出PWM到LED的问题

如果控制LED的变化,是通过2种方式。通过控制电压的大小和通过控制电流的大小来实现的。通常建议使用电流来控制。
回复 支持 反对

使用道具 举报

0

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2015-1-17 10:11:42 | 显示全部楼层
怎么没有初始化定时器tim1?
看我的一个STM8L的使用TIM3输出PWM的初始化
void Buzzer_Init(void)
{
                        /* Enable TIM3 CLK */
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM3, ENABLE);                  //允许TIM3外部时钟
  GPIO_Init(Buzzer_PORT,Buzzer_PIN,GPIO_Mode_Out_PP_Low_Slow);        //初始化蜂鸣器控制引脚
       
        //使用TIM3定时器
        TIM3_TimeBaseInit(TIM3_Prescaler_16,TIM3_CounterMode_Up,BUZZER_PERIOD);       
                                                                                                                                        //设置为16分频,向上计数模式,计数周期为1000
        TIM3_OC1Init(TIM3_OCMode_PWM1,TIM3_OutputState_Enable, BUZZER_DUTY,TIM3_OCPolarity_High,TIM3_OCIdleState_Reset);
       
        TIM3_OC1PreloadConfig(ENABLE);         //输出比较1通道预加载使能
        TIM3_CtrlPWMOutputs(ENABLE);          //PWM输出使能
        TIM3_Cmd(ENABLE);       
}                                                                                        //使能       
经实际测试初始化有效
回复 支持 反对

使用道具 举报

4

主题

4

回帖

0

蝴蝶豆

初级会员

最后登录
2017-5-9
发表于 2017-4-16 11:06:28 | 显示全部楼层
您好!请问楼主问题解决了么,我是新手 ,遇到同样的问题,能指点一下么,谢谢
回复 支持 反对

使用道具 举报

0

主题

1277

回帖

30

蝴蝶豆

金牌会员

最后登录
2020-7-4
发表于 2017-4-17 21:52:42 | 显示全部楼层
按时间改变PWM的占空比就可以了。。。。。。
回复 支持 反对

使用道具 举报

4

主题

4

回帖

0

蝴蝶豆

初级会员

最后登录
2017-5-9
发表于 2017-4-18 20:19:21 | 显示全部楼层
zcl201207 发表于 2017-4-17 21:52
按时间改变PWM的占空比就可以了。。。。。。

新手,不懂额请指教
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版