久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3739|回復: 0
打印 上一主題 下一主題
收起左側

飛思卡爾直立電磁組 代碼開源

[復制鏈接]
跳轉到指定樓層
樓主
ID:250969 發表于 2018-7-20 10:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
小白程序,需要的可以拿走

單片機源程序如下:
  1. #include "common.h"
  2. #include "include.h"
  3. #include "control.h"

  4. extern float OutData[4];
  5. extern float Gyro_Now, angle_offset_vertical;          //陀螺儀轉化后的角速度,轉化后的加速度角度
  6. extern float g_fCarAngle, g_fGyroscopeAngleIntegral;   //融合后的角度
  7. extern volatile float MMA7361 , ENC03, MMA7361_X;    //加速度計AD ,陀螺儀AD
  8. extern float left_count, right_count, Speed_count;
  9. extern float Speed_L_Last, Speed_R_Last;
  10. extern float newspeed_PWM[2], Speed_PWM[2];
  11. extern float AD[4];
  12. extern float AD_sum[4];
  13. extern float AD_min[4];
  14. extern float AD_max[4];
  15. extern int AD_norvalue[4];
  16. extern uint8 dire_flag, bal_flag; //stop_flag = 0;
  17. extern float speed_flag;
  18. uint8 systick_flag = 1, dire_timeflag = 1;
  19. //char ch;
  20. extern struct PID sptr;    //速度
  21. extern struct PID dire;    //轉向

  22. extern void PIT0_IRQHandler(void);
  23. extern   void OutPut_Data(void);   
  24. void All_Init();
  25. void Speed_PID_Init();


  26. void main()
  27. {
  28.   DisableInterrupts;
  29.   gpio_init(PTG0,GPO,1);
  30.   gpio_init(PTG1,GPO,1);
  31.   gpio_init(PTG2,GPO,1);
  32.   gpio_init(PTG3,GPO,1);
  33.   key_init(KEY_A);
  34.   All_Init();
  35.   DELAY_MS(2000);
  36.   EnableInterrupts;
  37.   ftm_pulse_clean(FTM0);
  38.   ftm_pulse_clean(FTM1);
  39.   while(1)
  40.   {
  41. //      led_turn(LED0);  
  42. //      led_turn(LED0);
  43.     if(dire_timeflag == 5)
  44.     {
  45.       dire_timeflag = 1;
  46.       get_elec();
  47.       elec_handle();
  48.     }
  49.     else
  50.     {
  51.       dire_timeflag++;
  52.       get_elec();
  53.     }
  54. //    if(stop_flag == 1)
  55. //    {
  56. //      irq_init (IRQ_PIN, IRQ_PULLUP_EN | IRQ_FALLING) ;          //配置為下降沿中斷
  57. //      enable_irq(IRQ_IRQn);
  58. //    }
  59.   }
  60. }

  61. void All_Init()
  62. {
  63.   led_init(LED3);
  64.   led_init(LED2);
  65.   led_init(LED0);
  66.   led_init(LED1);
  67.   uart_init(UART0,115200);
  68.   gpio_init(PTD6,GPO,1);      //陀螺儀SEL
  69.   PTD6_OUT = 1;
  70.   adc_init(ADC0_SE2);         //ZOUT_Z
  71.   adc_init(ADC0_SE3);         //Gyro1
  72.   adc_init(ADC0_SE7);         //L1
  73.   adc_init(ADC0_SE5);         //L2
  74.   adc_init(ADC0_SE11);        //L5
  75.   adc_init(ADC0_SE10);        //L6
  76.   //在  port_cfg.h 中修改精度
  77.   ftm_pwm_init(FTM2, FTM_CH3,40000,1000);   
  78.   ftm_pwm_init(FTM2, FTM_CH2,40000,1000);   
  79.   ftm_pwm_init(FTM2, FTM_CH0,40000,1000);  
  80.   ftm_pwm_init(FTM2, FTM_CH1,40000,1000);   
  81.   gpio_init(PTG4,GPO,1);
  82.   gpio_init(PTD4,GPO,1);
  83.   gpio_init(PTD2,GPO,1);
  84.   gpio_init(PTF1,GPO,1);     
  85.   ftm_pulse_init(FTM0, FTM_PS_1, TCLK1);     //PTE0  encoder
  86.   ftm_pulse_init(FTM1, FTM_PS_1, TCLK2);     //PTE7
  87.   gpio_init(PTE5,GPI,0);      //left
  88.   gpio_init(PTB5,GPI,0);      //right
  89.   
  90.   pit_init_ms(PIT0, 5);
  91.   enable_irq(PIT_CH0_IRQn);
  92.   systick_timing_ms(10);
  93.   Speed_PID_Init();
  94. }

  95. void Speed_PID_Init(void)
  96. {
  97.   sptr.SetPoint = 25;  
  98.   sptr.Proportion = 5;
  99.   sptr.Integral = 0.025;  
  100.   sptr.Derivative = 0;//0.18;
  101.   sptr.now_Error[0] = 0;          //Error[0]
  102.   sptr.now_Error[1] = 0;
  103.   sptr.Last_Error[0] = 0;         //Error[-1]
  104.   sptr.Last_Error[1] = 0;
  105.   sptr.Prev_Error[0] = 0;         //Error[-2]
  106.   sptr.Prev_Error[1] = 0;        

  107.   dire.SetPoint = 100;           
  108.   dire.Proportion = 4.5;                //0.02 ;
  109.   dire.Integral = 0.001;//0.032;            //0.00015
  110.   dire.Derivative = 0.00;//0.002;
  111.   dire.now_Error[0] = 0;
  112.   dire.now_Error[1] = 0;
  113.   dire.Last_Error[0] = 0;  
  114.   dire.Last_Error[1] = 0;
  115.   dire.Prev_Error[0] = 0;  
  116.   dire.Prev_Error[1] = 0;
  117. }

  118. void pit_ch0_irq(void)
  119. {   
  120.   led_turn(LED3);
  121.   AD_Calculate();  
  122.   if(systick_flag%2 == 0)
  123.     get_speed();
  124.   if(systick_flag == 20)
  125.   {
  126.     //get_speed();
  127.     run_speed();
  128.     systick_flag = 1;
  129.   }
  130.   systick_flag++;
  131.   Speed_Calculate(g_fCarAngle,Gyro_Now);
  132.   PIT_Flag_Clear(PIT0);        
  133. }
  134. //
  135. //void  irq_irq(void)   
  136. //{   
  137. //   while(IS_IRQ_FLAG())  
  138. //   {  
  139. //        ftm_pwm_duty(FTM2,FTM_CH2,0);
  140. //        ftm_pwm_duty(FTM2,FTM_CH3,0);
  141. //        ftm_pwm_duty(FTM2,FTM_CH1,0);
  142. //        ftm_pwm_duty(FTM2,FTM_CH0,0);   
  143. //        gpio_set(PTG0,0);
  144. //        gpio_set(PTG1,0);
  145. //        gpio_set(PTG2,0);
  146. //        gpio_set(PTG3,0);  
  147. //   }   
  148. //   IRQ_CLEAN_FLAG() ;   
  149. //}

  150. //void systick_irq(void)        
  151. //{        
  152. //   static int i=0;        
  153. //   if(i==100000)         
  154. //   {        
  155. //       stop_flag = 1;            
  156. //       i=0;        
  157. //   }        
  158. //   else      
  159. //   {        
  160. //       i++;
  161. //       stop_flag = 0;      
  162. //   }        
  163. //}

