蓝桥杯嵌入式-5:定时器PWM输出

  1. 实现要求
    1. 使用PA6输出固定位100HZ
    2. 使用PA7输出固定为200Hz
  2. CubeMx中配置引脚
  3. 参数配置(两个配置步骤一直

  1. keil5中main文件编写
    uint8_t pa6_duty = 10;
    uint8_t pa7_duty = 10;
    
    void key_proc(void)
    {
        //按键测试代码:
          if(key[1].single_flag == 1)
          {
            pa6_duty += 10;
            if(pa6_duty >= 100)
            {
                pa6_duty = 10;
            }
            __HAL_TIM_SetCompare(&htim16,TIM_CHANNEL_1,pa6_duty);
            key[1].single_flag = 0;
          }
          if(key[2].single_flag == 1)
          {
            pa7_duty += 10;
            if(pa7_duty >= 100)
            {
                pa7_duty = 10;
            }
            __HAL_TIM_SetCompare(&htim17,TIM_CHANNEL_1,pa7_duty);
            key[2].single_flag = 0;
          }
    
    }
    
    void disp_proc(void)
    {
        sprintf(lcd_text,"   PARA   ");
        LCD_DisplayStringLine(Line1,(uint8_t*)lcd_text);
        
        sprintf(lcd_text,"   pa6:%d   ",pa6_duty);
        LCD_DisplayStringLine(Line1,(uint8_t*)lcd_text);
        
        sprintf(lcd_text,"   pa7:%d   ",pa7_duty);
        LCD_DisplayStringLine(Line2,(uint8_t*)lcd_text);
    }
    
    int main(void)
    {
        //打开PWM的通道开关
        HAL_TIM_PWM_Start(&htim16,TIM_CHANNEL_1);
        HAL_TIM_PWM_Start(&htim17,TIM_CHANNEL_1);
     while(1)
     {
         key_proc();
         disp_proc(); 
     }
    }

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值