自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (16)
  • 收藏
  • 关注

原创 STM32程序进入hardfault_handler()

后来才发现,这几句代码里使用了一个变量,这个变量是在其他文件中定义的,所以在_it.c文件里是通过extern关键字引入的。引入的时候,后面的数据类型是uint16_t。节后回来测试代码,发现程序上电后很快就进入hardfault_handler()中断。在程序的_it.c文件里有几句代码,如果注释掉不执行,就不会进入hardfault_handler()中断。这样一来,不就访问越界了吗!所以进入.hardfault_handler()。要是keil软件能提示下这种错误就好了!

2024-05-07 17:43:31 299

原创 使用keil uv5打开工程显示Device not include in Legacy Device Database怎么解决?

使用keil uv5打开工程显示Device not include in Legacy Device Database。找不到器件

2024-04-20 17:09:41 411 1

原创 为什么单片机从STM32F030C8T6改到STM32F030CCT6后无法运行

为什么单片机从STM32F030C8T6改到STM32F030CCT6后无法运行?

2022-11-20 15:30:52 1069 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 6274

原创 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 2440

原创 使用printf,对fputc做了重定向,但是却不能使用printf发送数据。看一下是否勾选了编译器里的使用microLib选项

使用printf,对fputc做了重定向,但是却不能使用printf发送数据。看一下是否勾选了编译器里的使用microLib选项如果没选上,就不行

2020-10-13 11:42:15 916 2

原创 非屏蔽电感和电感上电流不稳定惹的祸

做的一个板子,首先用一个78L33芯片把输入的电压降低到3.3V,然后jin'紧接着一个3.3V到5V的升压芯片BL8530,电路上有一个电感,非屏蔽的。这个板子经常发现有发有烧芯片的现象。很长一段时间不知道啥原因导致的。直到有一天一个客户做的ban'板子寄到我这里测试,发现他的78L33用万用表测输出的是3V。波纹很小。但是会发现会规律性的zai在电源sh上出现干扰,而且和这个电感经过的电流频率相关。这可能就是板子jin经常烧芯片的原因。可能是电感的辐射干扰,也可能是电感电流的周期性大范围变化ch

2020-07-28 11:53:25 615

原创 电源电路上两个电感互感了!!!

硬件设计真的不是简单的事啊,需要有经验才行,即使是看似简单的东西,像自己这样的小白也mi'a免不了出错。两个电感,一个升压电路用的,一个降压电路用的,非屏蔽电感,结果做完了!测试发现升压出来的电压不对了!恍然大悟,两个电感挨的太近了,互感了!!!板子就这样报废了啊!!!距离拉开1厘米,就没有这问题了,哎!!!...

2020-07-21 19:14:41 1910

原创 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 1672 1

原创 不明原因的程序问题STM32 KEIL

索引变量像i,j,k这些,经常会在程序的多个部分重复使用。会不会用的次数太多了,编译器就编译乱掉呢?最近写一个程序,检查程序没有发现问题,但是在某一段程序中使用k,就莫名其妙的不听使唤,k++不起作用,总是等于一个固定值6,感觉出现了编译器编译问题,最后在这段程序里把k换掉,用一个新的变量替代,就没有问题了。这是怎么回事呢?其他地方使用k都是在for循环中,而这一段程序使用k不是在for循环中...

2020-04-01 10:50:56 238

原创 STM32 ST-LINK Utility之坑

如果hex文件的路径太深,用STM32 ST-LINK Utility是打不开的,他也不给你啥提示,反正就是打不开。打不开就打不开吧,也没事。可是如果再碰巧遇到像我下面这种情况就悲惨了。把一个原来的程序项目复制一份,更新下程序,肯定要改下文件夹的名字,结果老的项目文件夹路径不超长,而新项目文件夹的路径超长了,然后我在ST-Link Utility里刚好打开过一个老的项目文件里的hex文件。...

2020-03-16 15:37:23 2031 2

原创 STM32H743的SD卡读写测试(SDIO)

水平不行,光入坑了。每次爬出来都精疲力竭。把野火的SD卡测试程序,移植到字节的xi项目中,说啥也不行,直接用野火的程序就OK,移植过来就不行。除了移植程序相关的.h.c文件外,发现一个很坑的文件,就是那个hal_conf文件。这里除了定义包含哪些库文件,还有其他的一些定义,已经不止一次被这个文件坑死。这次移植sd卡程序,我的项目程序的conf文件,多了一行定义#define US...

2020-01-01 21:50:22 3302 4

原创 LAN8742替换LAN8720

LAN8742可以替换LAN8720吗?肯定可以的,LAN8742就是8720的升级版两者引脚是pin to pin兼容的8742比8720多了一个wol网络唤醒功能,8742和电脑直连时可以使用直连网线,芯片自己交叉tx和rx信号线。那么用8742的驱动可以驱动8720吗?可以,但是要注意下芯片的电路图。如果两个芯片设计的电路图不同,就有些要注意的地方,比如下面是野火开发板用...

