STM32学习
文章平均质量分 53
混子还在路上
坐地成佛,逍遥成仙!
展开
-
STM32踩坑:LAN8720未接网线,上电后再接网线,网络模块无法正常使用
最近因为做的项目出了BUG,STM32 单片机在未接网线的状态下,上电一段时间后,将网线插入网口后,IP地址ping不通,网络模块无法正常使用,重启一下程序就没问题了。原创 2023-11-17 16:10:52 · 2813 阅读 · 0 评论 -
STM32踩坑:UCOSIII下串口中断服务中使用OSIntEnter函数使程序卡死解决方案
在高频的串口数据收发模式下,我在网上查阅了很多资料,然而并没有把问题解决掉,我看有篇文章说有情况下的函数 OSIntEnter 使用会带来很大开销,然后又用 ChatGPT 查了一下,初步判定函数 OSIntEnter 对程序卡死会有一定影响,屏蔽掉函数 OSIntEnter 与 函数 OSIntExit 后,测试,还是会卡死,不过正常使用的次数多了几次,接着把函数 OSSemPend 与函数 OSSemPost 也给屏蔽掉,发现串口高频收发正常了,程序也不会卡死了。学习分享,一起成长!原创 2023-06-08 18:02:15 · 1914 阅读 · 0 评论 -
STM32踩坑:while(ETH_GetSoftwareResetStatus()==SET) 死循环
这一环,在网上查了查相关资料,说的是 PHY 芯片存在虚焊,找了半天原因,发现没问题,然后把问题定位在单片机上,用示波器测试了时钟和信号,发现没有问题,最后无意中发现板子跑起来了,ping 了一下,ping 不通,复位了一下板子,程序又挂了,再次用示波器碰了碰 STM32 芯片的 ETH 时钟引脚,程序有跑起来了,最终定位 STM32 芯片 ETH 的时钟引脚虚焊,重新处理了一下,就 OK 啦。学习分享,一起成长!以上为小编的学习经验分享,若存在不当之处,请批评指正!原创 2023-05-08 16:44:03 · 1612 阅读 · 6 评论 -
STM32进阶:使用STM32驱动ST7735S(内附核心源码)
感觉很久很久没有来博客更新了,历经千难万阻,终于做出来了TFT显示屏的SPI驱动,这里分享以下核心源码,接下来一段时间开始准备考科一了,后面有时间了再来更新,有三种模式下的驱动。实验环境:正点原子 STM32F103ZET6 小型系统板实验工具:STM32F103ZET6 芯片与 ST7735S芯片(1.44寸TFT显示屏)数据交互:STM32 芯片通过 GPIO 输入输出引脚模拟软件SPI和TFT液晶显示屏进行通信、数据传输及命令背景光等控制。实验成效:见STM32F103VET6用SPI驱动ST7原创 2022-11-28 21:08:11 · 13520 阅读 · 12 评论 -
STM32入门:STM32F1系列关于TIM2-TIM7的时钟频率问题
我们能够看见STM32F1系列芯片的定时器TIM1、TIM8在APB2总线上,在未进行时钟配置的情况下,APB2总线默认时钟频率与系统时钟频率保持一致是72MHz,所以定时器TIM1与TIM8的时钟频率也是72MHz。学习分享,一起成长!以上为小编的学习经验分享,若存在不当之处,请批评指正!在APB2总线中,对于定时器TIM1有着同样的功效。原创 2022-11-15 19:38:22 · 3715 阅读 · 1 评论 -
STM32入门:STM32F401CDU6库函数工程文件搭建
学习分享,一起成长!以上为小编的总结分享,若存在不当之处,请批评指正!根据下图的结构进行复制粘贴操作,代码部分在本文末有贴出来,时延采用的 Systick 定时器,代码详解可参考文章 《文件下载(使用part1即可)原创 2022-10-24 21:41:29 · 1590 阅读 · 0 评论 -
STM32踩坑:Keil 安装好后创建项目 Loading PDSC Debug Description failed for...
Keil安装好后创建项目报错Loading PDSC Debug Description failed for…昨天重新装了一下系统原创 2021-07-25 15:20:43 · 9866 阅读 · 14 评论 -
STM32踩坑:Keil 将代码下载到开发板报错 No ST-LINK detected
Keil 将代码下载到开发板报错 No ST-Link detected重装系统后安装软件总是会遇见各种各样的错误原创 2021-07-25 14:59:28 · 5054 阅读 · 0 评论 -
STM32入门:软件 SPI 源码分享
软件 SPI 源码分享项目需求,只需要软件 SPI 的写入功能,后面有时间了再把读取功能补上。spi.h//spi.h#ifndef __SPI_H#define __SPI_H#include "sys.h"#include "delay.h"#define SPI_LE PCout(4) //SPI 片选引脚#define SPI_DATA PCout(5) //SPI 数据输出#define SPI_CLK PBout(0) //SPI 时钟信号void SPI_Ini原创 2021-05-25 16:31:00 · 586 阅读 · 0 评论 -
STM32入门:RTC学习笔记(内附主要源代码)
RTC学习笔记全文为 STM32F1 的 RTC 读写学习笔记,这与 F4 与 F7 的存在一定的差异(印象记得是这样的)。代码正在进一步完善中,完成后会贴出来。学习分享,一起成长!以上为小编的学习分享,若存在不当之处,请批评指正!...原创 2021-04-05 00:05:42 · 708 阅读 · 0 评论 -
STM32入门:STM32F103VET6通过DHT11温湿度传感器获取室内温度实验(附主要源代码)
STM32F103ZET6通过DHT11温湿度传感器获取室内温度实验实验环境:正点原子 STM32F103ZET6 小型系统板实验工具:STM32F103ZET6 芯片与 DHT11 温湿度传感器数据交互:STM32 芯片通过 GPIO 输入输出引脚获取 DHT11 温湿度传感器的数据,然后通过串口 USART1 将数据提交至 PC 端的串口调试助手。实验源码下载:stm32f103_dht11.zip实验结果:以下为部分实验源码:dht11.c#include "dht11.h"u原创 2021-03-29 18:18:34 · 4398 阅读 · 4 评论 -
STM32入门:内部FLASH读写学习笔记(内附主要源代码)
内部FLASH读写学习笔记全文为内部FLASH读写学习笔记。学习分享,一起成长!以上为小编的学习分享,若存在不当之处,请批评指正!原创 2021-03-15 18:14:04 · 552 阅读 · 1 评论 -
STM32入门:IAP学习笔记
IAP学习笔记全文为串口IAP的学习笔记。学习分享,一起成长!以上为小编的学习分享,若存在不当之处,请批评指正!原创 2021-03-09 11:06:22 · 140 阅读 · 0 评论 -
STM32入门:USART串口学习笔记
USART串口学习笔记USART 全称 Universal Synchronous/Asynchronous Receiver/Transmitter,即通用同步/异步串行接收/发送器,是一个全双工通用同步/异步串行收发模块,下图只包含异步串口配置笔记,同步串口需要加一个时钟口,目前暂时用不上,如果以后用上了再补。...原创 2021-02-19 23:14:22 · 160 阅读 · 1 评论 -
STM32踩坑:关于 USARTx_IRQHandler() 函数的调用问题
关于 USARTx_IRQHandler() 函数的调用今天小编终于解决了一个困惑已久的问题,USARTx_IRQHandler() 中断服务函数是如何被调用的,曾以为它像 HAL 库开发那样是使用的回调函数那样被调用,找了半天,没有找到,学习视频中也没有提及过这个问题,使用溯源大法(即Go To Definition Of ‘xx’ 与 Go To Reference To ‘xx’)也失灵了,使用 Ctrl + F 下的 Find in Files 也无果(是我SB了,一种用的 USART_Handl原创 2021-02-17 21:36:43 · 8238 阅读 · 7 评论 -
STM32入门:STM32F103C8T6库函数工程文件搭建
STM32F103C8T6库函数工程文件搭建完成以上操作后,将Output与Listing生成的文件置于OBJ文件夹中,然后修改以下内容即可:原创 2021-02-14 15:02:42 · 5188 阅读 · 1 评论 -
STM32入门:Systick(嘀嗒定时器)学习
STM32入门:Systick(系统嘀嗒定时器)学习一、Systick 介绍Systick 是 STM32 的一个定时器,又名系统嘀嗒定时器,Systick 的信号来源有三种:HSI(系统内部高速时钟)、PLL()、HSE(系统外部高速时钟)二、系统嘀嗒校准值固定为9000,当系统嘀嗒时钟设定为9MHz(HCLK/8的最大值),产生1ms时间 基准。三、四、...原创 2021-01-04 22:20:51 · 30871 阅读 · 26 评论 -
STM32入门:TIM定时器PWM1模式与PWM2模式的比较
STM32定时器PWM1模式与PWM2模式的比较STM32定时器的PWM存在两种模式,即PWM1模式与PWM2模式,两种模式下的PWM均存在向上计数和向下计数,但是,同一电平下,两种模式下的PWM的有效原创 2020-11-06 14:55:09 · 12156 阅读 · 9 评论 -
STM32踩坑:keil编译工程后,core_cm3.c出现4处报错
keil编译工程后,core_cm3.c出现4处报错小编又来分享踩的坑了,这次遇见的问题的是使用ST官方提供的库函数搭建工程后出现了如下报错:在反复检查了功臣搭建步骤之后发现没有出错,消除了所有警告之后,发现报错如下:于是在网上查了很多资料,感觉下面这个资料解答的很详细,点击下方链接即可访问:mdk编译器切换为v6.4后报错链接的解答内容大致如下:报错的原因是core_cm3.c和core_cm3.h文件太老导致的,没猜错的话这个文件还是2009年的版本,ST已经停止维护。解决办法:下载S原创 2020-10-24 20:07:02 · 14718 阅读 · 11 评论 -
STM32踩坑:STM32串口发送乱码问题
STM32串口发送乱码问题小编是一个嵌入式初学者,才学没多久,将近两个月的样子,在学习过程中遇到了一些问题,在这里给大家分享一下解决方案。今天要分享的问题是 STM32 串口发送字符串,但是在调试助手上面接收到的字符却是一串乱码,看着让人头疼。这是乱码的图片然后问了公司办公室的大佬,也在网上查了一下资料,总结了一下,原因大致有两点:1) 开发板上外部时钟的晶振与代码中的外部时钟的晶振不一致(这是我写的串口实验发生乱码的原因)2) 串口调试助手接收数据的波特率与串口初始化时的波特率不一致(这种原创 2020-10-16 09:36:05 · 17579 阅读 · 10 评论