Arduino STM32F103C8T6(BluePill) 教程五教你使用STM32的简单PWM功能

如果说学会使用单片机的第一课是点亮LED ,那么学会使用定时器的第一节就是PWM的使用,所幸,查到Maple的教程上有区分anaglogWrite()与pwmWrite的区别:
形式:void pwmWrite(uint8 pin,unint16 duty_cycle)
void analogWrite(uint8 pin,unint16 duty_cycle)
两者区别于:analog是模拟信号输出,而PWM是带有占空比的数字输出量:
Arduino STM32F103C8T6(BluePill) 教程五教你使用STM32的简单PWM功能_第1张图片
占空比与duty_cycle参数的关系为:
占空比=duty_cycle/65535*100% 默认频率550HZ,具体操作如下:
比如:
const int PWMR = PA3;
dutyA=50%;
analogWrite(PWMA, dutyA * 65535/100);
即PA3输出50%占空比的PWM信号。

Bluepill有以下端口支持PWM:PA0-PA3,PA6,PA7,PA8-PA12,PB0,PB1,PB6-PB8,PB12合计17路PWM输出。

你可能感兴趣的:(Arduino类)