2019-12-25 22:20:13 15032

原创 stm32程序在不同的stm32开发板上移植时注意事项

1、修改SystemClock_Config函数,不同的开发板使用的时钟源可能是不一样的,所以要修改,同时要修改stm32h7xx_hal_conf.h文件中HSE的值#if !defined (HSE_VALUE)#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in H...

2019-12-25 21:37:06 1792

原创 STM32H743定时器输出比较功能前两个周期脉宽不准

我要通过定时器比较输出功能发指定个数的脉冲。但是发现随机出现一帧的第一个脉冲宽度不对的现象,比实际需要的宽度要宽。不知道哪里的原因,解决办法就是启动定时后的前2个脉冲不用,从后面的开始用。...

2019-12-10 11:57:02 545 1

原创 调试lwip,把UDP收到的数据写到单片机内部FLASH,程序进入hardfault_handler

用的STM32H7单片机,调试LWIP把指针直接指向pbuf的payload,然后传递给FLASH编程函数,就会进入hardfault_handler然后参考了下面这个文章https://blog.csdn.net/tiantangmoke/article/details/89065065然后就把payload的数据先复制到一个数组中,然后在把数组地址传递给FLASH编程函数,就不...

2019-12-09 00:04:59 557

原创 错误“hwaddr_len must be the same as ETH_HWADDR_LEN”的可能原因

Assertion "netif->hwaddr_len must be the same as ETH_HWADDR_LEN for etharp!" failed at line 1130 in ../../../../../../Middlewares/Third_Party/LwIP/src/core/ipv4/etharp.cAssertion "netif->hwaddr...

2019-12-08 23:02:43 784

原创 STM32H743程序定义大数组

作为小白,原来觉得这里的配置不影响写程序,直到最近要定义一个200K的数组,才发现这里的配置是多么重要。选择IRAM1,编译就不通过,因为放不下,选IRAM2就能编译通过。...

2019-12-05 22:52:39 2757

原创 stm32以太网中断接收(LWIP)

在ETH的msp函数里使能中断 /* Enable the Ethernet global Interrupt */ HAL_NVIC_SetPriority(ETH_IRQn, 0x7, 0); HAL_NVIC_EnableIRQ(ETH_IRQn);但是还要在static void low_level_init(struct netif *netif),最终启动EHT...

2019-12-01 16:58:46 6210 2

原创 电脑蓝屏后,KEIL UV5打开蓝屏前编辑的程序闪退

电脑蓝屏后,KEIL UV5打开蓝屏前编辑的程序闪退开始以为是软件坏了,后来重装了软件还是闪退,原来是蓝屏前被编辑的那个工程出了问题。把工程里保存.o .d文件的文件夹里的日期最新的文件删了,再打开工程就好了。...

2019-12-01 15:23:47 809

原创 LWIP协议TFTP传输速度如何提高

看到网上有一些关于嫌tftp速度太慢的帖子,有的说只有几十KB的速度。最近也在研究lwip的tftp协议。用的stm32H7单片机,主频400MHz。刚开始是电脑通过无线连接路由,开发板通过网线连接路由。传输速度只有200KB。不能满足需求。然后把电脑通过网线直接连路由。速度提高到500KB/s,然后又把电脑直连开发板,但是速度没有提高。开始不知道原因出在哪里。怀疑是不是kai'开发板...

2019-11-30 22:08:03 3932 1

原创 lwip的tftpserver.c文件,自己注释了下

