随笔分类 - STM32--->开发常见问题
摘要:问题描述:仿真器下载程序后,可运行;拔掉仿真器,断电重新上电后,处理器不运行,手动复位后产品能正常运行 出现上面描述的问题,目前我遇到的有两种情况: ①外设设备初始化未完成:可以注释排查外设设备,在初始化的地方添加一段延时,等待产品初始化完成。 ②晶振起振时间长:(上示波器查看晶振起振时间)在时钟初
阅读全文
摘要:1、标准库 /** * @brief Checks whether the specified SPIx/I2Sx flag is set or not. * @param SPIx: To select the SPIx/I2Sx peripheral, where x can be: 1, 2,
阅读全文
摘要:使用 C 语言对寄存器赋值时,我们常常要求只修改该寄存器的某几位的值,且其它的寄存器位不变,这个时候我们就需要用到 C 语言的位操作方法了。1、把变量的某位清零 此处我们以变量 a 代表寄存器,并假设寄存器中本来已有数值,此时我们需要把变量a 的某一位清零,且其它位不变,方法见代码清单 6-1。 代
阅读全文
摘要:1、创建一个新工程 2、选择芯片型号 3、在Name of Executable中输入烧录文件的全名 4、debug连接设备下载程序即可
阅读全文
摘要:1、中断函数中可以不调用USART_GetITStatus USART_GetITStatus函数是用来获取中断状态,即判断中断来源。 在STM32的中断服务函数中,是否需要调用USART_GetITStatus函数取决于具体的应用场景和需求。如果中断服务函数只处理特定的中断事件,并且确定不会
阅读全文
摘要:linux内核和其他一些开源的代码中,经常会遇到这样的代码: do{ ... }while(0) 这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点
阅读全文
摘要:如下图 这些错误是由于没有正确设置编译器导致的: ARM Compiler 选择版本5 就不会出错了
阅读全文
摘要:在将Discovery的工程移植到Mini-STM32F4x9BI开发板时,使用ULINK2下载程序可能会出现如下图所示的“Invalid ROM Table”这个错误: 可能原因是使用Mini-STM32F4x9BI开发板时(STM32F429BITx)外部晶振为25M,而使用Discovery的
阅读全文
摘要:1、基于STM32讲解ARM体系结构 物联网:PC+互联网+移动终端 将所有的电子产品接入云端网络,通过手机来远程控制操作,云端是桥梁,云端就是服务器 嵌入式:在硬件上去处理一些数据 单片机:MCU MCU将数据通过通信器件发送出去, 比如zigbee、蓝牙、WIFI芯片、以太网等 有通信自然就有T
阅读全文
摘要:单片机ADC检测4-20mA电路,以及计算方法 1、手里有一个4-20mA输出的液位传感器,测量范围是0m到10m。单片机要做的就是采集到这个信号,而且计算出当前的水位深度。下面给大家一个参考。 2、4-20mA信号在工业上是非常常见的一种信号,应用在各种传感器的输出上,突出优点就是抗干扰能力强,大
阅读全文
摘要:STM32用仿真器下载代码时,我们需要配置keil中flash download列表下的芯片flash对应的型号,但是stm32产品比较丰富,有F0,F1系列的,F4,F7系列等等,而安装keil软件时,软件并没有包含所有系列芯片的flash配置型号,需要自己去添加。 下面介绍下如何向keil中添加
阅读全文
摘要:1、ARM Cortex系列仿真调试器 1.1、主流的调试工具 (1)J-Link J-Link是最著名的ARM开发调试工具,J-Link由SEGGER公司生产。提供对市面上几乎所有ARM内核芯片的支持。目前最新版本的J-Link产品为V9,支持JTAG和SWD模式。并且对主要的IDE环境如KEIL
阅读全文
摘要:程序卡死在B.处,一般都是有中断没有处理,导致程序进入中断后无法跳出,仔细检查下相关中断的配置和处理函数,找出错误即可。 STM32出现硬件错误可能有以下原因: (1)、数组越界操作; (2)、内存溢出,访问越界; (3)、堆栈溢出,程序跑飞; (4)、中断处理错误; STM32硬件错误HardFa
阅读全文
摘要:stm32开发环境加入STM32F10X_HD和USE_STDPERIPH_DRIVER两个宏 1. 为什么要定义USE_STDPERIPH_DRIVER这个宏? 程序的执行是从“main.c”文件开始的,其中必须包含有头文件“stm32f10x.h”。 我们打开“stm32f10x.h”,按下“C
阅读全文
摘要:1、字符串的发送 这里主要说的是在特殊情况下发送字符时代码的写法,特殊情况指的是: (1)调用发送字符串函数“发送完”本机立即掉电; (2)调用发送字符串函数“发送完”从机立即掉电; (3)调用发送字符串函数“发送完”立刻进入待机或停机; 上面(1)、(2)两种主要用于芯片对电源控制的项目中 这里主
阅读全文
摘要:1、宏打印函数 在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。这时候我们可以使用宏定义来封装一个宏打印函数,这个宏打印函数可以显示打印信息
阅读全文

浙公网安备 33010602011771号