大家好,给大家提供一款自己做的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及控制代码的小伙伴,跪求一波关注,私信留言发!!!