![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32F0
Flyaswing
从事电子技术开发,电子开发产品销售!
展开
-
为什么单片机从STM32F030C8T6改到STM32F030CCT6后无法运行
为什么单片机从STM32F030C8T6改到STM32F030CCT6后无法运行?原创 2022-11-20 15:30:52 · 1089 阅读 · 1 评论 -
STM32(GD32)串口通信ORE(overrun error)导致死机
STM32串口通信ORE(overrun error)导致死机现象就是:我要接收到16个字节到数据后就开始处理数据,但是主机发过来的指令超过了16个字节,就导致我这里死机了,其实我这里不应该死机的,因为波特率才9600,一个字节的时间来处理中断代码完全够用。怎么掉进坑的呢:因为我在接收中断处理函数里加了发送字符的函数putchar,也就是当我接收到16个字节时,我就在中断函数里给主机回复“ok”这两个字符。这就完蛋了,如果主机发了16个字节不发了,那没问题,如果发了16个字节还在发,就overrun原创 2020-12-11 11:58:21 · 6352 阅读 · 0 评论 -
STM32 GD32 影响ZI-DATA大小的选项use MicroLib
start.s文件定义了堆栈的大小,会影响ZI-DATA如果使用了printf函数,那么是否勾选use ZI-DATA选项对ZI-DATA影响也很大。“microlib是缺省C库的备选库。它用于必须在极少量内存环境下运行的深层嵌入式应用程序。这些应用程序不在操作系统中运行。microlib不会尝试成为符合标准的ISOC库。microlib进行了高度优化以使代码变得很小。它的功能比缺省C库少,并且根本不具备某些ISOC特性。某些库函数的运行速度也比较慢,例如,mem...原创 2020-11-07 15:37:41 · 2470 阅读 · 0 评论 -
STM32F0单片机添加Modbus支持步骤
1、把modbus库文件夹和port文件夹复制到工程目录下2、把两个文件夹添加到工程中3、把包含路径添加进来4、主程序中包含modbus相关头文件//包含modbus相关文件#include "mb.h"#include "mbport.h"#include "mbutils.h"5、把timer.c和timer.h文件复制到工程中,添加进工程src6、主...原创 2020-04-14 14:16:51 · 1707 阅读 · 1 评论 -
不明原因的程序问题STM32 KEIL
索引变量像i,j,k这些,经常会在程序的多个部分重复使用。会不会用的次数太多了,编译器就编译乱掉呢?最近写一个程序,检查程序没有发现问题,但是在某一段程序中使用k,就莫名其妙的不听使唤,k++不起作用,总是等于一个固定值6,感觉出现了编译器编译问题,最后在这段程序里把k换掉,用一个新的变量替代,就没有问题了。这是怎么回事呢?其他地方使用k都是在for循环中,而这一段程序使用k不是在for循环中...原创 2020-04-01 10:50:56 · 243 阅读 · 0 评论 -
STM32 ST-LINK Utility之坑
如果hex文件的路径太深,用STM32 ST-LINK Utility是打不开的,他也不给你啥提示,反正就是打不开。打不开就打不开吧,也没事。可是如果再碰巧遇到像我下面这种情况就悲惨了。把一个原来的程序项目复制一份,更新下程序,肯定要改下文件夹的名字,结果老的项目文件夹路径不超长,而新项目文件夹的路径超长了,然后我在ST-Link Utility里刚好打开过一个老的项目文件里的hex文件。...原创 2020-03-16 15:37:23 · 2045 阅读 · 2 评论 -
每次执行串口中断发送程序就跳到WAKEUP_PIN_IRQHandler
用官方的串口中断发送例程zhen正常,但是当我把官方的程序填到uart.h和uart.c文件中,然后添加到工程,一执行串口中断发送程序就跳到WAKEUP_PIN_IRQHandler。找了好久,原来是个低级的原因。官方程序的中断向量定义是在main.h文件中,在_it.c文件中包含le了main.h文件,所以在_it.c文件中能找到中断#define USARTx_IRQHandler ...原创 2019-11-24 23:05:39 · 1098 阅读 · 0 评论 -
STM32F030单片机SD卡FatFs文件系统测试程序(HAL库)
单片机:STM32F030C8T6 LQFP48micro SD卡:闪迪 16G晶振:外部晶振8M,倍频后系统时钟48MHz接口:使用SPI1(PB3-SCK,PB4-MISO,PB5-MOSI),CS连接PA5,PA6是Detect,实际测试时PA6连接到的GND,表示插入了SD卡用了两个LED,LED1连接PA0,LED3连接PA2,如果最好LED1点亮,并且SD卡中新建了STM32...原创 2019-07-25 22:39:48 · 1476 阅读 · 1 评论 -
STM32F0 HAL库软件模拟串口发送数据
试验STM32F0官方提供的例程的时候,希望看到程序中某些变量的值,但是程序中往往没有串口发送部分,自己加又非常麻烦。而点亮LED的程序基本上每个例程都有。所以用点亮LED引脚模拟串口发送数据就很方便,不用再去初始化串口IO,初始化串口等等。/** * @brief 软件模拟串口发送数据 * @param 48MHz时钟,9600波特率,8数据位,无校验 * @retva...原创 2019-07-18 09:30:06 · 1486 阅读 · 0 评论 -
STM32F0 在软件程序中写读保护选项字节(Option Bytes)
单片机:STM32F030库:HAL库目标:在程序软件中修改读保护选项字节,这样程序下载进去之后就自动保护了,不用再在ST-LINK中修改选项字节了注意事项:写选项字节,除了解锁OB,还要解锁FLASH,开始只解锁OB,没解锁FLASH,一直调试不成功 static FLASH_OBProgramInitTypeDef OptionsBytesStruct; //...原创 2019-05-26 18:10:43 · 4147 阅读 · 0 评论 -
stm32工程中在Keil中宏定义
【STM32F0工程】【HAL库】在工程中包含一个stm32f0xx.h头文件,在这个文件中通过宏定义,选择工程使用的器件。然后根据选择的器件不同再包含对应器件的头文件,比如stm32f0x8.h。#if !defined (STM32F030x6) && !defined (STM32F030x8) && ...原创 2019-04-27 15:40:59 · 9633 阅读 · 1 评论