STM32F103频率和AD采集项目总结

刚刚做了我的第一个嵌入式项目----基于STM32F103的频率和AD采集系统。

是一个大系统的一个部分,没用操作系统,使用库函数编写,虽然东西很简单,但是对于我这个还没入门的菜鸟来说还是有点难度的。前后断断续续已经两周多了,到目前为止系统已经完成了接近90%,在这个过程中犯了很多错误,也走了很多的弯路,在这里记录下来,让自己以后不要再犯同样的错误,也给那些和我一样刚入门的朋友一点提示。

1、USART初始化问题:

STM32F103启动文件默认有两个入口,一个是systemInit(),另一个是main(),其中systemInit默认是用户编写的软件初始化部分。

开始时我把时钟、GPIO、USART、定时器、EXTI、NVIC、ADC的初始化都放在了systemInit函数中,可是在测试中却发现USART初始化不成功。USART端口初始化成功的话默认为高电平,而在实际测试中却发现USART端口为低电平,第二次初始化却能成功初始化,这个问题困扰了我N天的时间。串口初始化不成功,后面的程序就无法进行。

错误原因:我在main函数中定义了几个全局变量,用于在中断中作为标记使用(中断中尽量不要放太多程序,最好只做一个标记,处理程序放到主程序中来完成)。

我把中断的初始化放在了systemInit函数中,在初始化过程中中断比mian初始化要早,但全局变量的定义都是在main中,所以导致了中断初始化失败,进而导致后面的程序初始化失败。而在第二次运行时,因为第一次已经给main中的变量分配空间,所以中断以及后面的程序都能成功运行。

错误处理:将除了时钟以外的模块都放入main中初始化,这样就保证了main中的全局变量能够成功分配空间。

(一定记住这个血淋淋的教训,还因此被老师很很鄙视了一番。。。)

/**************************************************未完待续**************************************************************/

STM32F103频率和AD采集项目总结,布布扣,bubuko.com

时间: 2024-10-19 16:45:58

STM32F103频率和AD采集项目总结的相关文章

STM32F103频率和AD採集项目总结

刚刚做了我的第一个嵌入式项目----基于STM32F103的频率和AD採集系统. 是一个大系统的一个部分.没用操作系统,使用库函数编写,尽管东西非常easy.可是对于我这个还没入门的菜鸟来说还是有点难度的. 前后断断续续已经两周多了.到眼下为止系统已经完毕了接近90%,在这个过程中犯了非常多错误.也走了非常多的弯路.在这里记录下来.让自己以后不要再犯相同的错误.也给那些和我一样刚入门的朋友一点提示. 1.USART初始化问题: STM32F103启动文件默认有两个入口.一个是systemInit

基OMAPL138基于SYSLINK的双核AD采集处理例程

Revision History Revision No. Description Draft  Date V1.0 1. 初始版本. 2014/7/22 V1.1 1. 修改采样方式为DSP采样. 2014/11/4 阅前须知 版权声明 本手册版权归属广州创龙电子科技有限公司所有,非经书面同意,任何单位及个人不得擅自摘录本手册部分或全部,违者我们将追究其法律责任.本文档一切解释权归广州创龙电子科技有限公司所有. 2014-2018 Guangzhou Tronlong Electronic T

8通道250MHz采样率14位AD采集FMC子卡AD采集卡

FMC124是北京青翼科技一款8通道250MHz采样率14位AD采集FMC子卡模块,该板卡符合VITA57规范,可以作为一个理想的IO模块耦合至FPGA前端,8通道AD通过高带宽的FMC连接器(HPC)连接至FPGA从而大大降低了系统信号延迟. 该板卡支持板上可编程采样时钟和外部参考时钟以及采样时钟,多片板卡还可以通过触发(输入/输出)信号进行同步采集,该板卡8路模拟信号通过50Ω特征阻抗的SSMB射频连接器输入,通过巴伦变压器耦合至ADC前端.板卡可广泛应用于通信多载波.雷达与智能天线.测试与

