NuttX 入门笔记6 STM32F103C8T6(STM32f103-minimum) 多路PWM测试-RGBLED

1、进入 nuttx , 执行make distclean 清理(之前已经配置编译过)
2、进入 nuttx/tools目录
执行
./configure.sh stm32f103-minimum/rgbled
( 在nuttx\configs\stm32f103-minimum\rgbled下可以看到配置文件)
3、回到nuttx目录
执行 make menuconfig

TIM1 到TIM4 4 个都定时器都选上

返回上一级

同样TIM1 到TIM4 都要设置

返回到第一级



返回到第一级



保存退出配置
4、下面是代码查看或修改
  • 打开nuttx\configs\stm32f103-minimum\include里的 board.h
找到
/* PWM
 *
 * The STM32F103-Minimum has no real on-board PWM devices, but the board can
 * be configured to output a pulse train using TIM3 CH3 on PB0.
 *
 * Note: we don't need redefine GPIO_TIM3_CH3OUT because PB0 is not remap pin.
 */

/* RGB LED
 *
 * R = TIM1 CH1 on PA8 | G = TIM2 CH2 on PA1 | B = TIM4 CH4 on PB9
 *
 * Note: Pin configs: GPIO_TIM1_CH1OUT ; GPIO_TIM2_CH2OUT ; GPIO_TIM4_CH4OUT
 */

#define RGBLED_RPWMTIMER 1
#define RGBLED_RPWMCHANNEL 1
#define RGBLED_GPWMTIMER 2
#define RGBLED_GPWMCHANNEL 2
#define RGBLED_BPWMTIMER 4
#define RGBLED_BPWMCHANNEL 4
  • 查看nuttx\configs\stm32f103-minimum\src 里的 stm32_rgbled.c相关定义
5、编译及烧写

6、接线及测试
从上面的代码可以看到
R => PA8 ( TIM1 CH1)
G => PA1 ( TIM2 CH2)
B => PB9 ( TIM4 CH4 1)
执行
rgbled


只亮R灯执行
echo “#FF0000”> /dev/rgbled0
只亮G灯执行
echo “#00FF00”> /dev/rgbled0
只亮B灯执行
echo “#00FF00”> /dev/rgbled0

echo “#00FF00”> /dev/rgbled0
注:①有可能rgb灯模块的引脚标错了,执行上面的命令没得到相对于的颜色,可以先直接用vcc【别接错,是共地类型的】接该引脚,看是否是该颜色;
②以上命令直接复制可能导致双引号丢失,执行没有效果



echo “#00FF00”> /dev/rgbled0

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值