这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » 合宙Air001开发板体验---Arduino下测试PWM输出

共3条 1/1 1 跳转至

合宙Air001开发板体验---Arduino下测试PWM输出

专家
2023-08-23 20:09:01     打赏

Air001芯片也像其他大多数单片机那样,有一些复用的GPIO口可以作为PWM用(实际上Air001的这种PWM口还真不算少),有PA0PA7PB0PB3PB6,共计13个。

图片1.png

这次我们以PA0为例,测试Air001的PWM工作方式。

一、对于Air001,可用的API

1、analogWrite

此函数用于设置 PWM 输出的占空比

// 函数名:analogWrite

// 参数  :ulPin:要设置的 PWM 输出引脚

//         ulValue:占空比

void analogWrite(uint32_t ulPin, uint32_t ulValue)

 

2、analogWriteFrequency

这个函数是AirMCU 专用API此函数用于设置 analogWrite() 使用的频率。默认值为 PWM_FREQUENCY (1000),单位为赫兹。频率对于指定定时器的所有通道是通用的,为一个通道设置频率将影响同一定时器的所有其他通道。

 

// 函数名:analogWriteFrequency

// 参数  :freq:要设置的频率

void analogWriteFrequency(uint32_t freq);

 

 

3、analogWriteResolution

这个函数是AirMCU 专用API用于设置 analogWrite 参数的分辨率。默认为 8 位(范围为 0 至 255)。

 

// 函数名:analogWriteResolution

// 参数  :bits:要设置的分辨率

void analogWriteResolution(int bits);

 

二、下面我们开始测试

1、简单测试

  PA0为输出,每间隔5秒改变占空比。

示波器横向500μS单位,纵向2V单位测量。测量结果:

占空比参数=0,禁止PWM输出

图片4.png

占空比参数=64,占空比=25%

图片5.png

占空比参数=128,占空比=50%

图片6.png

占空比参数=255,占空比=100%

微信图片_20230823195631.jpg


可以看到测试结果与预期一致。

 

2、改变PWM频率测试

这次我们将测量频率改为2000Hz进行测试,占空比固定为50%

改变精度为12位,频率为1000Hz,占空比参数=1024,占空比应该为25%

到这里,我们已经完成了Air001开发板的PWM测试,同时也确认合宙提供的两个专用函数的使用效果。至于其它PWM口的输出测试以及改变频率对通道的影响,有兴趣的伙伴可以动手实验,进行验证。

最后附上测试工程:

TestPwm.zip




关键词: 菜鸟学单片机     合宙     Air001     Arduino         

院士
2023-08-23 23:07:19     打赏
2楼

PWM波的发生功能是一颗MCU的主要指标之一。

看上去使用Arduino来编程确实简单地多啊


专家
2023-08-24 10:42:08     打赏
3楼

库函数被封装的很好,Arduino下只需要几行代码就可以实现,实在是太方便了。


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]