基于STM32F407VET6修改RT-Thread的命令操作串口及PWM设备使用步骤

修改RT-Thread的命令操作串口

修改的前提是已经有一份已经移植好的工程模板可以,使用RT-ThreadStudio软件直接生成或按照官方文档移植。

CUBEMX打开需要的串口

打开cubemx
在这里打开
打开并修改需要的串口在这里插入图片描述
修改后生成
在这里插入图片描述

ENV打开串口

修改Kconfig文件
在这里插入图片描述
添加配置代码
在这里插入图片描述

    menuconfig BSP_USING_UART
        bool "Enable UART"
        default y
        select RT_USING_SERIAL
        if BSP_USING_UART
            config BSP_USING_UART1
                bool "Enable UART1"
                default y
            config BSP_USING_UART3
                bool "Enable UART3"
                default n

            config BSP_UART1_RX_USING_DMA
                bool "Enable UART1 RX DMA"
                depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
                default n
			config BSP_UART3_RX_USING_DMA
                bool "Enable UART3 RX DMA"
                depends on BSP_USING_UART3 && RT_SERIAL_USING_DMA
                default n
        endif

ENV打开串口3,并修改控制台输出串口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
退出后生成工程
在这里插入图片描述

编译测试

串口3已经打开
在这里插入图片描述
控制台串口为串口3(若串口设备已打开可直接在此修改控制台串口)
在这里插入图片描述

PWM设备使用步骤

CUBEMX打开tim3的PWM设备

在这里插入图片描述

修改Kconfig配置代码

在这里插入图片描述

     menuconfig BSP_USING_PWM
	   bool "Enable PWM"
	   default n
	   select RT_USING_PWM
		if  BSP_USING_PWM
			menuconfig BSP_USING_PWM3
			bool "Enable timer3 output pwm"
			default n
			if BSP_USING_PWM3
				config BSP_USING_PWM3_CH1
				bool "Enable pwm3 channel1"
				default n

				config BSP_USING_PWM3_CH2
				bool "Enable pwm3 channel2"
				default n
			endif
		endif

ENV打开设备

打开
在这里插入图片描述
生成新的工程
在这里插入图片描述

使用

打开keil工程,可看到驱动及驱动框架层均已添加相关文件,在对应设备pwm_config.h文件中有注册设备的字符名称及对应的STM32底层定时器。
在这里插入图片描述

底层一点的引脚初始化及设备初始化均已在drv_pwm.c中自动完成,进行应用层操作就行
在这里插入图片描述
在这里插入图片描述
具体的使用操作为获取设备句柄、设置参数、使能设备

	struct rt_device_pwm *pwm_dev;      /* PWM设备句柄 */
 	pwm_dev = (struct rt_device_pwm *)rt_device_find(PWM_DEV_NAME);
    /* 设置PWM周期和脉冲宽度默认值 */
    rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL_1, period, pulse1);
	rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL_2, period, pulse2);

    /* 使能设备 */
    rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL_1);
    rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL_2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜗牛Jay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值