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

查看: 9245|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版