復制代碼

所有資料51hei提供下載:

V7.10.0.rar (161.05 KB, 下載次數: 57)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一道本视频 | av一区二区三区 | 亚洲一区二区三区欧美 | 久久婷婷国产麻豆91 | 日韩美香港a一级毛片免费 国产综合av | 中文字幕11页 | 欧美极品在线视频 | 天堂色 | 亚洲天堂一区 | 99视频在线免费观看 | 色男人天堂av | 91久久国产综合久久91精品网站 | 黄色大片免费观看 | 欧美精品一区二区三区在线播放 | 婷婷丁香在线视频 | 91免费版在线 | 国产最新精品视频 | 激情久久网 | 少妇久久久久 | 天天玩夜夜操 | 国产精品免费看 | 欧美aⅴ | 久久精品免费观看 | 国产一区在线看 | 欧美性大战久久久久久久蜜臀 | 一区二区三区亚洲视频 | 国产视频一区二区 | 欧美天堂 | 日韩精品一区二区三区 | 中文字幕 欧美 日韩 | 毛片一级片 | 91精品久久久久久久久中文字幕 | 一区二区精品视频 | 成人免费视频网站在线看 | 午夜天堂 | 午夜精品一区二区三区在线视 | 亚洲一区二区精品视频在线观看 | 日本a在线 | 黄色精品视频网站 | 乱一性一乱一交一视频a∨ 色爱av | 国产成人99久久亚洲综合精品 |