从0开始手搓一套STM32F103自平衡车(第二节:硬件外设程序编写-1)

大家好,给大家提供一款自己做的STM32自平衡车。第二节文章我们主要完成硬件外设的配置,主要包括:LED,OLED显示屏(直接移植江协科技的即可)、定时器,PWM配置,电机Motor配置,编码器Encoder配置。

所使用引脚说明如下:
//LED     PC13引脚0亮1灭
//OLED显示屏   PB8-SCL  PB9-SDA 
//两路PWM-TIM1  PA8-CH1 PA11-CH4 
//电机转速方向控制引脚   PB12 PB13 PB14 PB15
//两路编码器Encoder-TIM2和TIM3 PA0-TIM2 CH1 PA1-TIM2 CH2 PA6-TIM3 CH1 PA7-TIM3 CH2
 //ADC电压采集   PBO  ADC1通道8 ADC Channel 8 PB0 
//MPU6050陀螺仪    PB6-SCL   PB7-SDA   PB5-INT中断引脚 
//蓝牙串口USART2   PA2-TXD   PA3-RXD   波特率:230400


一:空白文件建立
首先我们打开一个空白的OLED工程。
接着我们建立ALL_Init.c、 ALL_Init.h、 ALL_Define.h、Scheduler.c文件,其中ALL_Init.c 里面我们只要包含各种外设初始化函数就可以了,ALL_Define.h里面包含各种外部声明的.h函数就可以了。因此,今后我们建立的所有的.c文件只要包含#include "stm32f10x.h"和"ALL_Define.h" 就可以了。Scheduler文件是放中断控制函数的。

因此,今后我们的代码中就可以按这个格式去写了,main函数里面是ALL_Init()的初始化,while循环函数里面是OLED_Show()显示函数。其他控制函数全部放在Scheduler.c文件里面就可以了


二:LED函数配置—建立LED.c和LED.h文件

LED.c

LED.h

三:定时器Timer函数配置—建立Timer.c和Timer.h文件

Timer.c

Timer.h

四:在Scheduler函数里面引用TIM4_IRQHandler函数,今后我们各种测试函数代码都可以放在TIM4_IRQHandler函数里面进行测试。

五:PWM函数配置—建立PWM.c和PWM.h文件
PWM.c

PWM.h

六:Motor函数配置—建立Motor.c和Motor.h文件

Motor.c

Motor.h

七:Encoder函数配置—建立Encoder.c和Encoder.h文件
Encoder.c

Encoder.h

八:ALL_Init函数初始化调用

总结:第二节文章我们完成了基础硬件外设配置,包括LED,OLED显示屏(直接移植江协科技的即可)、定时器,PWM配置,电机Motor配置,编码器Encoder配置。下一个文章我们来完成ADC电压采集配置,MPU6050陀螺仪配置,蓝牙串口USART2配置。


觉得有用的朋友点个赞吧!感谢感谢灰常感谢!!!
需要板子原理图和PCB及控制代码的小伙伴,跪求一波关注,私信留言发!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值