![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
xuezhimeng2010
这个作者很懒,什么都没留下…
展开
-
不用STM32的库 点亮LED
本来只是路过,写详细一点。我看楼主浮躁得不得了。现在什么都不要做了,先去看几遍《不要做浮躁的嵌入式工程师》这篇文章,想清楚了,再动手吧。我做了个实例,不用ST的库来点LED,解答你的问题我的 KeilMDK 3.5我的STM32板子奋斗版是 ,IC 是 STM32F103VET6调试工具 JLINK V8LED 接在 PB5 ,高电平点亮转载 2013-08-15 17:23:49 · 2349 阅读 · 0 评论 -
STM32调试时无法正常进行配置晶振
更新了IAR软件,工程配置文件存在不兼容问题,让人郁闷的是配置文件基本上需要重新设置,包括编译、链接选项、调试设置等。。。之前的代码遇到一个麻烦的问题,现象是之前时钟配置都正常,现在调试时无法正常运行。代码跟踪查找到晶振启振问题,然而板子里面的boot loader是能正常运行的,jlink烧写进去的程序就不能了,比较奇怪。查找配置选项,包含编译设置,宏定义,库设置,链接设置,向量表设置,,,然而都原创 2017-03-14 15:41:32 · 1761 阅读 · 0 评论 -
Youcompleteme插件使用条件编译(CompileFlags)去除警告和错误
粘贴一个我目前用的配置文件这个配置文件是使用vim编写stm32程序,并使用标准库的一个配置文件,相应的路径需要配置正确,否则会出现找不到头文件的错误提示;其中红色部分是用户自己define的预编译符号(即IAR开发环境中是comile--processer--defined symbol);当然这个配置中有好多没有用的FLAGS,我也不晓得删除哪个,目前不影响正常使用及语义补全,我就原创 2015-01-20 17:01:34 · 5328 阅读 · 0 评论 -
STM32跳至硬件错误中断(HardFault_Handle)
遇到错误问题是数据类型不对,导致该步骤永远不能执行到,跳至硬件错误中断;所以硬件中断可尝试查找数据类型错误。原创 2013-11-04 11:38:35 · 14573 阅读 · 2 评论 -
stm32硬件错误的排除方法
STM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。2、堆栈溢出。增加堆栈的大小。 出现问题时排查的方法:1、发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。由于异常发生时,内核将R0~R3、R1转载 2014-12-30 10:13:46 · 5738 阅读 · 0 评论 -
状态机在嵌入式串口通信编程中的应用
状态机在嵌入式编程中绝对是个不可多得的好东西,用顺手了,程序可以简短不少,可以少用好多标志位,这是我目前了解到的。通信中的应用:串口通信在嵌入式开发中,绝对是必须的一个环节。大多数采用中断接收,主动发送的方式,进行通信。通信接收部分,可以直接简单的只是接收;当然也可以在接收过程中就进行判断,当接收到包头(帧头)时,才开始接收,否则放弃,等待包头部分。这个判断的过程中就用到了状态机。原创 2014-11-13 20:53:58 · 3597 阅读 · 0 评论 -
通过软件方法滤除工频信号干扰
在使用ADC热电偶采集温度时原创 2014-11-13 20:31:40 · 9209 阅读 · 3 评论 -
STM32 USART3可以接收无法发送问题(Tx一直为高电平)
首先这个问题耗费了我比较多的时间来进行调试,比较郁闷;原创 2014-10-27 14:22:14 · 18190 阅读 · 4 评论 -
STM32双精度运算
调试程序的时候,用到两个双精度的运算,我写的公式比较长,这部分的计算竟然影响了中断部分的执行。具体点说,就是由于双精度运算,影响了进入和跳出中断定时器的执行。如果我直接用假数,进入中断都是正常的;换成双精度运算后就不正常了。后来修改成为整形去运算,就正常了。不知道双精度运算的速度会比整形到底慢多少,这个问题还就不好解决了。有些单片机有单独的浮点运算单元,估计那样会提高不少速度。原创 2013-11-28 22:03:48 · 4371 阅读 · 2 评论 -
STM32之SPI的思考
选择了与硬件打交道,就得戒骄戒躁,踏踏实实,一步一步的走下去。可能因为一个非常小的问题,就导致你失败。失败不可怕,可怕的是不能静下心来去思考。我在公司第一次调试硬件,spi的通信,是stm32的硬件既有的通信接口。之前用51的io口模拟过i2c的,感觉spi相对来说更简单些,结果调试spi的读写花费了我3天的时间。stm32f0与网上关于stm32f1大量的例程还不一样,刚刚上市半年多,应该是,并原创 2013-11-10 21:52:20 · 20029 阅读 · 4 评论 -
STM32之ADC调试日志
1、开始选择dma方式去采样,读出ad采样的数据值波形是正常的。移植完计算相关的函数后,计算的值相对实际的值有较大的偏差,此时修改固有系数,计算的值没有发生相应的变化,将固有系数改为0后,依然不会有变化;将固有系数改大后会出现很小的变化。检查程序的计算部分,发现计算单项电压电流的公式中,for循环的计数部分出现越界,导致数组计算的也出现错误,修正后,计算结果可以通过改变固有系数来调整。2、此时原创 2013-11-10 21:47:47 · 3096 阅读 · 0 评论 -
STM32F0 定时器触发ADC,多通道采样、DMA传输数据的配置
此部分配置为本人参考STM32F1及F4网络资源修改版,转载请注明出处。#include "adc.h"uint8 sample_finish = 0;int16 adc_dma_tab[6] = { 0 };uint8 sample_index = 0;//采样点数据int32 sample_1[128] = { 0 };int32 samp原创 2013-11-10 21:15:47 · 26509 阅读 · 8 评论 -
开漏输出与推挽输出
搞STM32,因为搞不清楚开漏输出与推挽输出的概念,导致一下午没有调处结果,也正好是因为这个原因,把另外一个细节找到了--IO口时钟使能。开漏输出只能输出低电平,如果外接上拉电路,可以在输出逻辑1时输出高电平,此时驱动电流可以较大(一般小于20mA)。推挽输出是双向的,既可以把电平拉高也可以拉低,但是驱动电流相对较小。原创 2013-08-15 17:35:32 · 839 阅读 · 0 评论 -
STM32使用SWD连接报错总结
STM32使用SWD连接报错总结使用SWD通过J-Flash烧写STM32时,会出现各式各样的错误; 总结下原因: 1、复位脚被拉低了, 可以正常连接,但是烧写程序时会出现如下报错 –> - Erasing affected sectors … - ERROR: RAM check failed @ address 0x20000000. - ERROR:原创 2017-12-11 11:34:51 · 32604 阅读 · 0 评论