[PIC®/AVR®/dsPIC®产品] PIC16F13145开发板的PWM使用

[复制链接]
 楼主| 天灵灵地灵灵 发表于 2024-10-24 20:17 | 显示全部楼层 |阅读模式
本帖最后由 天灵灵地灵灵 于 2024-10-24 20:20 编辑

创建MCC工程,设置如下:



最后设置成250KHz的频率
IO配置如下


然后代码里对PWM从小到大,再从大到小

  1. int main(void)
  2. {
  3.     uint16_t pwm_t=0;
  4.     uint8_t flag=0;
  5.     SYSTEM_Initialize();
  6.     // If using interrupts in PIC18 High/Low Priority Mode you need to enable the Global High and Low Interrupts
  7.     // If using interrupts in PIC Mid-Range Compatibility Mode you need to enable the Global and Peripheral Interrupts
  8.     // Use the following macros to:

  9.     // Enable the Global Interrupts
  10.     //INTERRUPT_GlobalInterruptEnable();

  11.     // Disable the Global Interrupts
  12.     //INTERRUPT_GlobalInterruptDisable();

  13.     // Enable the Peripheral Interrupts
  14.     //INTERRUPT_PeripheralInterruptEnable();

  15.     // Disable the Peripheral Interrupts
  16.     //INTERRUPT_PeripheralInterruptDisable();


  17.     while(1)
  18.     {
  19.         if(flag==0)
  20.         {
  21.             PWM1_LoadDutyValue(pwm_t++);
  22.             DELAY_milliseconds(100);
  23.             if(pwm_t==126) flag=1;
  24.         }
  25.         else
  26.         {
  27.             PWM1_LoadDutyValue(pwm_t--);
  28.             DELAY_milliseconds(100);
  29.             if(pwm_t==1) flag=0;
  30.         }
  31.     }   
  32. }


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 天灵灵地灵灵 发表于 2024-10-24 20:22 | 显示全部楼层

注意这里,这里设置100%时候的数据就是最大寄存器值,这也是修改函数的参数可选最大值。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
小灵通2018 发表于 2024-11-29 17:27 | 显示全部楼层
挺好用,试试其他外设如何用。
guijial511 发表于 2024-11-29 19:12 来自手机 | 显示全部楼层
PWM外设主要用来驱动电机
21mengnan 发表于 2024-12-15 18:51 来自手机 | 显示全部楼层
用这个工具配置pwm非常容易,比以前那个好,以前那个版本有bug
 楼主| 天灵灵地灵灵 发表于 2024-12-25 15:11 | 显示全部楼层
21mengnan 发表于 2024-12-15 18:51
用这个工具配置pwm非常容易,比以前那个好,以前那个版本有bug

是的,以前好像引脚要被绑定,用1个都不行,现在修复了,可以操作一个IO。
捉虫天师 发表于 2024-12-26 11:26 | 显示全部楼层
还支持各种终端回调函数的自动生成
您需要登录后才可以回帖 登录 | 注册

本版积分规则

182

主题

3469

帖子

13

粉丝
快速回复 在线客服 返回列表 返回顶部