您的位置:首页 > 其它

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

2017-09-03 00:04 579 查看
原文地址:http://blog.csdn.net/cs1107979819/article/details/77807548

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  NuttX PWM stm32 RGB LED