【联盛德 W800 Arduino开发板】基于Arduino的PWM测试
1、 开发板简介和W800特性
W800具有非常好的性能,集成32位XT804处理器,工作频率240MHz,内置DSP、浮点运算单元和安全引擎,配备2MBFlash和288KBRAM,集成5路UART高速接口、2路12位SD-ADC(最高采样率1KHz)、1个I2C控制器、最多18个GPIO和5路PWM接口,以及1路DuplexI2S控制器。
另外支持Tee安全引擎等等,支持GB15629.11-2006、IEEE802.11b/g/n、多种Wi-Fi安全协议(WPA/WPA2/WPS等)和信道接入方式,支持BT/BLE双模工作模式以及BT/BLE4.2协议等等,另外支持待机功耗。
2、 开发环境搭建
在 Arduino IDE 中安装
1、文件 -> 偏好设置
2、在附加开发板管理器URL中输入以下URL:
https://raw.githubusercontent.com/board707/w80x_arduino/hal-v0.6.0/package_w80x_index.json
如果Error: 13 INTERNAL: can not installw80x_duino:csky@2021.04.23 tool使用替代方案:
https://raw.githubusercontent.com/board707/w80x_arduino/hal-v0.6.0/package_w80x_test_index.json
如果此方法不起作用,请尝试以下任一链接地址:
http://dl.isme.fun/w80x_arduino/package_w80x_index.json
file:///C:/Users/xujiwei/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
Arduino支持的开发板较多,包括:
· W800
· W801(引脚排列)
· W802
· W806(引脚排列)
· Air_101(W800 克隆)(引脚排列)
· Air_103(W806 克隆)(引脚排列)
3、 PWM测试
file:///C:/Users/xujiwei/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg
#include <Arduino.h> // 引入 Arduino 核心库
// 定义最大和最小占空比
#define DUTY_MAX 240 //最大占空比
#define DUTY_MIN 50 //最小占空比
// 定义数组 m 和d
// m 数组用于存储每个通道的状态:0表示增加亮度,1表示减小亮度
// d 数组用于存储每个通道的当前占空比
int m[3] = { 0 }, d[3] = { DUTY_MIN,
(DUTY_MIN + DUTY_MAX) / 2, DUTY_MAX - 1 };
// 定义用于 PWM 输出的引脚
int pwm_pin[3] = { LED_BUILTIN_1,
LED_BUILTIN_2, LED_BUILTIN_3 };
// 初始化设置
void setup() {
//为每个 PWM 引脚设置为输出模式
for
(int i = 0; i < 3; i++) {
pinMode(pwm_pin, PWM_OUT); //设置引脚模式为 PWM 输出
}
}
// 主循环
void loop() {
//对每个 LED 执行亮度变化
for
(int i = 0; i < 3; i++) {
if (m == 0) //如果状态为 0 则增加亮度
{
analogWrite(pwm_pin, d++); //将当前占空比写入 PWM 引脚,并自增
//如果当前占空比达到最大值,则切换状态为减少亮度
if (d == DUTY_MAX) m = 1;
}
else //否则 (状态为 1),则减少亮度
{
analogWrite(pwm_pin, d--); //将当前占空比写入 PWM 引脚,并自减
//如果当前占空比达到最小值,则切换状态为增加亮度
if (d == DUTY_MIN) m = 0;
}
}
//等待 5 毫秒,以调整更新频率
delay(5);
}
4、 结果
file:///C:/Users/xujiwei/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg
file:///C:/Users/xujiwei/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg
file:///C:/Users/xujiwei/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg
file:///C:/Users/xujiwei/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg
Q1:资料过少,原理图有点莫名,例如下图
file:///C:/Users/xujiwei/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg
Q2;存在错误。W800只有2个ADC,但是图例有6个,有点莫名
file:///C:/Users/xujiwei/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg
file:///C:/Users/xujiwei/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg
Q3:对Arduino支持不够