找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1188|回复: 0
打印 上一主题 下一主题
收起左侧

STM32单片机寻迹平衡车程序

[复制链接]
跳转到指定楼层
楼主
双轮平衡小车资源分配-标准版
IO编号 资源说明 外设 备注
A12 普通IO MPU6050的INT引脚 检测MPU6050是否产生数据就绪中断
B8、B9 普通IO MPU6050 软件模拟IIC的SCL与SDA
B10、B11 串口3 蓝牙模块 遥控小车
B0 TIM3_CH3 超声波模块 捕获超声波回波脉冲,计算距离
B1 普通IO 超声波模块 给超声波模块发送开始信号
A8、B15、B14 PWMA、IO 左轮电机 电机控制信号:PWM大小、电机方向
A11、B12、B13 PWMB、IO 右轮电机 电机控制信号:PWM大小、电机方向
A0、A1 TIM2_CH1、CH2 左轮编码器 编码器采集
B6、B7 TIM4_CH1、CH2 右轮编码器 编码器采集
A6 ADC1_CH6 ADC采集 电压测量
A9、A10 串口1 MicroUSB 串口控制(单片机外设资源)
A4 普通IO LED灯
属于单片机上的外设资源 A5 普通IO 用户按键
A15、B3、B4、B5 普通IO OLED显示屏
A13、A14 SWD下载、调试 SWD接口
闲置引脚 A2、A3、A7、B2、C13、C14、C15

部分代码:
#include "main.h"

extern uint8_t OLED_GRAM[128][8];
int main(void)
{
        NVIC_SetPriorityGrouping(5);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
        SysTick_Config(72000);
        LED_Config();
        KEY_Config();
        USART1_Config(9600);
        BlueTooth_Config(9600,"sun","12345");
//        BlueTooth_Config(9600,NULL,NULL);
        OLED_Config();
        Battery_Config();
        Motor_Config();
        Encoder_Config();
        MPU6050_Config();
        SR04_Config();
        
        OLED_ShowString(8,0,16, "*123456*");//列 行 字体大小(12 16)
        OLED_ShowPhoto(2,0,25,128,JCZN_Logo128_25);
        OLED_ShowString(0,48,16, "Smart Blance Car");//列 行 字体大小(12 16)
        OLED_UpdataGRAM();
        Delay_nms(2000);
        OLED_Clear();
        NVIC_EnableIRQ(EXTI15_10_IRQn);
        while(1)
        {
                if(Flag_Show==0)
                {
                         Fanction_Show2APP();                        //发送数据给APP
                         Fanction_Show2OLED();    //显示屏打开
                }
                else                              //使用上位机 上位机使用的时候需要严格的时序,故此时关闭app监控部分和OLED显示屏
                {
                         Fanction_DataScope();    //开启上位机
                }        
                DelayFlag = 1;        
                Delay50 = 0;
               
                while(DelayFlag);                                     //示波器需要50ms        高精度延时,delay函数不满足要求,故使用MPU6050中断提供50ms延时
               
        }
}


ba.png (13.23 KB, 下载次数: 0)

ba.png

寻迹平衡车程序.7z

1.1 MB, 下载次数: 4, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表