超核电子
中½石油大学(华东)
KinetisK
系列固件库户手册
ARM _CortexM4微控制器KinetisK
KinetisK
32
32½基于ARM_CortexM4
ARM_CortexM4
KinetisK系列
固件库版本:V2.4
介 绍
本手册介绍了32½基于ARM_CortexM4微控制器KinetisK系列的固件½数库。
该½数库是一个固件½数包,它由程序、数据结构和宏组成,包括了微控制器所有外
设的性½特征。该½数库还包括每一个外设的驱动描述和应用实例。通过½用本固件½数
库,无需深入掌握细节,用户也可以½松应用每一个外设。因此,½用本固件½数库可以
大大减少用户的程序编写时间,进而降½开发成本。
该固件库½用C语言编写,主要½用KEIL½件进行编写,具有通用性,可以兼容IAR、CW
等½件,
并且包括了所有外设的功½,
所以应用程序代码的大小和执行速度可½不是最优的。
对大多数应用程序来说,
用户可以直接½用之,
对于那些在代码大小和执行速度方面有严格
要求的应用程序,
该固件库驱动程序可以½为如½设½外设的一½参考资料,
根据实际需求
对其进行调整。
此½固件库用户手册的整½架构如下:
½
定义、文档约定和固件½数库规则。
½
固件½数库概述(包的内容,库的架构),库½用实例。
½
固件库具½描述:设½架构和每个外设的½数。
KinetisK系列微处理器在整个文档中被写½K60。
注:
此版本为第一版库½数,由前期各模块½数整理而来,如遇本资料与代码实例冲突的
情况,请按照实例代码操½,带来不便还请见谅,如有疑问和建议请加入
qq
群进行交流:
138899875、236155715。通过本群也可获得最新的模块开发代码。
鉴于½者水平有限,资料中难免存在不足和错误之处,恳请读者提出宝贵意见和建议,
以便我们及时改进。
中½石油大学
(华东)
飞思卡尔
MCU/DSP
实验室
超核电子
日 期:2013年8月
http://upcmcu.taobao.com/
此文件主要用于技术交流,不得用于商业目的
-1-
文件版本:V2.4
超核电子
中½石油大学(华东)
(
如有不详之处请参考源文件代码)
)
目
目
1.
½
KinetisK
系列固件库户手册.................................................................................................
- 1 -
½..................................................................................................................................-
2 -
文档和库规范..................................................................................................................10
1.1
缩写................................................................................................................................10
1.2
½名规则........................................................................................................................10
1.3
编码规则........................................................................................................................11
1.3.1
变量.........................................................................................................................11
1.3.2
布尔型.....................................................................................................................11
1.3.3
功½状态类型........................................................................................................12
2.
固件½数库.........................................................................................................................12
2.1
压缩包描述....................................................................................................................12
2.1.1
文件夹
FWLIB..........................................................................................................12
2.1.2
文件夹
HARDWARE................................................................................................ 12
2.1.3
文件夹
STARTUP..................................................................................................... 12
2.1.4
文件夹
USER........................................................................................................... 13
2.2
外设的初始化和设½...................................................................................................13
2.3
½段(Bit-Banding)....................................................................................................
14
2.3.1
映射公式................................................................................................................14
2.3.2
应用实例................................................................................................................14
2.4
运行时间检测...............................................................................................................15
3.
外设固件概述.....................................................................................................................17
4.
通用输入输出模块(GPIO)..............................................................................................
- 18 -
4.1 GPIO
模块主要寄存器结构......................................................................................
- 18 -
4.2 GPIO
库½数..............................................................................................................
- 18 -
4.2.1 GPIO_Init............................................................................................................. - 18 -
4.2.2 GPIO_WriteBit.....................................................................................................- 20 -
-2-
文件版本:V2.4
超核电子
中½石油大学(华东)
4.2.3 GPIO_SetBit.........................................................................................................- 20 -
4.2.4 GPIO_ResetBits................................................................................................... - 21 -
4.2.5 GPIO_ToggleBit................................................................................................... - 21 -
4.2.6 GPIO_Write......................................................................................................... - 22 -
4.2.7 GPIO_ReadOutputDataBit...................................................................................- 22 -
4.2.8 GPIO_ReadOutputData....................................................................................... - 22 -
4.2.9 GPIO_ReadInputDataBit......................................................................................- 23 -
4.2.10 GPIO_ReadInputData........................................................................................ - 23 -
4.2.11 GPIO_GetITStates..............................................................................................- 23 -
4.2.12 GPIO_ClearITPendingBit....................................................................................- 24 -
5.
通用异步收发器
(UART)............................................................................................... - 24 -
5.1 UART
模块主要寄存器结构......................................................................................-
24 -
5.2 UART
库½数..............................................................................................................-
25 -
5.2.1 UART_Init............................................................................................................ - 25 -
5.2.2 UART_SendData.................................................................................................. - 26 -
5.2.3 UART_ReceiveData..............................................................................................- 26 -
5.2.4 UART_SendDataInt..............................................................................................- 27 -
5.2.5 DisplayCPUInfo....................................................................................................- 27 -
5.2.6 UART_SendDataIntProcess................................................................................. - 27 -
5.2.7 UART_DMACmd.................................................................................................. - 28 -
5.2.8 UART_DebugPortInit...........................................................................................- 28 -
5.2.9 UART_ITConfig.................................................................................................... - 28 -
5.2.10 UART_GetITStatus.............................................................................................- 29 -
6.
周期中断定时器(PIT).....................................................................................................
- 29 -
6.1 PIT
模块主要寄存器结构..........................................................................................-
29 -
6.2 PIT
库½数..................................................................................................................-
30 -
6.2.1 PIT_Init................................................................................................................ - 30 -
6.2.2 PIT_GetLoadValue...............................................................................................- 31 -
6.2.3 PIT_GetCurrentValue.......................................................................................... - 31 -
6.2.4 PIT_SetLoadValue............................................................................................... - 31 -
-3-
文件版本:V2.4
超核电子
中½石油大学(华东)
6.2.5 PIT_Start..............................................................................................................- 32 -
6.2.6 PIT_Stop.............................................................................................................. - 32 -
6.2.7 PIT_ITConfig........................................................................................................ - 32 -
6.2.8 PIT_GetITStatus...................................................................................................- 33 -
6.2.9 PIT_ClearITPendingBit.........................................................................................- 33 -
7.
实时时钟(RTC)................................................................................................................-
33 -
7.1 RTC
模块主要寄存器结构........................................................................................
- 34 -
7.2 RTC
库½数................................................................................................................
- 34 -
7.2.1 RTC_Init............................................................................................................... - 34 -
7.2.2 RTC_SecondIntProcess........................................................................................- 34 -
7.2.3 RTC_ ReadData....................................................................................................- 35 -
7.2.4 RTC_ SetData.......................................................................................................- 35 -
7.3 RTC
½用实例............................................................................................................
- 36 -
8.
内部集成电路总线(I2C).................................................................................................
- 36 -
8.1 I2C
模块主要寄存器结构..........................................................................................-
36 -
8.2 I2C
库½数.................................................................................................................
- 37 -
8.2.1 I2C_Init................................................................................................................ - 37 -
8.2.2 I2C_GenerateSTART............................................................................................ - 38 -
8.2.4 I2C_GenerateSTOP..............................................................................................- 39 -
8.2.5 I2C_SendData......................................................................................................- 39 -
8.2.6 I2C_Send7bitAddress.......................................................................................... - 39 -
8.2.7 I2C_WaitAck........................................................................................................ - 40 -
8.2.8 I2C_SetMasterMode........................................................................................... - 40 -
8.2.9 I2C_GenerateAck................................................................................................ - 40 -
8.2.10 I2C_EnableAck...................................................................................................- 41 -
8.2.11 I2C_ITConfig...................................................................................................... - 41 -
8.2.12 I2C_GetITStatus.................................................................................................- 41 -
8.2.13 I2C_DMACmd....................................................................................................- 42 -
8.2.14 I2C_ClearITPendingBit.......................................................................................- 42 -
8.3 I2C
½用实例:..........................................................................................................-
43 -
-4-
文件版本:V2.4
超核电子
中½石油大学(华东)
9.
串行外设总线(SPI).........................................................................................................
- 43 -
9.1 SPI
模块主要寄存器结构..........................................................................................-
44 -
9.2 SPI
库½数..................................................................................................................-
44 -
9.2.1 SPI_Init................................................................................................................ - 44 -
9.2.2 SPI_ReadWriteByte............................................................................................. - 47 -
9.2.3 SPI_ITConfig........................................................................................................ - 47 -
9.2.4 SPI_GetITStatus...................................................................................................- 48 -
9.2.5 SPI_ClearITPendingBit.........................................................................................- 48 -
9.2.5 SPI_DMACmd...................................................................................................... - 48 -
10.
模数½换器(ADC).........................................................................................................
- 49 -
10.1 ADC
模块主要寄存器结构......................................................................................-
49 -
10.2 ADC
库½数..............................................................................................................-
49 -
10.2.1 ADC_Init............................................................................................................ - 49 -
10.2.2 ADC_GetConversionValue.................................................................................- 50 -
10.2.3 ADC_ITConfig.................................................................................................... - 51 -
10.2.4 ADC_GetITStatus...............................................................................................- 51 -
10.2.5 ADC_DMACmd.................................................................................................. - 52 -
11.
数模½换器(DAC).........................................................................................................
- 52 -
11.1 DAC
模块主要寄存器结构......................................................................................-
52 -
11.2 DAC
库½数..............................................................................................................-
52 -
11.2.1 DAC_Init............................................................................................................ - 53 -
11.2.2 DAC_StructInit...................................................................................................- 54 -
11.2.3 DAC_DMACmd.................................................................................................. - 54 -
11.2.4 DAC_ITConfig.................................................................................................... - 54 -
11.2.5 DAC_GetITStatus...............................................................................................- 55 -
11.2.6 DAC_SoftwareTrigger........................................................................................- 55 -
11.2.7 DAC_SetBuffer.................................................................................................. - 56 -
11.2.8 DAC_SetValue................................................................................................... - 56 -
12.
看门狗模块(WDOG).....................................................................................................
- 56 -
12.1 WDOG
模块主要寄存器结构..................................................................................-
57 -
-5-
文件版本:V2.4
评论