/****************************************************************//** * * @file tftp_server.c * * @author Logan Gunthorpe <logang@deltatee.com> * Dirk Ziegelmeier <dziegel@g...

2019-11-28 13:36:24 1153

原创 每次执行串口中断发送程序就跳到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 1088

原创 把STM32H743I-EVAL开发板的LWIP工程移植到NUCLEO-H743ZI开发板

STM32H743I-EVAL开发板很贵,买不起。NUCLEO-H743ZI开发板便宜。但是NUCLEO-H743ZI开发板的LWIPli'c例程非常少。这两个开发板用的都是LAN8742A PHY芯片,只是硬件连接有些不同。STM32H743I-EVAL开发板提供的LWIP例程比较fe丰富。怎么把STM32H743I-EVAL开发板的程序移植到NUCLEO-H743ZI开发板呢?经过尝试,总...

2019-11-23 22:02:23 1764

原创 编译STM32工程找不到input file “deprecated_definitions.h”

工程里是有这个文件的,编译的时候就是找不到,哈哈,起始是文件路径太长了。把工程放到磁盘根目录下就可以了。deprecated_definitions.h

2019-11-18 22:53:50 347

转载 FT1248程序(FT232H,FT220X)

百度怎么也搜不到关于FTDI的FT1248协议的代码,FTDI的FT1248手册写的又很不明不白。有幸在国外网站找到下面这个代码,继承原作者的初衷,在国内分享下:FTDI: interfacing FT1248/FT220x over SPIPosted on June 7, 2013In my current project I want to interface theFT...

2019-11-09 00:01:47 1094

原创 STM32F0 定时器中断 小白掉进的坑(FreeModbus)Timeout

1)STM32F0有多个定时器,对应多个IRQn TIM1_BRK_UP_TRG_COM_IRQn = 13, /*!< TIM1 Break, Update, Trigger and Commutation Interrupt */ TIM1_CC_IRQn = 14, /*!< TIM1 Captur...

2019-09-25 15:55:23 3486

原创 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 1471 1

原创 STM32F0 HAL库软件模拟串口发送数据

试验STM32F0官方提供的例程的时候,希望看到程序中某些变量的值,但是程序中往往没有串口发送部分,自己加又非常麻烦。而点亮LED的程序基本上每个例程都有。所以用点亮LED引脚模拟串口发送数据就很方便,不用再去初始化串口IO,初始化串口等等。/** * @brief 软件模拟串口发送数据 * @param 48MHz时钟,9600波特率,8数据位,无校验 * @retva...

2019-07-18 09:30:06 1477

原创 system_stm32f0xx.c文件

system_stm32f0xx.c/** ****************************************************************************** * @file system_stm32f0xx.c * @author MCD Application Team * @brief CMSIS Cortex-M0...

2019-06-05 22:37:39 1438

原创 TTL电平串口通信可以连接多个从机吗?

方法1:组成环(ring)方法2:换成485接口方法3:把从机TX引脚设置成开漏输出,然后外接上拉电阻后直接并联试验过程:开始的时候从机TX是设置的推挽输出,主机连接一个从机时,可以收到从机回复的信息,但是并联两个从机后就收不到回复信息了,把从机TX引脚设置成开漏输出,用的STM32单片机内部可以设置上拉,可以收到从机回复的信息了,但是不知道最多可以并联多少个从机,没有试验。/...

2019-05-27 22:33:16 12726 1

原创 STM32F0 HAL库的串口中断调用顺序

首先在主函数里执行发送中断或者接收中断函数:HAL_UART_Receive_IT(&UartHandle, (uint8_t *)RxBuf, 1);HAL_UART_Transmit_IT(&UartHandle, (uint8_t*)TxBuf, 14); 这两个函数主要是设置UartHandle结构体变量当真正发生串口发送或接收中断时,首先执行的是...

2019-05-27 10:47:43 1575

原创 STM32F0 在软件程序中写读保护选项字节(Option Bytes)

单片机:STM32F030库:HAL库目标:在程序软件中修改读保护选项字节,这样程序下载进去之后就自动保护了,不用再在ST-LINK中修改选项字节了注意事项:写选项字节,除了解锁OB,还要解锁FLASH,开始只解锁OB,没解锁FLASH,一直调试不成功 static FLASH_OBProgramInitTypeDef OptionsBytesStruct; //...

2019-05-26 18:10:43 4129

转载 ZI-data是什么

转自:https://www.cnblogs.com/king-77024128/articles/3463107.htmlKEIL RVMDK编译后的信息Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116Code是代码占用的空间;RO-data是 Read Only 只读常量的大小,...

2019-05-25 11:03:49 14348 1

原创 HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)注释

/** * @brief Receive an amount of data in interrupt mode.(中断方式接收指定数量的数据) * @param huart UART handle.(UART handle,这个handle数据结构包含了很多参数) * @param pData pointer to data buffer.(pData是接收缓存的指针) * @...

2019-05-03 17:09:25 5344

原创 STM32 HAL库怎么学

1、文件间关系2、各个函数间调用关系,调用条件。3、各个数据结构怎么用虽然库函数都有了,但是怎么用?什么时候用?按什么顺序用?

2019-05-03 16:22:42 1966

原创 core_cm0.h文件内容

第一部分:包含头文件 stdint.h。因为要用到这里定义的数据类型第二部分:定义__CM0_CMSIS_VERSION版本号第三部分:根据编译器不同,归一化asm汇编关键字,注意有三个__ASM,__INLINE,__STATIC_INLINE...

2019-04-28 22:39:03 2752

原创 stdint.h文件内容

定义基本数据类型:int32_t等等,及各数据类型的界限

2019-04-28 22:10:34 1227

原创 stm32f030x8.h文件内容

第一部分:Configuration of the Cortex-M0 Processor and Core Peripherals第二部分:中断号列表。第三部分:包含其他头文件#include "core_cm0.h" /* Cortex-M0 processor and core peripherals */#include "system_stm32f0x...

