智能小车地盘控制(一)STM32资源配置

1、硬件平台

MCU:STM32F103
电机:直流减速电机,减速比1:30
编码器:500线光电编码器
通信接口:TTL转USB

2、软件平台

STM32CubeIDE Version 1.7.0

3、STM32资源配置

在STM32CubeIDE中打开.ioc文件进行相应资源的配置。

3.1 系统相关配置

Debug模式设置Debug模式设置
RCC配置,根据自己实际的板子上的晶振情况配置,本例只有外部高速晶振,没有低速晶振
RCC配置,根据自己实际的板子上的晶振情况配置,本例只有外部高速晶振,没有低速晶振

3.2 时钟配置

没有低速晶振,只有高速晶振,晶振频率8M,通过分频得到SYSCLK=72M。时钟配置1时钟配置2

3.3 GPIO配置

通常情况下,小车底盘需要用到的GPIO资源包括编码器接口、PWM接口、旋转方向控制接口、通信接口。

本例资源分配如下:

  • 编码器接口:分别配置timer 2、3的ch1和ch2
    encoder1

通道1参数设置,通道2相同。
encoder1 param
管脚设置,上拉与否要看实际的硬件,未设置中断。
encoder1 gpio

  • PWM接口
    设置Timer4的通道2、3为PWM输出。
    在这里插入图片描述
    PWM参数设置,时钟频率为72MHz,设置PWM频率为5kHz,分频系数设置为0,即不分频。则counter period 需要设置为 72000000 5000 = 14400 \frac{72000000}{5000}=14400 500072000000=14400;减1的原因是公式 f c l k = A P B x T i m e r c l o c k ( p r e s c a l e r + 1 ) ∗ ( c o u n t e r p e r i o d + 1 ) f_{clk} = \frac{APBx Timer clock}{(prescaler+1)*(counter period+1)} fclk=(prescaler+1)(counterperiod+1)APBxTimerclock里面已经加1。其他默认即可。
    pwm1
  • 串口通信配置
    在这里插入图片描述
    参数配置(根据实际需要更改波特率,校验位等),其他默认即可。
    在这里插入图片描述
  • GPIO配置
    配置电机旋转方向控制管脚(本例对应驱动芯片LN298)每个电机需要两个GPIO,配置为输出。本例分别为PB4、5、6、9。
    在这里插入图片描述
    其他的是一些测试管脚,不赘述了。
    关于用STM32CubeIDE来作开发网上的资料非常丰富,本文只作简单地叙述,记录以下开发过程。题外话,STM32CubeIDE用来开发还是很方便的,重要的是免费,不用受MDK license的束缚了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值