智能车制作
标题: 【超核】K60 经典入门资料 固件库V2.4发布 -源码-例程-中文手册-视频教程 [打印本页]
作者: yandld 时间: 2013-9-28 17:49
标题: 【超核】K60 经典入门资料 固件库V2.4发布 -源码-例程-中文手册-视频教程
本帖最后由 yandld 于 2013-9-28 17:59 编辑
超核K60 V2.4固件库发布 源码+中文手册+入门视频
我相信这是库是目前网上 最全最好用的固件库及底层驱动,希望我们一起把它发扬光大
超核K60固件库 为飞思卡尔Kinetis系列的开发者提供了丰富的底层驱动函数,接口形式类似STM32固件库。由于KinetisK系列的向下兼容性,所以固件库 只需更改启动文件就可以适用于K10
同时,驱动库代码全部开源,提供35个例程,包括PWM,ADC OV7620等等。还提供Keil IAR CW的固件库模板程序。自从2012年发布该固件库第一个版本后,受到广大智能车车友和公司工程师的支持!
如果遇到使用难题或者BUG 欢迎您及时沟通联系我们,大家的反馈、鼓励和支持是固件库发展的最好动力!
欢迎大家加入QQ群讨论:247160311
首先要说明的是: 次本版和之前版本 区别很大!全面的改进升级!
特点一: 资料完善丰富
1. 配有完善中文库函数使用手册
2. Coding Style(代码风格): 类似STM32固件库 但是有所改进 配合 Keil CW IAR 模板程序
3.个例程应用例程 涵盖 固件库几乎所有函数使用
4.Keil IAR CW下的工程模板 以及大量使用资料
5.详情请见最后下载列表
特点二: 包含的模块增加。具体包含:
1 模拟: ADC DAC
2 FTM 灵活定时器(产生PWM,定时中断,或者脉冲捕获 及 正交解码)
3 TSI 触摸感应按键
4 通讯接口模块 UART SPI I2C UART CAN SD(最后的封装形式类似STM32固件库)
5 PIT 周期性定时器 最简单的定时器 用于产生周期性中断
6 RTC 实时时钟
7 DMA 最好用的DMA构件 支持所有通讯外设
8 SD SDIO构件 目前只支持SD卡
9 WDOG看门狗
10 GPIO 这么没有还怎么玩!。。。封装形式类似STM32
11 LPTM:可产生定时中断 在智能车比赛里通常用作 编码器计数
12 FLASH 内部FLASH操作函数
13 SYS(倍频 NVIC配置 等)
14 DELAY(使用M4内核SysTick做成的精准延时模块,从此不必for延时~)1 模拟: ADC DAC
特点三 规范了所有外设的模块接口,命名方式和初始化方式类似STM32固件库
1. 比如想让一个GPIO输出高低电平:
- GPIO_InitTypeDef GPIO_InitStruct1; //先定义一个GPIO初始化结构体
- GPIO_InitStruct1.GPIO_Pin = GPIO_Pin_15;
- GPIO_InitStruct1.GPIO_InitState = Bit_RESET; //设为输出是 输出低电平
- GPIO_InitStruct1.GPIO_IRQMode = GPIO_IT_DISABLE; //禁止引脚外部中断
- GPIO_InitStruct1.GPIO_Mode = GPIO_Mode_OPP; //推挽输出
- GPIO_InitStruct1.GPIOx = PTA;
- GPIO_Init(&GPIO_InitStruct1); //最后传入初始化结构地址 完成初始化
复制代码这样PTA15就输出低电平了,其他模块都是类似的方法,先定义XXXX_InitTypeDef 然后赋参数,然后XXXX_Init(&XXXX_InitTypeStruct1); 调用
怎么样,是不是和STM32固件库神似呀 哈哈! 玩过STM32的上手没难度。
2 再比如 想让一个串口初始化,就更简单了:
- UART_DebugInitStruct1.UART_BaudRate = 115200; //定义波特率
- UART_DebugInitStruct1.UARTxMAP = UART4_RX_E24_TX_E25; // 使用UART4 RxE24 引脚 Tx E25引脚
- UART_Init(&UART_DebugInitStruct1); //所有模块都是这样 XXXX_Init(&XXX_InitStruct1);
复制代码其中 UART4_RX_E24_TX_E25 是预先定义好的宏,在 uart.h 里 如下,只要选择其中一个就行了,省去了PinMux配置
- #define UART0_RX_PA1_TX_PA2 (0x00004410U)
- #define UART0_RX_PA14_TX_PA15 (0x00039E18U)
- #define UART0_RX_PB16_TX_PB17 (0x00042258U)
- #define UART0_RX_PD6_TX_PD7 (0x00018ED8U)
- #define UART1_RX_PE0_TX_PE1 (0x00000319U)
- #define UART1_RX_C3_TX_C4 (0x0000C899U)
- #define UART2_RX_D2_TX_D3 (0x000086DAU)
- #define UART3_RX_B10_TX_B11 (0x0002965BU)
- #define UART3_RX_C16_TX_C17 (0x0004229BU)
- #define UART3_RX_E4_TX_E5 (0x00010B1BU)
- #define UART4_RX_E24_TX_E25 (0x0006331CU)
- #define UART4_RX_C14_TX_C15 (0x00039E9CU)
复制代码还有,固件库中弱化了 系统时钟的表现,不必考虑系统有多少时钟,每个外设都是由什么时钟驱动的。多少分频 。这些都不需要管,固件库已经帮你做好了。比如你使用SYS构件的SystemClockUpdate 修改主频。然后再调用一次串口初始化、串口波特率只要输入的还是115200. 那最后肯定还是115200的波特率。时钟在构件中已经被重新计算过了。
3 再说一个困扰做智能车小朋友很久的问题,倍频问题:
使用固件库,只需要调用
- SystemClockSetup(ClockSource_IRC,CoreClock_96M);//使用内部RC时钟,倍频到96M
复制代码这样,就完成了PLL倍频,其中ClockSource_IRC 和 CoreClock_96M 都是可以选择的宏他们在sys.h中,具体见参考手册。比如CoreClock就有以下选择
- #define CoreClock_200M
- #define CoreClock_100M
- #define CoreClock_96M
- #define CoreClock_72M
- #define CoreClock_64M
- #define CoreClock_48M
复制代码4调智能车的重头戏:PWM产生
PWM可以去驱动电机和 舵机无论在智能车的哪个组,PWM波产生都是必不可少的。
- FTM_InitStruct1.Frequency = 1000; // 设定频率1KHZ
- FTM_InitStruct1.FTMxMAP = FTM0_CH0_PC1; //使用FTM0 CH0 模块, 引脚是PC1
- FTM_InitStruct1.FTM_Mode = FTM_Mode_EdgeAligned; //边沿对齐模式,大家做这多半用这个模式
- FTM_InitStruct1.InitalDuty = 4000; //占空比为40%
- FTM_Init(&FTM_InitStruct1);
复制代码其中 引脚和通道的选择也是宏定义,大家选择就行了:
- #define FTM0_CH0_PC1 (0x00108100U)
- #define FTM0_CH0_PA3 (0x000c0300U) //与JTAG冲突,慎用
- #define FTM0_CH1_PC2 (0x00108210U)
- #define FTM0_CH1_PA4 (0x000c0410U)
- #define FTM0_CH2_PC3 (0x00108320U)
- #define FTM0_CH2_PA5 (0x000c0520U) //与JTAG冲突,慎用
- #define FTM0_CH3_PC4 (0x00108430U)
- #define FTM0_CH4_PD4 (0x0010c440U)
- #define FTM0_CH5_PD5 (0x0010c550U)
- #define FTM0_CH5_PA0 (0x000c0050U) //与JTAG冲突,慎用
- #define FTM0_CH6_PD6 (0x0010c660U)
- #define FTM0_CH6_PA1 (0x000c0160U) //与JTAG冲突,慎用
- #define FTM0_CH7_PD7 (0x0010c770U)
- #define FTM0_CH7_PA2 (0x000c0270U) //与JTAG冲突,慎用
- #define FTM1_CH0_PA12 (0x000c0c01U)
- #define FTM1_CH0_PB0 (0x000c4001U)
- #define FTM1_CH1_PA13 (0x000c0d11U)
- #define FTM1_CH1_PB1 (0x000c4111U)
- #define FTM2_CH0_PB18 (0x000c5202U)
- #define FTM2_CH1_PB19 (0x000c5312U)
复制代码想要改变占空比,只需要调用
- FTM_PWM_ChangeDuty(FTM0_CH0_PC1,6000);//占空比60%
复制代码这样,占空比就从初始化的40% 上升到60% 了
4 再来一个easy的问题,延时: 延时是任何程序都用到的模块,你还在用for延时吗? 太out拉! 只要调用下初始化:
然后就可以用SysTick 实现精准延时拉:
- DelayMs(300); //延时300MS
- DelayUs(500); //延时500US
复制代码 V2.4配套的 评估硬件---原子核 核心板-可作为智能车核心板之用
V2.4固件库中文使用手册
V2.4固件库 例程截图
在Keil下使用 V2.4版本固件库
在IAR下使用 V2.4版本固件库
在CW下使用 V2.4版本固件库
[attach]50714[/attach]
补充内容 (2013-11-21 17:51):
最新的版本是V2.41了,发布帖http://www.znczz.com/thread-202246-1-1.html
补充内容 (2014-8-13 19:57):
2014.8.13 现在已经全面更新到V2.5啦 http://www.znczz.com/thread-202246-1-1.html
作者: kanwoe 时间: 2013-9-29 00:32
这个必须来一发!!
作者: 奔小康 时间: 2013-9-29 00:50
作者: vip101vip 时间: 2013-9-29 07:52
好东西 顶起
作者: 卧豹 时间: 2013-9-29 12:49
顶起!
作者: 追风style 时间: 2013-9-29 15:44
不错!
作者: xuyunlong2133 时间: 2013-9-30 00:38
好东西
作者: 、Xiang 时间: 2013-9-30 23:09
学习了
作者: 智能车007 时间: 2013-10-1 10:46
KEIL 的 模板已经熟了~~~IAR下的模板 用IAR 啥版本打开?
作者: yandld 时间: 2013-10-1 16:35
用IAR6.5 打开。 ~~
作者: a451197573 时间: 2013-10-4 19:09
好东西
作者: 大家觉 时间: 2013-10-4 20:44
库函数开发是主流 啊
作者: seakid 时间: 2013-10-5 13:48
支持
作者: 智能车007 时间: 2013-10-6 17:17
神级贴, 这个要顶!!
作者: 99774585 时间: 2013-10-6 18:56
楼主无私,威武!
作者: allenanswerzq 时间: 2013-10-6 21:31
力挺UPC.哈哈哈哈
作者: 1593996796 时间: 2013-10-7 11:27
看看
作者: 1593996796 时间: 2013-10-7 11:30
没有3,4啊
作者: 1593996796 时间: 2013-10-7 11:32
网盘地址看不到,附件也不全‘
作者: yandld 时间: 2013-10-7 12:34
网盘地址:
http://pan.baidu.com/share/home?uk=2870907047
用百度网盘下载工具下载
作者: 智能车007 时间: 2013-10-8 14:01
我的IAR模板打不开,提示 不能打开EWW 工作间,怎么办 大神?
作者: yandld 时间: 2013-10-8 20:25
去掉所有中文目录,所有路径都换成英文的,再试
作者: 暮文良 时间: 2013-10-8 21:31
感谢
作者: 夜狼 时间: 2013-10-9 11:13
果断顶啊
作者: zhangjianwu 时间: 2013-10-9 15:18
作者: 智能车007 时间: 2013-10-9 20:38
我发现 IAR 貌似有问题,6.6新建的工程 6.5就打不开, 官方的 和 其他家的IAR工程都这样!。靠 太坑爹了。还是KEIL好用
作者: yandld 时间: 2013-10-9 21:47
IAR确实有这个问题,总体来讲IAR还可以。
作者: 大肚 时间: 2013-10-10 17:20
给李
作者: 听雨人 时间: 2013-10-10 17:39
顶起
作者: lyxoo1 时间: 2013-10-11 20:23
好用,推荐!
作者: Still 时间: 2013-10-11 20:28
顶上去,支持楼主
作者: 智能车007 时间: 2013-10-12 16:27
上次群里讨论还有点问题:
Bootloeader 我试过了,没问题,下载很快,也不用担心锁片子。但是 Bootoader 下只能用Keil吗?
IAR要怎么设置, 我对Bootloader 原理还是不太清楚。
作者: yandld 时间: 2013-10-13 12:02
Bootloader一句话概括就是:利用芯片中固件程序(出厂前就固化在芯片里或者 后面烧进去),引导外面的通讯数据进到单片机里,然后再把数据烧到单片机FLASH上,这个“数据” 就是用户程序代码。
作者: 七杀 时间: 2013-10-14 22:48
赞
作者: 智能车007 时间: 2013-10-15 19:03
呵呵 我也是新手。不过有老大的教程,
作者: 智能车007 时间: 2013-10-18 19:21
还要问一下, 固件库有FlexBus例程吗
作者: yue6315018 时间: 2013-10-19 19:37
果断顶一个
作者: Speok 时间: 2013-10-19 19:55
这个必须顶!
作者: 第九届新手 时间: 2013-10-21 20:47
非常不错,适合新手,顶一个!!!!!
作者: yandld 时间: 2013-10-22 15:54
谢谢支持
作者: 追夢_。 时间: 2013-10-22 17:23
学习了:victory::victory::victory::victory:
作者: 第九届新手 时间: 2013-10-23 14:41
请问大神, IAR版本的模板用哪个版本打开?
作者: 戒无名 时间: 2013-10-23 14:56
楼主好人,正是我所需要的
作者: yandld 时间: 2013-10-23 18:37
用IAR6.6 打开
作者: 第九届新手 时间: 2013-10-24 17:10
谢谢,已经在学习中!
作者: ~DаУS戀~ 时间: 2013-10-25 12:46
不错!!!!
作者: sponge海 时间: 2013-10-25 14:35
赞一个
作者: 我喂自己袋盐° 时间: 2013-10-25 19:39
这个我也来看看
作者: vison 时间: 2013-10-25 20:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: 第九届新手 时间: 2013-10-26 08:04
很不错! 不用再去管 底层寄存器了! 毕竟我们是做智能车的上层应用,不是研究芯片!
作者: yandld 时间: 2013-10-28 12:19
IAR 是 有个大缺点就是 新版创建的程序旧版打不开。这点 比较。。
作者: 小布的梦 时间: 2013-10-28 16:01
:lol:lol:lol很好 已经入门!!!!哈哈 期待更多的视频!!;P;P;P;P;P;P
作者: 智能车007 时间: 2013-10-30 18:36
为什么我在固件库中调用printf就死机 而UART_printf就没事?
作者: yandld 时间: 2013-10-31 12:45
新的固件库里为了兼容考虑没有连接 printf的重定向函数,导致printf不能用, 使用UART_printf替代即可
作者: 走散的炊烟 时间: 2013-10-31 13:50
支持!!
作者: 727589751 时间: 2013-10-31 14:04
作者: Mr、Z° 时间: 2013-11-1 21:59
感觉还不错呢 挺好的
作者: 梦之济同 时间: 2013-11-2 12:51
顶!
作者: BMN李 时间: 2013-11-5 19:19
顶!不错!!
作者: 第九届新手 时间: 2013-11-8 09:21
资料非常不错,有视频,入门飞快 哈哈!!
作者: 阳光龙哥 时间: 2013-11-19 21:09
顶!
作者: 叫我二狗 时间: 2013-11-21 11:33
必须来一发!
作者: 阳泉 时间: 2013-11-23 13:40
作者: 路人价11 时间: 2013-11-26 00:44
好东西,顶
作者: 淡; 时间: 2013-11-28 12:55
作者: yhp168 时间: 2013-12-2 11:02
顶
作者: ゛.χIиg墜 时间: 2013-12-12 22:22
超核正交解码今天更新了 真心给力啊 完爆其他家的。。不试不知道。。。可以都去尝试一下。。除了一些自己随手能解决的小问题 真心用着最好。
作者: 孝诚达爱 时间: 2014-8-12 15:21
牛
作者: yandld 时间: 2014-8-13 19:57
现在已经全面更新到V2.5啦!!http://www.znczz.com/thread-202246-1-1.html
作者: whisker 时间: 2014-8-13 20:40
作者: XZ要努力奋斗 时间: 2014-9-1 08:24
不错
作者: ~O(∩_∩)O~ 时间: 2014-9-13 16:00
好东西
作者: pclove2012 时间: 2014-9-14 16:02
作者: 傻乎乎000 时间: 2014-9-15 15:39
谢谢楼主的无私分享
作者: zouzhihao 时间: 2014-9-28 17:34
nice!
作者: chang115411 时间: 2015-1-19 10:52
必须顶。。。
作者: 丐帮帮主1 时间: 2015-1-22 19:36
顶一个
作者: WMB吴茂彬 时间: 2015-1-23 11:50
BUCUO
作者: DEADFISH 时间: 2015-7-21 17:40
好东西
作者: 527664313 时间: 2015-7-22 17:16
好东西
作者: Jane_Yih 时间: 2015-8-4 23:21
:lol:lol
作者: 追逐电子梦 时间: 2015-8-5 22:51
学习下,刚接触k60
作者: xiaolong1996 时间: 2015-8-20 14:15
顶顶顶顶顶顶
作者: 刘云峰1996 时间: 2016-1-20 09:29
牛逼啊 大神
作者: 他是个绅士 时间: 2016-1-20 21:52
谢谢楼主~~~~~
作者: 他是个绅士 时间: 2016-1-27 17:22
谢谢楼主~~~
作者: WHR 时间: 2016-1-27 21:54
好东西
作者: WHR 时间: 2016-1-27 21:55
11111
作者: qq250580245 时间: 2016-1-30 21:56
感谢楼主的分享!下载下来看看
作者: 万Q 时间: 2016-2-3 19:31
好东西
作者: 刘德成 时间: 2016-2-17 19:10
这个必须来一发!!
作者: 飞思卡尔fans 时间: 2016-2-20 12:12
顶一个
作者: youli 时间: 2016-3-6 13:09
want to see
作者: liu132 时间: 2016-3-6 18:50
大赞楼主
作者: chao0729 时间: 2016-3-9 00:30
顶楼主,楼主辛苦了
作者: 离远的远离 时间: 2016-3-26 21:15
好东西
作者: 奋斗success 时间: 2016-3-30 15:56
初学者,下来看看,谢谢分享
作者: zhuyingpeng 时间: 2016-4-4 21:29
6666666必须顶
作者: zhuyingpeng 时间: 2016-4-4 21:29
有原理图吗
作者: 张大卫 时间: 2016-4-10 16:31
能不能发一个完整资料的链接啊
欢迎光临 智能车制作 (http://111.231.132.190/) |
Powered by Discuz! X3.2 |