• 大小: 60.33MB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2023-12-28
  • 语言: 其他
  • 标签: freescale  

资源简介

k60主板摄像头组,iarIDE下整个工程文件,可以正常识别并跑完赛道

资源截图

代码片段和文件信息

#include “common.h“
#include “include.h“
#include 
#include 
#include “VCAN_camera.h“
#include “motor.h“
#include “steer.h“
 
/*!
 *  @brief      main函数
 *  @since      v5.0
 *  @note       山外摄像头 LCD 测试实验
 */
#define chartonumber(x) (x-‘0‘)


//搜索
int flag2 = 0;
int search(uint8* imgint stepint xint y)
   {
    int i = 0;
    for(i=0;i      {
       if(img[(x-i)*CAMERA_W+y]==1)
       return (x-i);
       }
    return (x-step);
    }


int search2(uint8* imgint stepint numberint xint y)
{
  int l = 0;
  int r = 0;
  int i = 0;
  for(i=1;i  {
    if(img[x*CAMERA_W+y+i]==1) r++;
    if(img[x*CAMERA_W+y-i]==1) l++;
  }
  if((r-l)>=number) return -1;
  if((l-r)>=number) return 1;
  else return 0;
  
}
void  main(void)
    {
      motor_init();
      steer_init();   
      uart_init(UART1 115200);
//    DELAY_MS(2000);

        
    
   // pit_init_ms(PIT0 1000);  
        
    ov7725_eagle_init(imgbuff);
    NVIC_init();
    
    
    //*****************中断函数**************************
    PORTB_ISFR = ~0;                        //写1清中断标志位(必须的,不然回导致一开中断就马上触发中断)
    enable_irq(PORTB_IRQn); 
    uart_rx_irq_en (UART1);
    //**************************************************    
    PWMSetMotor2(7600  7600);         //  (LEFTRIGHT)  到9600,1000>2000(驱动输出pwm波反)  目前8500

    while(1)
    {
      
         ov7725_eagle_get_img();//摄像头获取图像
        // vcan_sendimg(imgbuff sizeof(imgbuff));
         img_extract((uint8 *) img (uint8 *) imgbuff CAMERA_H*CAMERA_W/8);
     
             
         //巡线算法
     
          int step=0;
          int l_high = 0;
          int r_high = 0;
          int lr_step = 20;
          int up_step = 25 + CAMERA_H/2 - 1;
          int midx = CAMERA_H-1;
          int midy = CAMERA_W / 2 ;
          for(step=1;step  l_high += search((uint8*)imgup_stepmidxmidy-step);
 r_high += search((uint8*)imgup_stepmidxmidy+step);
          }
          int flag = l_high - r_high;
          int flag3 = 0;
          if(l_high>=79*(lr_step-1))
            flag3 = 1; 
          else
            flag3 = 0;
          if(flag<0){
 PWMSetSteer(820);//左转
                 flag2 = -1 ;
          }
          else if(flag>0){
 PWMSetSteer(720);//右转 
                 flag2 = 1 ;
          }
          else if(l_high==r_high)
          {
            if(flag3==1)
            {
              if(flag2==-1){
                 PWMSetSteer(840);//左转
              }
              if(flag2==1){
                 PWMSetSteer(700);//右转
              }
            }
            else
            PWMSetSteer(776);
          }
                 
          
          
      
         
   }

}

/*!
 *  @brief      PORTA中断服务函数
 *  @since      v5.0
 */
void PORTB_IRQHandler()
{
    uint8  n;    //引脚号
    uint32 flag;

    while(!PORTB_ISFR);
    flag = PORTB

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-18 22:32  校赛\
     目录           0  2018-04-18 22:32  校赛\App\
     目录           0  2018-04-18 22:32  校赛\App\Inc\
     文件        4516  2017-12-26 19:02  校赛\App\Inc\MK60_conf.h
     文件        1033  2017-12-26 19:21  校赛\App\Inc\MK60_it.h
     文件        5997  2018-04-16 16:36  校赛\App\Inc\PORT_cfg.h
     文件        1547  2017-08-08 17:26  校赛\App\Inc\include.h
     文件       10172  2017-08-10 11:10  校赛\App\MK60_conf.c
     文件         821  2017-12-28 21:57  校赛\App\MK60_it.c
     文件        3991  2018-04-18 22:32  校赛\App\main.c
     文件          21  2017-08-08 16:15  校赛\App\main.h
     文件        2223  2018-01-08 19:15  校赛\App\motor.c
     文件         985  2018-01-05 19:53  校赛\App\motor.h
     文件        1512  2018-04-11 16:31  校赛\App\steer.c
     文件        1056  2018-04-17 16:48  校赛\App\steer.h
     目录           0  2018-04-18 22:32  校赛\Board\
     目录           0  2018-04-18 22:32  校赛\Board\inc\
     文件         661  2016-11-09 13:55  校赛\Board\inc\VCAN_ASCII.h
     文件        2805  2016-11-09 13:55  校赛\Board\inc\VCAN_BMP.h
     文件        5570  2016-11-09 13:55  校赛\Board\inc\VCAN_LCD.h
     文件         965  2016-11-09 13:55  校赛\Board\inc\VCAN_LCD_CH.h
     文件        2099  2016-11-09 13:55  校赛\Board\inc\VCAN_LCD_ILI9325.h
     文件        2100  2016-11-09 13:55  校赛\Board\inc\VCAN_LCD_ILI9341.h
     文件        4390  2016-11-09 13:55  校赛\Board\inc\VCAN_LCD_ST7735R.h
     文件        4390  2016-11-09 13:55  校赛\Board\inc\VCAN_LCD_ST7735S.h
     文件         962  2016-11-09 13:55  校赛\Board\inc\VCAN_LED.H
     文件        3445  2016-11-09 13:55  校赛\Board\inc\VCAN_MMA7455.h
     文件        1904  2016-11-09 13:55  校赛\Board\inc\VCAN_NRF24L0.h
     文件        2366  2016-11-09 13:55  校赛\Board\inc\VCAN_NRF24L0_MSG.h
     文件        2284  2018-03-14 19:29  校赛\Board\inc\VCAN_OV7725_Eagle.h
     文件        4718  2016-11-09 13:55  校赛\Board\inc\VCAN_OV7725_REG.h
............此处省略557个文件信息

评论

共有 条评论