• 大小: 8.06MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-26
  • 语言: 其他
  • 标签: stm32  遥控  

资源简介

基于stm32的智能车,参加校园智能车比赛,能够实现遥控及循迹间切换

资源截图

代码片段和文件信息


/*2018年718智能车基础寻迹程序*/


/*
delay.h: 延时头文件
track.h: 循迹程序的头文件
carset.h:电机,舵机,光电对管的配置头文件
menu.h:  菜单头文件
oled.h:  oled的头文件
*/


#include “stm32f10x.h“
#include “delay.h“
#include “track.h“
#include “carset.h“
#include “menu.h“
#include “oled.h“
#include “usart.h“
#include “serialport.h“
#include “TIM.h“

extern double K_basic;                                      //调用其他.c文件的变量
extern double K_turn;
extern int    nflag;
int control=1;                                               //小车寻迹模式和调参模式标志位
extern int n1;
int begin=1;


int main()
{
Menu par1;                                                 //定义菜单相应结构体(有几个参数就定义几个结构体)
Menu par2;

 Serial_Port_Init(); //下位机串口初始化
delay_init();     //延时初始化
GPIO_motor_init();                                         //电机端口初始化
GPIO_infrared_init();                                      //光电对管端口初始化
TIM_motor_init(0);                                         //电机定时器设置
GPIO_servo_init();                                         //舵机端口初始化
TIM_servo_init(1000);                                      //舵机定时器初始化
EXTIX_Init();                                              //外部中断初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);            //设置 NVIC 中断分组 选择NVIC_PriorityGroup_22
TIM_PWM_Init();

AddMenu(“k_b“&K_basic0.01&par1);                         //将K_basic通过par1结构体加入调参菜单
AddMenu(“k_t“&K_turn0.2&par2);                          //将K_turn通过par2结构体加入调参菜单
Menu_Init(); //菜单初始化

OLED_Clear();
OLED_ShowString(402(uint8_t*)“718“16);
OLED_ShowString(164(uint8_t*)“SmartCar“16);
while (1)

ProcessInfo(&g_serialinfo);                                     //一直等待串口信息
if(nflag==1)
if(begin==1)
{
begin+=1;
MotorRun(400400);
delay_ms(500);
}
else
{
Tracking(GetError());
}
else
{
    ProcessInfo(&g_serialinfo);                                     //一直等待串口信息
}



}
}

//按键中断函数,每按一次Key2切换一次模式标志位
//切换到寻迹程序需要两步:一、按下Key2,二、在oled菜单中点击quit退出(即退出Menu_ShowPar())

void EXTI2_IRQHandler(void)
{
delay_ms(10);                                                //消抖
if(GPIO_ReadInputDataBit(GPIOEGPIO_Pin_2)==0)
{
control*=-1;                                               //切换模式
}
EXTI_ClearITPendingBit(EXTI_Line2);                          //清除 LINE2 上的中断标志位
}



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-21 19:44  wiseliang1 - 副本\
     目录           0  2018-12-21 19:44  wiseliang1 - 副本\新生杯示例代码(2)\
     目录           0  2018-12-21 19:44  wiseliang1 - 副本\新生杯示例代码(2)\project\
     目录           0  2018-12-21 19:44  wiseliang1 - 副本\新生杯示例代码(2)\project\App\
     目录           0  2018-12-21 19:44  wiseliang1 - 副本\新生杯示例代码(2)\project\App\inc\
     文件           0  2018-10-15 20:10  wiseliang1 - 副本\新生杯示例代码(2)\project\App\inc\include.h
     文件      633941  2011-03-10 10:51  wiseliang1 - 副本\新生杯示例代码(2)\project\App\inc\stm32f10x.h
     文件        3236  2015-03-12 21:09  wiseliang1 - 副本\新生杯示例代码(2)\project\App\inc\stm32f10x_conf.h
     文件        1983  2011-04-04 18:57  wiseliang1 - 副本\新生杯示例代码(2)\project\App\inc\stm32f10x_it.h
     文件        2085  2011-03-10 10:51  wiseliang1 - 副本\新生杯示例代码(2)\project\App\inc\system_stm32f10x.h
     目录           0  2018-12-23 06:27  wiseliang1 - 副本\新生杯示例代码(2)\project\App\src\
     文件        2679  2018-12-23 06:27  wiseliang1 - 副本\新生杯示例代码(2)\project\App\src\main.c
     文件        2418  2011-11-13 01:28  wiseliang1 - 副本\新生杯示例代码(2)\project\App\src\stm32f10x_it.c
     文件       36577  2011-04-04 18:57  wiseliang1 - 副本\新生杯示例代码(2)\project\App\src\system_stm32f10x.c
     目录           0  2018-12-21 19:44  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\
     目录           0  2018-12-23 05:36  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\
     文件        2260  2018-12-23 04:26  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\TIM.h
     文件        1062  2018-11-04 22:21  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\TM1637.h
     文件         605  2018-11-06 23:33  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\adc.h
     文件         314  2018-12-01 16:33  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\carset.h
     文件         217  2018-10-15 20:47  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\delay.h
     文件        1120  2018-11-06 23:35  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\exit.h
     文件         676  2018-10-20 13:35  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\flash.h
     文件         228  2018-10-20 23:24  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\key.h
     文件         373  2018-11-06 17:12  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\led.h
     文件         885  2018-11-04 22:06  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\menu.h
     文件         583  2018-11-04 22:06  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\menu_key.h
     文件        1864  2018-11-07 19:03  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\oled.h
     文件       15257  2014-10-26 23:37  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\oled_font.h
     文件         943  2018-12-21 20:19  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\serialport.h
     文件         262  2018-12-23 05:36  wiseliang1 - 副本\新生杯示例代码(2)\project\Board\inc\track.h
............此处省略222个文件信息

评论

共有 条评论