"); //-->
要实现呼吸灯效果,主要就是确定 频率,两个方面的频率:①以多快的频率开关LED,②以多块的频率 修改脉冲宽度。我们的例子的频率是:产生100us 中断 来开关LED, 每10ms 修改一次 脉冲宽度,100个等级,1s的频率呼吸。
有两种实现方式:直接PWM 输出 另一种 是用定时器 模拟PWM 优点是任意引脚都可以实现。这里先用后一种方式实现。
主要代码:
#define LED_GPIO_PORT GPIOD #define LED_GPIO_PINS GPIO_Pin_0 #define led_on GPIO_SetBits(LED_GPIO_PORT,LED_GPIO_PINS) #define led_off GPIO_ResetBits(LED_GPIO_PORT,LED_GPIO_PINS)
void led_pwm_init(void)
{
GPIO_Init(LED_GPIO_PORT, LED_GPIO_PINS, GPIO_Mode_Out_PP_Low_Slow);//初始化LED,GPD0低速推挽输出
CLK_PeripheralClockConfig (CLK_Peripheral_TIM4,ENABLE); //使能外设时钟,STM8L外设时钟默认关闭,使用前需使能
TIM4_TimeBaseInit(TIM4_Prescaler_2, 0x64);//16M/8/2=1M,0xff=255,100*(1/1M)=100uS,大约61次中断是1S
// Clear TIM4 update flag
TIM4_ClearFlag(TIM4_FLAG_Update);//向上清除溢出标志
//Enable update interrupt
TIM4_ITConfig(TIM4_IT_Update, ENABLE);//向上溢出中断使能,中断向量号25
TIM4_Cmd(ENABLE);//TIM4使能
enableInterrupts();//开启中断总开关
}
/**
* @brief Timer4 Update/Overflow Interrupt routine.
* @param None
* @retval None
*/
INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 25)
{
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
/* i++;
if(i==61)
{
GPIO_ToggleBits(GPIOD, GPIO_Pin_0);//翻转GPD0输出状态
i=0;
}*/
if((++timenum)>=100)//每10mS调整一下led的占空比 100us中断;
{
time_second_count++;
timenum=0;
if(leddirection==0) //如果是渐亮方向变化,则占空比递增
{
ledpwm++;
if (ledpwm > pwm_max)
{
ledpwm = pwm_max;
// leddirection =1;
}
}
if(leddirection==1) //如果是渐暗方向变化,则占空比递减
{
ledpwm--;
if(ledpwm<=pwm_min)
{
ledpwm=pwm_min;
//leddirection=0;
}
}
ledpwm_temp=ledpwm;//获取LED的占空比
}
if(ledpwm_temp>0)//占空比大于0,则点亮led,否则熄灭led
{
//led_on;
led_off;
ledpwm_temp--; //? 就是来控制亮的时间
}
else
{
led_on;
//led_off;
}
TIM4_ClearITPendingBit(TIM4_IT_Update);
}
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
《嵌入式系统设计》23-MP3播放器设计(Uboot上增加新设备Ramdisk到结束)及网络存储设计(开始到结束)及一部分补充说明
去年台湾主机板产业 超过六成在内地生产
瑞萨电子采用Arteris片上网络技术,打造可扩展的汽车级SoC设计
纳芯微出席车百会2026年度论坛:解码智能动力系统演进,芯片成为关键“底层能力”
三菱SPW(F)电梯主电路(A)
三菱SPVV(F)电梯主电路(B)
东芝CV60(7.5kW)电梯主电路
韩国抢攻玻璃基板标准对抗英特尔,Absolics、三星加速商业化
资腾亮相SEMICON China展示CMP超洁净刷轮,助力先进制程良率提升
功率变换器建模技术综述
晶圆代工与存储芯片厂商资本支出(CapEx)大幅上调
告别片面认知:厘清半导体代工市场的误区
EasyARM1138嵌入式专题讲座
中国数字视频监控市场洗牌在即
公历与农历星期的转换
隔离电源模块选型参考
《嵌入式系统设计》22-MP3播放器设计(设计方法到块设备读取)
功放用大功率稳压电源电路
展示现代安全技术的气囊系统模型车
亚马逊116亿美元收购Globalstar,加码卫星互联网直连布局
奥的斯TOEC-2000VF电梯主电路
专家对SIA的数据和IC产业前景看法分歧
过去十年中国芯片补贴支出达美国3.6倍 远超美国《芯片法案》
美国国家半导体将发布新型手机芯片
光绘工艺的一般流程
三菱SPVV(A)电梯主电路
从SoC到系统级封装:用多裸片集成重构汽车计算平台
《嵌入式系统设计》21-Linux嵌入式系统设计(Linux驱动设计到)及MP3播放器设计(开发工具选择)
英国政府对Mythos AI的测试:帮业界分清网络安全威胁与炒作
“IT革新”能否激活日本经济?