飞思卡尔KL25微控制器寄存器详解与VMware安装Win10

需积分: 44 36 下载量 5 浏览量 更新于2024-08-09 收藏 9.21MB PDF 举报
"本文档主要介绍了飞思卡尔KL25微控制器的特性、框架以及程序模板,涉及寄存器映像和寄存器定义,特别是与DAC(数模转换器)相关的寄存器。同时,文档还阐述了数字系统表示法、印刷记号和特殊术语的使用规则,并对Kinetis L系列MCU进行了概述。" 在飞思卡尔KL25微控制器中,寄存器映像是系统管理和控制的关键部分。DAC(数模转换器)的寄存器包括数据寄存器和状态及控制寄存器,它们在特定的绝对地址上,通过基地址和地址偏移进行访问。例如,DAC数据寄存器(DAC0_DAT0L和DAC0_DAT1H)用于设置输出电压,而DAC状态寄存器(DAC0_SR)用于读取DAC的状态,控制寄存器(如DAC0_C0, DAC0_C1, DAC0_C2)则用于配置DAC的工作模式和参数。每个寄存器都有固定的宽度(8位),并支持读写操作(R/W),在复位时具有默认值。 在数字系统表示法方面,本文档使用了b(二进制)、d(十进制)和h(十六进制)后缀来区分不同的数值系统。例如,数字5的二进制表示为101b,数字60的十六进制表示为3Ch。此外,文档还定义了斜体和定宽字体的使用规则,以及方括号内的特定含义,如表示寄存器字段的子集(如REVNO[6:4])或连续引脚范围(如XAD[7:0])。 Kinetis L系列是基于ARM Cortex-M0+内核的低功耗微控制器家族,具有高度可扩展性,根据不同需求提供不同存储器容量、接口数量和封装形式的选项。KL25系列是这个系列中的一员,专注于混合信号处理,并且具有丰富的外设和模块,适用于各种嵌入式应用。 本文档的读者主要是系统架构师和软件应用开发人员,他们可以通过这些信息更好地理解和利用KL25微控制器的功能,进行高效和精确的系统设计和编程。对于使用或计划使用KL25微控制器的人来说,理解寄存器映像和寄存器定义至关重要,因为这直接影响到硬件控制和软件驱动的编写。

#include <Adafruit_I2CDevice.h> #define DRV2605_ADDR 0x5A ///< Device I2C address #define DRV2605_REG_STATUS 0x00 ///< Status register #define DRV2605_REG_MODE 0x01 ///< Mode register #define DRV2605_MODE_INTTRIG 0x00 ///< Internal trigger mode #define DRV2605_MODE_EXTTRIGEDGE 0x01 ///< External edge trigger mode #define DRV2605_MODE_EXTTRIGLVL 0x02 ///< External level trigger mode #define DRV2605_MODE_PWMANALOG 0x03 ///< PWM/Analog input mode #define DRV2605_MODE_AUDIOVIBE 0x04 ///< Audio-to-vibe mode #define DRV2605_MODE_REALTIME 0x05 ///< Real-time playback (RTP) mode #define DRV2605_MODE_DIAGNOS 0x06 ///< Diagnostics mode #define DRV2605_MODE_AUTOCAL 0x07 ///< Auto calibration mode #define DRV2605_REG_RTPIN 0x02 ///< Real-time playback input register #define DRV2605_REG_LIBRARY 0x03 ///< Waveform library selection register #define DRV2605_REG_WAVESEQ1 0x04 ///< Waveform sequence register 1 #define DRV2605_REG_WAVESEQ2 0x05 ///< Waveform sequence register 2 #define DRV2605_REG_WAVESEQ3 0x06 ///< Waveform sequence register 3 #define DRV2605_REG_WAVESEQ4 0x07 ///< Waveform sequence register 4 #define DRV2605_REG_WAVESEQ5 0x08 ///< Waveform sequence register 5 #define DRV2605_REG_WAVESEQ6 0x09 ///< Waveform sequence register 6 #define DRV2605_REG_WAVESEQ7 0x0A ///< Waveform sequence register 7 #define DRV2605_REG_WAVESEQ8 0x0B ///< Waveform sequence register 8 #define DRV2605_REG_GO 0x0C ///< Go register #define DRV2605_REG_OVERDRIVE 0x0D ///< Overdrive time offset register #define DRV2605_REG_SUSTAINPOS 0x0E ///< Sustain time offset, positive register #define DRV2605_REG_SUSTAINNEG 0x0F ///< Sustain time offset, negative register #define DRV2605_REG_BREAK 0x10 ///< Brake time offset register #define DRV2605_REG_AUDIOCTRL 0x11 ///< Audio-to-vibe control register #define DRV2605_REG_AUDIOLVL \ 0x12 ///< Audio-to-vibe minimum input level register #define DRV2605_REG_AUDIOMAX \ 0x13 ///< Audio-to-vibe maximum input level register #define DRV2605_REG_AUDIOOUTMIN \ 0x14 ///< Audio-to-vibe minimum output drive register #define DRV2605_REG_AUDIOOUTMAX \ 0x15 ///< Audio-to-vibe maximum output drive register #define DRV2605_REG_RATEDV 0x16 ///< Rated voltage register #define DRV2605_REG_CLAMPV 0x17 ///< Overdrive clamp voltage register #define DRV2605_REG_AUTOCALCOMP \ 0x18 ///< Auto-calibration compensation result register #define DRV2605_REG_AUTOCALEMP \ 0x19 ///< Auto-calibration back-EMF result register #define DRV2605_REG_FEEDBACK 0x1A ///< Feedback control register #define DRV2605_REG_CONTROL1 0x1B ///< Control1 Register #define DRV2605_REG_CONTROL2 0x1C ///< Control2 Register #define DRV2605_REG_CONTROL3 0x1D ///< Control3 Register #define DRV2605_REG_CONTROL4 0x1E ///< Control4 Register #define DRV2605_REG_VBAT 0x21 ///< Vbat voltage-monitor register #define DRV2605_REG_LRARESON 0x22 ///< LRA resonance-period register

2023-07-16 上传