找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1115|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32單片機(jī)尋跡平衡車程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
雙輪平衡小車資源分配-標(biāo)準(zhǔn)版
IO編號 資源說明 外設(shè) 備注
A12 普通IO MPU6050的INT引腳 檢測MPU6050是否產(chǎn)生數(shù)據(jù)就緒中斷
B8、B9 普通IO MPU6050 軟件模擬IIC的SCL與SDA
B10、B11 串口3 藍(lán)牙模塊 遙控小車
B0 TIM3_CH3 超聲波模塊 捕獲超聲波回波脈沖,計(jì)算距離
B1 普通IO 超聲波模塊 給超聲波模塊發(fā)送開始信號
A8、B15、B14 PWMA、IO 左輪電機(jī) 電機(jī)控制信號:PWM大小、電機(jī)方向
A11、B12、B13 PWMB、IO 右輪電機(jī) 電機(jī)控制信號:PWM大小、電機(jī)方向
A0、A1 TIM2_CH1、CH2 左輪編碼器 編碼器采集
B6、B7 TIM4_CH1、CH2 右輪編碼器 編碼器采集
A6 ADC1_CH6 ADC采集 電壓測量
A9、A10 串口1 MicroUSB 串口控制(單片機(jī)外設(shè)資源)
A4 普通IO LED燈
屬于單片機(jī)上的外設(shè)資源 A5 普通IO 用戶按鍵
A15、B3、B4、B5 普通IO OLED顯示屏
A13、A14 SWD下載、調(diào)試 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();                        //發(fā)送數(shù)據(jù)給APP
                         Fanction_Show2OLED();    //顯示屏打開
                }
                else                              //使用上位機(jī) 上位機(jī)使用的時(shí)候需要嚴(yán)格的時(shí)序,故此時(shí)關(guān)閉app監(jiān)控部分和OLED顯示屏
                {
                         Fanction_DataScope();    //開啟上位機(jī)
                }        
                DelayFlag = 1;        
                Delay50 = 0;
               
                while(DelayFlag);                                     //示波器需要50ms        高精度延時(shí),delay函數(shù)不滿足要求,故使用MPU6050中斷提供50ms延時(shí)
               
        }
}


ba.png (13.23 KB, 下載次數(shù): 0)

ba.png

尋跡平衡車程序.7z

1.1 MB, 下載次數(shù): 4, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表