STM32F412应用开发笔记之三:SPI总线通讯与AD采集

本次我们在NUCLEO-F412ZG试验模拟量输入采集.我们的模拟量输入采用ADI公司的AD7705,是一片16位两路差分输入的AD采集芯片.具有SPI接口,我们将采用SPI接口与AD7705通讯.两路输入一路接氧气传感器,一路接氢气传感器. 氧气传感器有两种,一种是顺磁氧气传感器,输出信号是4-20mA.所以须在输出端并一个250欧姆的电阻然后接到AD7705的采集小板上.灰色的线和白色的线分别是正负极.其样式如下: 另一种氧气传感器是电化学方式的,由于电化学传感器输出为毫伏信号(0-60mV

如何在织梦的采集项目加限制条件之水印去除方法

我说的其实就是如上图所示在右侧加一个限制条件 首先要找到这个文件/dede/templets/co_add_step2.htm 找到如下图所示的位置 加一句 <input name="iswater_<?php echo $tname; ?>" type="checkbox" id="iswater_<?php echo $tname; ?>" value="1" class="np&q

[ZigBee] 9、ZigBee之AD剖析——AD采集CC2530温度串口显示

1.ADC 简介 ADC 支持多达14 位的模拟数字转换,具有多达12 位有效数字位.它包括一个模拟多路转换器,具有多达8 个各自可配置的通道:以及一个参考电压发生器.转换结果通过DMA 写入存储器.还具有若干运行模式. ADC 的主要特性如下: ● 可选的抽取率,这也设置了分辨率(7 到12 位)● 8 个独立的输入通道,可接受单端或差分信号● 参考电压可选为内部单端.外部单端.外部差分或AVDD5● 产生中断请求● 转换结束时的DMA 触发● 温度传感器输入● 电池测量功能 2.ADC 操作

AD采集滤波算法

收集的关于基础滤波算法: 理论上讲单片机从A/D芯片上采集的信号就是需要的量化信号,但是由于存在电路的相互干扰.电源噪声干扰和电磁干扰,在A/D芯片的模拟输入信号上会叠加周期或者非周期的干扰信号,并会被附加到量化值中,给信号带来一定的恶化.考虑到数据采集的实时性和安全性,有时需要对采集的数据进行软处理,一尽量减小干扰信号的影响,这一过程称为数据采集滤波. 以下介绍十种数据采集滤波的方法和编程实例.这10种方法针对不同的噪声和采样信号具有不同的性能,为不同场合的应用提供了较广的选择空间.选择这些方

电信采集项目

# 电信采集子项目个人总结: # ## (1)功能分析: ## 记录使用电信宽带的登录人员信息,获得他们的上线时长,为后面的计费模块做铺垫. ## (2)需求分析: ## 数据采集:将采集到的数据文件通过io流读入到内存,并将数据保存在java对象中: 网络模块:将存储数据的对象集合从客户端发送给服务器, 数据入库:服务器拿到的数据应该保存在数据库中,采用jdbc技术进行java和数据库的交互: 备份模块:是在数据采集中边采集边备份,将异常信息进行备份在一个文件中,并且可以通过唯一标识(登入人员

FPGA在AD采集中的应用

AD转换,也叫模数转换,是将模拟信号转换为数字信号.目前包括电脑CPU,ARM,FPGA,处理的信号都只能是数字信号,所以数据信号在进入处理芯片前必须要进行AD转换. 在高速的AD转换中,FPGA以其高速的处理能力,并行的运行结构,丰富的IO资源,往往承担者不可替代的作用. 下面给出一个实际的设计方案. AD芯片的时钟为25M,FPGA内部系统时钟频率为100M,FPGA内部处理AD数据的处理模块需要8个时钟周期才能处理完一个数据. 根据上述给出的条件,我们可以知道.按正常思路设计方案,肯定会造