文章目录
- 1. 概述
- 1.1 理论回顾
- 1.1.1 时钟系统
- 1.1.2 采样通道
- 1.2 实验目的
- 2. 配置与代码编写
1. 概述
1.1 理论回顾
S32K144的ADC应该说是特别灵活,笔者采用循序渐进的方式来学习使用这个很重要的外设。
在《入门笔记系列》专栏中对用户手册进行了翻译和解读,这里在回顾一下ADC的基本功能,第一次实验我们不使用过于复杂的触发方式。只使用一个通道来理解S32K144的ADC。
1.1.1 时钟系统
首先在使用任何一个外设的时候,我们都需要关心一下其时钟系统,与其他
外设一样,ADC的时钟有两个:
- 一个是系统的接口时钟,这个时钟来源于BUSCLK,如果系统时钟是80MHz的话,那么BUSCLK最大可配置为40MHz。
- 另一个是ADC的功能时钟,这里需要注意一下,根据用户手册的描述,在这条时钟通路上有3个需要配置的地方:PCC对于ADC的配置;ADC自己的时钟源选择;ADC自己的时钟分频器。
在这里贴出ADC时钟系统的框图,如下图:
从上图中可以很容易理解ADC的时钟系统,如果笔者理解没有错的话,实际上ADC自己的时钟源选择只能选择ALTCLK1,其他通路是预留的。
另一个需要注意的是,ADC最大的输入时钟为50MHz,如果系统在RUN-80MHz下运行,则ADC的最大时钟一般是40MHz(需要2分频)。
1.1.2 采样通道
开发板自带了一个电位器,本次实验就使用这颗电位器。这颗电位器连接了ADC0的通道12。
1.2 实验目的
本次实验使用NXP官网的S32K144-Q100的官网开发板,通过读取电位器的电压(轮询标志位的方式)并将读取的AD值通过printf函数发到LPUART1,从而通过串口上位机显示测试值。
2. 配置与代码编写
由于LPUART1的配置在入门笔记系列