基于kea的直立小车程序 亲手码的哦
最近在做飞思卡尔智能车比赛 基于官方方案的程序 完全可跑
逐飞科技KEA库的晶振是使用的16M无源晶振。请大家注意自己的晶振是否与我们的一样。
下图展示了如何超频
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)
|