STM32adc采集的一些bug

发布者:SparklingSoul最新更新时间:2019-06-26 来源: eefocus关键字:STM32  adc采集  bug 手机看文章 扫描二维码
随时随地手机看文章

调试过程如下:

这里写图片描述

进行调试发现 
这里写图片描述 
这个卡死在

while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));1

等待转换结束。

一般的卡在这个地方主要是初始化没有做好,需要进行初始化的检查,去看初始化的代码。


关键字:STM32  adc采集  bug 引用地址:STM32adc采集的一些bug

上一篇:Stm32中的USART_RX_STA
下一篇:stm32的串口调试卡死问题

推荐阅读最新更新时间:2024-11-09 18:02

STM32针对字库的调用方法
本例用STM32单片机普通IO口模拟SPI的方式来读取高通字库GT20L16S1Y。 本款芯片适合最基本的16点阵字库、16x16汉字库、一级字库、单片机字库应用,支持gb2312点阵和基本的ASCII编码的字符集,采用SPI协议的接口来读取芯片内的数据。封装为SOT23-6,体积较小,适合任意大小的设备。 本例中使用的单片机型号是STM32F103VDT6,字库使用的引脚是PA口的4,5,6,7脚。 首先我们对这个单片机的系统时钟进行设置。进行系统时钟设置后才能开启端口的时钟。具体如下例所示。 void SystemInit (void) { RCC- CR |= (uint32_t)0
[单片机]
STM32 | 串口空闲中断接收不定长数据(DMA方式)
在使用STM32的串口接收数据的时候,我们常常会使用接收中断的方式来接收数据,常用的是RXNE。这里分享另一种接收数据的方式——IDLE中断(PS:本文的例子运行在STM32F103ZET6上)。 一、IDLE中断什么时候发生? IDLE就是串口收到一帧数据后,发生的中断。什么是一帧数据呢?比如说给单片机一次发来1个字节,或者一次发来8个字节,这些一次发来的数据,就称为一帧数据,也可以叫做一包数据。 二、RXNE中断和IDLE中断的区别? 当接收到1个字节,就会产生RXNE中断,当接收到一帧数据,就会产生IDLE中断。比如给单片机一次性发送了8个字节,就会产生8次RXNE中断,1次IDLE中断。 三、IDLE中断如何配
[单片机]
<font color='red'>STM32</font> | 串口空闲中断接收不定长数据(DMA方式)
通过STM32的C8t6获取DHT11的温湿度数据
本项目通过STM32的C8t6获取DHT11的温湿度数据,以及空气质量传感器MQ135,通过一块ESP8266模块连接wifi,把数据上传到机智云平台,可通过手机APP查看。 1、模块准备 一块STM32F103C8T6一块IIC的OLED模块一个DHT11一个MQ135空气质量模块一块ATK-8266wifi模块一个ST-link下载模块杜邦线若干 2、程序准备 首先,先让C8T6能够在OLED上正常显示温度、湿度、以及空气污染气体传感器。在这里我主要说一下MQ135的计算,至于DHT11如何显示温度湿度。关于MQ135:MQ-135气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(Sn02)。当传感器所处环
[单片机]
通过<font color='red'>STM32</font>的C8t6获取DHT11的温湿度数据
STM32串口悬空导致CPU持续进入中断函数
STM32的串口开启中断,在串口悬空(即不接外设)的情况下,CPU会不断的进串口中断服务函数 并且接收到的数据为0,当你把外设接上,一切OK。 void USART2_IRQHandler(void) { INT8U tmp; /* OK */ if(USART_GetITStatus(USART2, USART_IT_RXNE) == SET){ USART_ClearITPendingBit(USART2, USART_IT_RXNE); tmp = USART_ReceiveData(USART2); } } 其实原因很简单,在初始化串口是输入引脚设置成了悬空
[单片机]
基于stm32的can总线彻底研究
1、CAN总线的初始化 void can_init(void) { CAN_InitTypeDef CAN_InitStructure; CAN_FilterInitTypeDef CAN_FilterInitStructure; /* CAN register init */ CAN_DeInit(); CAN_StructInit(&CAN_InitStructure); /* CAN cell init */ CAN_InitStructure.CAN_TTCM=DISABLE;//禁止时间触发通信模式 CAN_InitStructure.CAN_ABOM=DISABLE; CA
[单片机]
STM32-printf重定向到USART
在使用STM32的过程中,尤其是刚开始学习使用的时候,由于不知道自己的程序写的对不对,就经常需要一点验证的方法,点亮一个LED灯就是最简单的验证方法,但是有的时候还经常需要串口的输出来验证自己的程序是否正确,但是官方提供的函数库中用于串口发送的好像就一个USART_SendData(),通过外设USARTx发送单个数据,对于熟悉C语言的同学来说,这个函数还没有格式输出,当想要输出一个数字,或者字符串的时候,使用起来可能有点麻烦,现在有一个很好的方法就可以使用C语言中的printf()函数,而且使用方法是一样的。如何使用,很简单,我们只需要重新定向printf就可以,将它的数据用STM32的串口进行发送出去就可以了。 首先添加pr
[单片机]
STM32堆栈大小及位置
STM32的地址空间映射: 首先STM32的堆栈是存放在片上静态SRAM中的,地址分配可以见Keil的编译map文件: HEAP 0x200106f8 Section 512 startup_stm32f2xx.o(HEAP) STACK 0x200108f8 Section 1024 startup_stm32f2xx.o(STACK) __heap_base 0x200106f8 Data 0 startup_stm32f2xx.o(HEAP) __heap_limit 0x200108f8 Data 0 startup_stm32f2xx.o(HEAP) __initial_sp 0x20010cf8
[单片机]
<font color='red'>STM32</font>堆栈大小及位置
苹果智能手表AppleWatch升级后出现BUG,只能重启?
近日, AppleWatch 部分用户对苹果 智能手表 进行首次升级之后,发现心率监测功能出现了问题。在升级Watch OS 1.0.1之前,每十分钟会进行一次心率捕捉,并同步至iPhone中的健康app中。而在升级之后,心率采集变得间隔更大了。   一位网友说到:“我与苹果的客服进行了沟通,他们的建议是重新启动iPhone与AppleWatch重置感应器,并将感应器擦拭干净,但是并没有什么效果。”     每10分钟捕捉一次心率,生成周期报告,是为了让用户能够对于他们全天的心率变化有一个完整的画面,并能进一步调整生活作息,或者给医生协助诊断使用。   而升级Watch OS 1.0.1之后出现的bug,唯一能做的就是重启Ap
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved