基于STM32的智能家居系统设计 联系客服

发布时间 : 星期日 文章基于STM32的智能家居系统设计更新完毕开始阅读6e99f9f9866fb84ae55c8ddf

24

4. 首先要在主函数中调用两个函数初始化,接着调用串口初始化。 5. 每间隔一秒打刷新一次数据。

25

开始 ADC初始化 启动ADC采样 读取通道0 转换结果 处理数据 N 转换结束 Y 一次读取其他通道的数据

数据处理

液晶显示

图4-12 ADC采样流程图

26

ADC0809的主要特征,这里简单介绍一下DMA 的主要特性

1. 12 个单独的可配置的信息通道,分为DMA1和DMA2,前者含有7个通道后者有5个传递信息的通道;

2. 每个通道都支持软件触发,每个通道都直接连接专用的硬件DMA 请求。这 些功能通过软件来配置;

3. 因为有的数据是后续计算机前提,所以说数据传送也是有优先级的,优先级是通过编程来实现的,分别为很高,高,中等和地四个级别,当然也可以通过软件进行设置。

4. 源和目标数据区的传输宽度是独立的,相似于打包和拆包的过程。源和目标地址必须按数据传输宽度对齐;

5. 存储器之间数据信息的传输; 下面是配置DMA 通道x 的过程(x 代表通道号):

1. 在DMA_CPARx 寄存器中配置外设寄存器的地址。当外部设备请求传输数据时,数据或者代码会传送到这里。

2. 在DMA_CMARx 寄存器中设置数据存储器的地址。当外部设备请求数据传输时,数据将会从这个地址读出来或者写进来。

3. 在DMA_CNDTRx 寄存器中设置传输的数据值。每传送一条消息或数据数值减一当数据减到零结束传输数据

4. 在DMA_CCRx 寄存器的PL中设置传递信息通道的优先级;

5. 在DMA_CCRx 寄存器中设置数据信息传输的方向、循环模式和存储器的 增量模式、外部设备和存储器的数据宽度。

程序中的DMA 配置代码如下:

27