STM32&单片机编程开发
记录与STM32单片机开发相关资料总结
C藏镜人
enjoy life and robot,致力成就非凡的自己
展开
-
单片机AT32系统卡在_sys_open、freopen,点击几次后,才能进入main函数
【问题描述】单片机AT32系统卡在_sys_open、freopen,点击几次后,才能进入main函数1 . JLink仿真,每次进入main函数需要点击两次执行2 . 不仿真,进入不了系统3 . 工程不进入HardFault_Handler()思考freopen什么文件 ??后发现用了stdio.h没有勾选MicroLIB,勾选后,OK...原创 2022-03-01 16:53:26 · 868 阅读 · 0 评论 -
error: L6002U: Could not open file .\objects\xxx.o: No such file or directory
前提 : 交接项目使用国产某芯片+MDK开发环境,原工程编译OK,删掉之前.O文件,再编译失败排查 :1 . 检测编译生成文件的确没有该.o文件,但存在该文件的.C、.H文件2 . 检测该文件添加入工程的路径,正常3 . 检测文件内容,也无问题4 . 网上说与KEIL安装路径有关,参考链接;但本人是英文本来就是英文路径,重启电脑无效5 . 开始排查关联文件,发现关联其他文件有一函数,变量定义在语句执行内(符合C++,但违反C),修改后,重新编译,问题解决总结...原创 2021-12-15 15:05:46 · 7374 阅读 · 1 评论 -
电路NO1.基础知识
一、三极管二、焊接三、AD10 PCB打印贴片纸https://wenku.baidu.com/view/c01ed66af90f76c660371a61.html四、电阻值计算公式原创 2019-04-12 08:58:50 · 437 阅读 · 0 评论 -
J-Scope软件使用
手册软件:http://forum.armfly.com/forum.php?mod=viewthread&tid=83036本文基于https://blog.csdn.net/Simon223/article/details/80634178改写。一、使用须知二、HSS 模式获取数据三、RTT 模式获取数据四、HSS 模式使用方法...原创 2019-03-28 21:57:09 · 6627 阅读 · 4 评论 -
利用IAR软件,将KEIL项目工程直接转换IAR项目工程
转换工具:IAR Embedded Workbench具体功能:IAR Embedded Workbench->Tools->Project Converter步骤:1.启动IAREmbedded Workbench。2.选择Tools>Project Converter。3.单击“浏览”按钮,选择需要转换的Keil µVision项目目录(不一定包含项目文件的目录)。...原创 2019-01-17 18:51:12 · 5029 阅读 · 0 评论 -
keil05 软件功能设置
1.优化掉没有调用的函数,减少程序空间 勾选:One ELF Section per Function,原创 2019-01-25 17:50:49 · 1770 阅读 · 0 评论 -
Keil N02: MDK相关资料链接
一、MDK曾发布的超级给力STM32F1,F407,F429和F7的所有调试方法的设置细节:http://forum.armfly.com/forum.php?mod=viewthread&tid=14896二、MDK逻辑分析仪使用注意事项总结:http://forum.armfly.com/forum.php?mod=viewthread&tid=18097下面以...原创 2019-03-28 21:43:28 · 218 阅读 · 0 评论 -
Keil N04:_map文件全解析
转载:https://blog.csdn.net/ybhuangfugui/article/details/759482820、写在前面相信有较大项目开发经验的朋友都曾遇到内存溢出的问题,那么大家都是如何分析这类问题的呢?大家遇到HardFault_Handler 有对map分析过吗? 首先讲述一下关于map在MDK-ARM中的配置。其实,在MDK-ARM中,我们可以根据自己的情...转载 2019-06-30 22:18:57 · 379 阅读 · 0 评论 -
Keil N01:的软件逻辑分析仪( logic analyzer)使用
在keil MDK中软件逻辑分析仪很强的功能,可以分析数字信号,模拟化的信号,CPU的总线(UART、IIC等一切有输出的管脚),提供调试函数机制,用于产生自定义的信号,如Sin,三角波、澡声信号等,这些都可以定义。 以keil里自带的stm32的CPU为例,对PWM波形跟踪观测,打开C:\Keil\ARM\Boards\Keil\MCBSTM32\PWM_2目录下的stm...转载 2019-01-25 16:48:25 · 1778 阅读 · 0 评论 -
JLink软件使用总结
目录驱动下载:JLink接口:应用:1.J-Link Commender解除芯片被锁,步骤见红色线2.J-Scope波形仿真出现问题:Q1:Error: Flash Download failed - Target DLL has been cancelledQ2: 同样SWD电路,STM32F103能下载程序,STM32F0 SWD无法下载?Q3."...原创 2019-02-01 12:30:49 · 3147 阅读 · 0 评论 -
Keil N03: keil 相关配置
1.同时安装KEIL 4 和KEIL 5,如何让keil 4文件被keil4打开,不被keil 5直接打开?原因: Keil 4应用程序打开方式改变是由于安装keil5时,系统注册表发生改变,解决方法:A.首先,win+R打开运行,接着输入regedit.exe,B.然后,点开HKEY_CLASSES_ROOT拉到UV开头部分C.查看UVPROJFILE ...原创 2019-05-24 16:24:33 · 466 阅读 · 0 评论 -
error: #5: cannot open source input file “XXX.h“: No such file or directory
MDK出现“error: #5: cannot open source input file “XXX.h”: No such file or directory”有两种可能忘记将变成路径添加入MDK中程序员忽略版本差异(新版本MDK ST库修改了很多头文件名称,导致之前默认的头文件如:stm32f10x_lib.h、stm32f10x_conf.h等无法识别)解决方法:1.更新头...原创 2019-01-21 09:17:07 · 18124 阅读 · 1 评论 -
单片机学习07_状态机
一、状态机简介简介资料:https://baike.baidu.com/item/%E7%8A%B6%E6%80%81%E6%9C%BA/6548513?fr=aladdin#reference-[2]-1906565-wrap。有限状态机(FSM)是表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,通常FSM包含几个要素:状态的管理、状态的监控、状态的触发、状态触发后引发的动作。1.1 重点概念 1、数学语言描述如下:一个有限状态机M是一个五元组,M=(K,E...原创 2020-05-17 17:31:25 · 786 阅读 · 0 评论 -
单片机学习01_JFlash.exe烧录hex文件操作
0、用JLINK在电脑上连接STM32板子或者使用SWD模式连接STM32板子1、首先安装JLINK V5.12版本的驱动,下载链接如下: http://down.drv5.cn/www.drv5.cn/Setup_JLink_V512.zip2、找到安装目录下的 JFlash.exe ,打开该软件,如下所示:点击 Options –> Project Settings… ...原创 2020-03-26 14:02:08 · 5430 阅读 · 0 评论 -
单片机学习02_IIC通信总结
一、IIC简介二、IIC常见接线方式三、IIC通信协议3.1 I2C 基本读写过程3.2 数据有效性3.3 响应信号四、IIC和SPI 两者都是适合近距离低速芯片间通信。4.1 IIC对比SPI a.总线拓扑结构/信号路由/硬件资源耗费 IIC 只需两根信号线,而...原创 2019-04-09 20:06:39 · 538 阅读 · 1 评论 -
单片机学习03_软件优化单片机编译项目
***_align(n)***:指示编译器在n 字节边界上对齐变量。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问 一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐.其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对 数据存放进行对齐,会在存取效率上...原创 2019-01-25 16:29:06 · 377 阅读 · 0 评论 -
单片机学习04_单片机外设易忘知识点
AD1.采样频率就是采样周期的倒数,也就是一秒钟采样的次数;2.分辨率是决定采样最小值,比如基准电压为1v,8位的采样,最小值是1/256,1为的采样的最小值是1/1024,分辨率越高,采样越精确USART1.波特率与字节传输速率计算,如下所示:如:波特率115200,即115200 (位/秒)。一位 = 1个起始位+1个校验位+1个停止位+8个数据位;如果没有校验位,就应该...原创 2019-01-22 15:17:06 · 305 阅读 · 0 评论 -
单片机学习05_单片机软件架构
一、概述常用单片机软件架构大体分三种:1. 前后台顺序执行程序2. 时间片轮询法3. 操作系统二、前后台顺序执行程序所谓的前台,就是主动去判断处理某个事务,这个是主循环里要做的事,也就是你代码主要要写的。所谓的后台,指的是:中断,也就是不需要你的CPU去判别,就会自动进入某一种状态,你在这个状态下做你要做的事就可以了。主要结构:mian - while - 中断。个人觉得,这种...原创 2018-12-18 20:42:22 · 1460 阅读 · 0 评论 -
单片机学习06_单片机芯片选型参考
一、ST系列这里介绍几款比STM32F103系列性价比更高的MCU系列STM32F030----ARM Cortex-M0内核。最高主频48MHZ,特别是STM32F030F4,16K FLASH,4K RAM , TSSOP20封装。价格在3块钱左右 STM32F042----同样Cortex-M0内核 。14年初推出的芯片,号称带USB,CAN总线的最便宜的MCU。可以和STM32F...原创 2019-03-13 21:55:17 · 3057 阅读 · 0 评论 -
STM32学习笔记NO1. STM32外设使用总结
目录一.各种输入输出模式1.1 输入模式1.2 输出模式2.输出频率设置2.1 如何选择输出频率二、时钟源1.1各个时钟源作用三、存储器1.SRAM2.存储器结构3.Program Size: Code=x RO-data=x RW-data=x ZI-data=x 的含义四、中断与事件五、STM32硬件IIC高级库调用,解决硬件IIC b...原创 2019-02-01 12:24:15 · 3376 阅读 · 0 评论 -
STM32学习笔记NO2.STM32编程所遇问题汇总
目录Q1:bool类型时有时无Q2.从别人那拷贝过来的代码,出现"parsing restarts here after previous syntax error",同时外设相关内容都报错Q3:直接使用unsigned long型最大数4294967295,编译器产生警告,warning: #1134-D: literal treated as "long long"Q4.最后...原创 2019-02-01 14:18:08 · 1145 阅读 · 0 评论 -
STM32学习笔记NO3.启动文件
1.1 启动代码作用启动代码作用一般是:1)堆和栈的初始化;2)向量表定义;3)地址重映射及中断向量表的转移;4)设置系统时钟频率;5)中断寄存器的初始化;6)进入C应用程序。1.2 常见的数据定义伪指令;— DCB 用于分配一片连续的字节存储单元并用指定的数据初始化。;— DCW (DCWU) 用于分配一片连续的半字存储单元并用指定的数据初始化。...原创 2019-04-08 22:16:45 · 397 阅读 · 0 评论 -
STM32学习笔记NO4.模块化代码
一、Usart 相关1.1 串口打印调试信息,类似打开微库/* * 函数名:USART1_printf * 描述 :格式化输出,类似于C库中的printf,但这里没有用到C库 * 输入 :-USARTx 串口通道,这里只用到了串口1,即USART1 * -Data 要发送到串口的内容的指针 * -... 其他参数 * 输出 :无 * 返...原创 2019-05-20 11:09:57 · 465 阅读 · 0 评论 -
STM32学习笔记NO5. STM32的8种GPIO输入输出模式深入详解
转载:https://blog.csdn.net/baidu_37366055/article/details/80060962 输入模式 -输入浮空(GPIO_Mode_IN_FLOATING) &n...转载 2019-06-26 11:11:56 · 258 阅读 · 0 评论 -
STM32学习笔记NO6.软件应用相关问题
1.STM32库中 __IO 修饰符__IO是在core_cm3.h中被重定义,其实就是volatile/** * IO definitions * * define access restrictions to peripheral registers */#ifdef __cplusplus #define __I volatile ...原创 2019-07-13 15:44:36 · 188 阅读 · 0 评论 -
STM32学习笔记NO7.STM32低功耗模式
本文主要解读STM32低功耗模式的机制,并不侧重STM32低功耗的程序实现,而且借助STM32固件库实现STM32低功耗会变的非常简单。一、STM32芯片性能使用芯片型号:stm32,CORTEX -M0.封装TSSOP20.运行模式:内部时钟(HSI),系统时钟频率采用48MHZ。工作电压:3.3V芯片具体参数如下:二、芯片功耗功耗:...转载 2019-07-23 20:34:40 · 925 阅读 · 0 评论 -
STM32学习笔记NO8.STM32硬件错误HardFault_Handler的处理方法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-08-31 09:10:42 · 564 阅读 · 0 评论 -
STM32学习笔记NO9.利用IDLE中断实现串口中断接收长度不一数据
总结:利用“IDLE寄存器”判断数据是否接收完毕,继而接收一帧数据 今天说一下STM32单片机的接收不定长度字节数据的方法。由于STM32单片机带IDLE中断,所以利用这个中断,可以接收不定长字节的数据,由...转载 2019-08-21 19:39:37 · 477 阅读 · 1 评论 -
STM32学习笔记NO10.断言机制 assert_param()宏定义
assert_param()用于判断数据的合法性,位于stm32f0xx_conf.h,当然可以将其移植到别的单片机开发项目,提高代码健壮性。代码如下:/* Exported constants --------------------------------------------------------*//* Uncomment the line below to expanse t...原创 2019-09-24 17:59:01 · 377 阅读 · 0 评论 -
STM32学习笔记NO11.STM32工程自生成文件
打开STM32工程,使用时会生成以下文件。其作用:原创 2019-09-25 12:11:51 · 183 阅读 · 0 评论 -
STM32学习笔记NO12. STM32Cube学习
一、新建工程Step1. 新建工程:File -> New Project ->选择芯片 ->start projectStep2.IO配置:直接点击芯片图管脚设置(input 、 output)、右键 -> 重定义管脚名“enter user label”Step3. 配置时钟树(内部时钟最大只能设置64Mhz)Step4.配置IO口...原创 2020-01-23 23:24:54 · 383 阅读 · 0 评论