【PIC32MZ】PWM呼吸灯
来源:互联网 发布:英制螺纹程序怎么编程 编辑:程序博客网 时间:2024/04/28 20:26
PWM类似于开关电源,将高电压中间插入地脉冲,来将有效电压降低,在某些电压不敏感器件中,可以实现电压降低的效果。例如LED的亮度变化。
前文有说过,Harmony的Dynamic还不是很完善,在PWM上就有体现,PWM需要OC与静态Timer配合,如果有其它Timer在在使用Dynamic,不想全部改为Static,可以直接使用PLIB函数,可以从其它Static函数往底层去看,也是通过static调用的PLIB函数。
所以,在这里我们只配置OC,而对应的Timer则采用直接调用底层函数的方法使用static驱动。
注意,PWM的占空比指的是高电位占空比,例如80%指的是80%为高电位。
1、配置驱动
2、配置输出引脚
3、生成代码,使用PWM
//high level occupy timer period Percentage,example:80 express 80% time high,20% lowvoid Start_PWM_OUT(uint8_t DutyCycle){ DRV_OC0_Start(); PLIB_OC_PulseWidth16BitSet(OC_ID_1, 2000*DutyCycle/100); /* Initialize Timer Instance0 */ /* Disable Timer */ PLIB_TMR_Stop(TMR_ID_2); /* Select clock source */ PLIB_TMR_ClockSourceSelect(TMR_ID_2, TMR_CLOCK_SOURCE_PERIPHERAL_CLOCK); /* Select prescalar value */ PLIB_TMR_PrescaleSelect(TMR_ID_2, TMR_PRESCALE_VALUE_256); /* Enable 16 bit mode */ PLIB_TMR_Mode16BitEnable(TMR_ID_2); /* Clear counter */ PLIB_TMR_Counter16BitClear(TMR_ID_2); /*Set period */ PLIB_TMR_Period16BitSet(TMR_ID_2, 2000); PLIB_TMR_Start(TMR_ID_2);}void Stop_PWM_OUT(void){ DRV_OC0_Stop(); PLIB_TMR_Stop(TMR_ID_2);}
0 0
- 【PIC32MZ】PWM呼吸灯
- PWM输出,呼吸灯
- STM8S PWM 应用 呼吸灯
- PWM --呼吸灯
- verilog PWM实现呼吸灯
- 基于PWM的呼吸灯
- 基于stm32的pwm呼吸灯
- STM32 PWM简介及呼吸灯实验
- STM32定时器产生PWM--呼吸灯
- STM32使用PWM控制LED呼吸灯效果
- STM8S003F3通过PWM波实现三基色呼吸灯
- 用PWM实现多个呼吸灯间歇发光
- 51单片机PWM的控制(呼吸灯)
- STM8S003F3通过PWM波实现三基色呼吸灯
- STM32F407ZET6 关于用PWM(做出呼吸灯)详解
- 单片机学习札记9 定时器模拟PWM呼吸灯
- 使用TIM3定时输出PWM控制LED灯实现呼吸灯
- 通过矩阵键盘,用PWM来实现呼吸灯的效果
- 【PIC32MZ】Usart串口通讯
- 二叉排序树的插入、遍历和删除
- 【PIC32MZ】Timer定时器
- UEditor不能获取文章内容的解决办法
- springMVC访问不了后台问题
- 【PIC32MZ】PWM呼吸灯
- CSDN粘贴代码显示行号,并实现代码高亮
- 【PIC32MZ】I2C通信
- 【PIC32MZ】OLED12864 I2C显式示例
- 使用python编写的落网电台下载工具
- 现操-week8
- 今天开始玩博客
- Centos IP、DNS设置
- django创建project报错 ImportError: No module named dajango.core.management