2019-04-28 10:00:04 458

原创 stm32f0xx.h文件内容

这个文件的内容第一部分定义使用的器件第二部分定义USE_HAL_DRIVER,这个是在编译器中定义的第三部分定义CMSIS Device version number第四部分根据使用的器件包含相应器件的头文件第五部分定义了一些标志类枚举类型第六部分定义了一些寄存器操作的宏第七部分包含stm32f0xx_hal.h头文件...

2019-04-28 08:43:53 2120

stm32f0_freemodbus补充文件

针对stm32f0单片机,使用freemodbus1.5.0,总结的uart和modbus相关的函数文件,方便直接复制到新的工程中使用

2020-04-14

【RFC1784】TFTP超时时间协商和文件大小协商协议

【RFC1784】TFTP超时时间协商和文件大小协商协议,

2019-11-30

【RFC1783】TFTP块大小协商协议

【RFC1783】TFTP块大小协商协议

2019-11-30

【RFC1782】TFTP协议选项字段扩展协议

【RFC1782】TFTP协议选项字段扩展协议,

2019-11-30

【RFC1350】TFTP协议

【RFC1350】TFTP协议,

2019-11-30

STM32f030C8T6-FatFs例程.rar

STM32F030单片机SD卡FatFs文件系统测试程序(HAL库)

2019-07-25

单片机最入门文章

单片机入门文章——《你见过这些吗?》——写给刚刚听说‘单片机’三个字的同学!

2012-04-14

花1万元的PCB设计高级讲座.pdf

花1万元的PCB设计高级讲座.pdf 花1万元的PCB设计高级讲座.pdf

2010-07-05

SPI总线规范(EN)

在数字技术高速发展的今天,有许多芯片被用作数据交换的核心器件,以起到承上启下数据交换的枢纽作用,或者是在集成电路之间进行数据的存储和显示等,如果需要,它既可以将数字信号进行 D/ A 转换,以便进行功率放大和信息发送,也可以将外部模拟信号进行A/ D 转换,以便于同数字逻辑电路进行数据交换,减轻数字逻辑电路处理数据的压力。这些芯片同数字逻辑电路的接口很多采用 SPI(Serial Peripheral Interface) 接口技术。 SPI ( Serial Peripheral Interface ———串行外设接口) 总线系统是一种同步串行外设接口,允许MCU 与各种外围设备以串行方式进行通信、数据交换。外围设备包括FLASHRAM、A/ D 转换器、网络控制器、MCU 等。SPI 系统可直接与各个厂家生产的多种标准外围器件直接接口,一般使用4 条线:串行时钟线(SCK) 、主机输入/ 从机输出数据线MISO、主机输出/ 从机输入数据线MOSI 和低电平有效的从机选择线SS (有的SPI 接口芯片带有中断信号线INT 或INT 、有的SPI 接口芯片没有主机输出/ 从机输入数据线MOSI)

2010-04-19

rs232的各种连接方式及通讯

RS232串口通讯是最常用的,但是为什么就连接了RXD,TXD和GND三个信号,没有任何的握手信号。原来一直高不明白。在网上搜了很多关于RS232的资料,也没有找到理想的。后来就找了一篇英文的资料,自己翻译了一下,总算真正弄清楚了RS232。特此分享一下。

2010-04-14

电子设计从零开始(PART4)

本书意在通过先学者的经验给初学者指出一条电子设计的学习,实践之路! 因为上传流量的限制,这是Part4,请下全四Part再解压!

2010-04-02

电子设计从零开始(PART3)

本书意在通过先学者的经验给初学者指出一条电子设计的学习,实践之路! 因为上传流量的限制,这是Part3,请下全四Part再解压!

2010-04-02

电子设计从零开始(PART2)

本书意在通过先学者的经验给初学者指出一条电子设计的学习,实践之路! 因为上传流量的限制,这是Part1,请下全四Part再解压!

2010-04-02

电子设计从零开始(PART1)

本书意在通过先学者的经验给初学者指出一条电子设计的学习,实践之路! 因为上传流量的限制,这是Part1,请下全四Part再解压!

2010-04-02

图片批量下载器2.6

绝对非常好的软件,是最快捷的寻找素材、美女的方法! 保证无病毒!放心使用!

2009-12-30

超级51开发板电路图

目前市面上大多数开发板都采用最简单的51内核芯片,需要大量的外围器件才能完成 一些最基本的功能,例如AD,DA等,初看起来器件琳琅满目,实际上都是已经过时的技 术了,就象大学的教科书一样,学了但没什么实用价值。我们这款开发板采用最先进的51 内核,在学习最先进的前沿技术的同时,也兼容传统的实验项目。

2009-12-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除