标题: STM32蓝牙智能小车避障程序 [打印本页]

作者: 墨明棋妙wh    时间: 2020-2-23 12:18
标题: STM32蓝牙智能小车避障程序


单片机源程序如下:
  1. #include "IRSEARCH.h"
  2. #include "delay.h"
  3. #include "motor.h"
  4. #include "stm32f10x.h"                  // Device header

  5. char ctrl_comm = COMM_STOP;//控制指令
  6. char ctrl_comm_last = COMM_STOP;//上一次的指令

  7. void IRSearchInit(void)
  8. {
  9.         GPIO_InitTypeDef  GPIO_InitStructure;
  10.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB , ENABLE);
  11.        
  12.   GPIO_InitStructure.GPIO_Pin = SEARCH_R_PIN;//配置使能GPIO管脚
  13.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//配置GPIO模式,输入上拉
  14.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//配置GPIO端口速度
  15.         GPIO_Init(SEARCH_R_GPIO , &GPIO_InitStructure);
  16.        
  17.         GPIO_InitStructure.GPIO_Pin = SEARCH_L_PIN;//配置使能GPIO管脚
  18.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//配置GPIO模式,输入上拉
  19.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//配置GPIO端口速度
  20.         GPIO_Init(SEARCH_L_GPIO , &GPIO_InitStructure);
  21. }

  22. void SearchRun(void)
  23. {
  24.         if(SEARCH_L_IO == WHITE_AREA && SEARCH_R_IO == WHITE_AREA)
  25.                 ctrl_comm = COMM_UP;
  26.         else if (SEARCH_L_IO == BLACK_AREA && SEARCH_R_IO == WHITE_AREA)
  27.                 ctrl_comm = COMM_LEFT;
  28.         else if (SEARCH_R_IO == BLACK_AREA & SEARCH_L_IO == WHITE_AREA)
  29.                 ctrl_comm = COMM_RIGHT;
  30.         else ctrl_comm = COMM_STOP;
  31.        
  32.         if(ctrl_comm_last != ctrl_comm)
  33.         {
  34.                         ctrl_comm_last = ctrl_comm;
  35.                          switch(ctrl_comm)
  36.                                 {
  37.                                         case COMM_UP:    ZYSTM32_run(50,10);break;
  38.                                         case COMM_DOWN:  ZYSTM32_back(50,10);break;
  39.                                         case COMM_LEFT:  ZYSTM32_Left(50,10);break;
  40.                                         case COMM_RIGHT: ZYSTM32_Right(50,10);break;
  41.                                         case COMM_STOP:  ZYSTM32_brake(10);break;
  42.                                         default : break;
  43.                                 }
  44.         }
  45. }
复制代码

全部资料51hei下载地址:
ZYSTM32-A0 智能小车红外避障实验(带后退掉头避障).7z (189.96 KB, 下载次数: 52)

作者: 妖孽王叔叔    时间: 2020-2-28 14:50
谢谢分享,不做伸手党




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1