1、实验要求:
要求硬件上:至少有一路带PWM输出功能的GPIO,能够用来连接 LED 灯 有一路串口用来做 msh shell 终端
软件上:BSP 中已经实现如下驱动:串口驱动,PIN 驱动,PWM驱动
2、准备工作:
硬件:野火霸天虎stm32407开发板
软件:rtt3.1.0 stm32f4xxhal、env0.7.1
3、示例代码```#include
/**宏定义*/
/**示例函数*/
//线程入口函数
void rt_pwm_rgb_entry(void* parameter)
{
rt_uint8_t random;
//使能通道
rt_pwmG_enable(CH_R);//使能TIM11通道1
// rt_pwm_enable(CH_G);
// rt_pwm_enable(CH_B);
// random = rand()%255;
// rt_pwm_set(CH_G, PERIOD, random);
// random = rand()%255;
// rt_pwm_set(CH_B, PERIOD, random);
}
//初始化函数
int rt_pwm_rgb_init()
{
rt_device_t pwm_dev;
rt_thread_t tid;
}
//MSH_CMD_EXPORT(rt_pwm_rgb_init, rgb by pwm.);```也可以在主函数里调用初始化函数。
4、实验步骤
env配置芯片型号stm32f407ZG、外部时钟源HSE25M、串口驱动、PIN驱动、PWM驱动
5、实验结果
灯的亮度和对应控制台输出数字程度一致。
6、遇到的问题:想要实现三个灯一起随机闪烁,编译报错,截图如下
7、解决方法:未解决。
和上一个呼吸灯实验遇到的问题一样,希望有实验成功的可以分享思路。