基于kea的直立小車程序 親手碼的哦
最近在做飛思卡爾智能車比賽 基于官方方案的程序 完全可跑
逐飛科技KEA庫的晶振是使用的16M無源晶振。請大家注意自己的晶振是否與我們的一樣。
下圖展示了如何超頻
0.jpg (91.09 KB, 下載次數: 95)
下載附件
2018-3-25 18:15 上傳
KEA128庫配置信息
右擊工程(也就是圖中 1 所在的方框),然后選擇 options。
第一步檢查,單片機的型號選擇是否正確,根據自己使用的單片機進行選擇,當然如果使用 的單片機不是例程所支持的話,那么這里設置為自己使用的單片機例程也無法使用的。下圖 展示了如何選擇單片機型號,這里需要注意的是,由于飛思卡爾公司被 NXP 收購了,因此 在新版中沒有 freescale 選項了,freescale 公司的單片機歸納在了 NXP 選項下面了。如果有 freescale 選項的就在 freescale 選項下查找
 將 char 釋意成有符號的類型,這個如 果有特殊需求的可以按照自己的需求 設置,一般用戶按照圖中設置即可。
路徑包含信息與宏定義設置 包含目錄信息
$PROJ_DIR$\..\..\USER\inc
$PROJ_DIR$\..\..\USER\src
$PROJ_DIR$\..\..\..\Libraries\startup\CoreSupport
$PROJ_DIR$\..\..\..\Libraries\startup\DeviceSupport\IAR-ARM
$PROJ_DIR$\..\..\..\Libraries\startup\DeviceSupport
$PROJ_DIR$\..\..\..\Libraries\drives\inc
$PROJ_DIR$\..\..\..\Libraries\seekfree
$PROJ_DIR$\..\..\..\Libraries\startup\DeviceSupport 宏定義信息(這里的宏定義用于預編譯 處理)
_DLIB_FILE_DESCRIPTOR
$PROJ_DIR$\KEA128.icf


單片機源程序如下:
- /*********************************************************************************************************************
- * COPYRIGHT NOTICE
- * Copyright (c) 2017,逐飛科技
- * All rights reserved.
- * 以下所有內容版權均屬逐飛科技所有,未經允許不得用于商業用途,
- * 歡迎各位使用并傳播本程序,修改內容時必須保留逐飛科技的版權聲明。
- *
- * @file main
- * @author 逐飛科技(QQ3184284598)
- * @version v2.0
- * @Software IAR 7.7 or MDK 5.23
- * @Target core S9KEA128AMLK
- ********************************************************************************************************************/
- #include "headfile.h"
-
- #define FallAngleBack 75
- #define FallAngleFront -15
-
-
- int main(void)
- { uint8 data[3];
-
- get_clk(); //獲取時鐘頻率 必須執行
- ControlInit();
-
- key_init();//初始化按鍵
- IIC_init();
- InitMPU6050(); //初始化陀螺儀
- // OLED_Init();//OLED初始化
- uart_init(uart2,115200);
- //中斷初始化
- // uart_rx_irq_en(uart2);
-
-
-
- //初始化編碼器
-
- ftm_count_init(ftm0); //對E0引腳輸入的脈沖進行計數 E0接編碼器LSB
- gpio_init(H7,GPI,0); //用于判斷方向 C5接編碼器DIR
- port_pull(H7); //IO上拉
-
- ftm_count_init(ftm1); //對E7引腳輸入的脈沖進行計數 E7接編碼器LSB
- gpio_init(H5,GPI,0); //用于判斷方向 H5接編碼器DIR
- port_pull(H5); //IO上拉
- //初始化PWM
- //PWM通道與引腳對應關系查看KEA128_port_cfg.h文件內的FTM2_CH0_PIN等宏定義
- //桌大大的推文中,建議電磁組電機頻率選用13K-17K
- //占空比精度可以在KEA128_ftm.h文件內找到FTM2_PRECISON宏定義進行設置
- ftm_pwm_init(ftm2,ftm_ch2,15000,0);//初始化PWM頻率為15K,占空比為0
- ftm_pwm_init(ftm2,ftm_ch3,15000,0);
- ftm_pwm_init(ftm2,ftm_ch0,15000,0);
- ftm_pwm_init(ftm2,ftm_ch1,15000,0);
-
- //這里一共四個通道,本歷程使用通道2與通道3控制左電機的正反轉,剩下4和5通道控制右電機的正反轉
-
-
- pit_init_ms(pit0,1); //定時1個后中斷
- set_irq_priority(PIT_CH0_IRQn,1);
- enable_irq(PIT_CH0_IRQn);
- EnableInterrupts;
-
- while(1)
- {
-
- // data[0]=(int)ACC_Angle;
- // data[1]=(int)Car_Angle;
- // data[2]=(int)Angle_Speed;
-
- /*** if((int)Car_Angle>FallAngleBack||(int)Car_Angle<FallAngleFront)
- {DisableInterrupts;
- ftm_pwm_duty(ftm2,ftm_ch3,0);
- ftm_pwm_duty(ftm2,ftm_ch2,0 );
- ftm_pwm_duty(ftm2,ftm_ch1,0 );
- ftm_pwm_duty(ftm2,ftm_ch0,0 );
- }***/
-
-
-
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
靜止3.23.rar
(6.91 MB, 下載次數: 148)
2018-3-25 17:31 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|