-
中断作为stm32中必不可少的一个功能,其重要性是不言而喻的因此把中断学习好是根本。 所以今天就来好好啃一下中断配置的知识,俗话说:磨刀不误砍柴工。问题是什么呢?项目中我用到了一个触摸键盘TTP229,结果在测试键盘时,不能够输入密码?最终,调试出bug就是由于中断优先级的影响。 本项目使用到的是STM32F030C8型号的MCU,我们可以从官方下载到的标准库文件中的启动汇编文件中...[详细]
-
本篇文章带着大家来认识一下STM32的时钟系统,以及利用systick定时器来实现一个比较准确的延时。 我们首先从时钟说起,时钟在MCU中的作用,就好比于人类的心脏一样不可或缺。STM32的时钟相比51的单一时钟要复杂些,它有多个时钟源可以使用,那么大家可能会有所疑惑,STM32的时钟搞的那么复杂干什么,原因其实在于,STM32的外设资源比起51来说,是很丰富的,那么不同...[详细]
-
可以说就目前的市场需求来看,stm32在单片机领域已经拥有了绝对的地位,51什么的已经过时了也只能拿来打基础了,最后依然会转到stm32来,也正是因为这样stm32的学习者越来越多,其中不难发现绝大部分的stm32的学习者是在入门阶段的,所以今天我们就来聊聊stm32的入门学习路线。 先来看个图,相信会有所了解。 首先学习stm32不管是C语言还是汇编肯定跑不了的所以C语言一...[详细]
-
1、问题背景近前,使用STM32F4HAL库的SPI读取MPU6500出现异常。现象:读取ID失败,返回0,以为硬件焊接问题,各种排查,最后为了示波器测试方便,把读取ID的函数放到While(1)里,反复的读然后抓波形,奇迹出现了,第一次读取出现错误,后面的都返回了正常的ID号。既然问题已经清楚,能够反复重现,那么排查起来也就容易多了,为了找到这个问题,花费了1天的时间,搞得都毛了...[详细]
-
一、总体原则PID调试一般原则a.在输出不振荡时,增大比例增益P。b.在输出不振荡时,减小积分时间常数Ti。c.在输出不振荡时,增大微分时间常数Td。二、各环节作用[P]比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。反之,过小,更不上系统...[详细]
-
继电器在电路上是比较常见的元器件,继电器的作用也比较多,比较常用的是作为开关和放大作用。例如,有一个加热装置需要12V供电,但是还需要单片机来控制它,单片机只能输出5V的电压,这时候就要用到继电器。由于每种继电器长得都不太一样,所以这里只放原理图,如图单路继电器原理如图所示,单路继电器的本质就是一个单刀双掷开关,在触点未吸合时公共端与常闭端连接,当触点吸合时,公共端与常开端连接在一起。电...[详细]
-
源代码:#includereg52.h#includeintrins.htypedefunsignedcharu8;typedefunsignedintu16;sbitdula=P2^6;sbitwela=P2^7;sbitadcs=P3^5;...[详细]
-
一、STM32CubeMX基础外设配置1、时钟配置时钟配置使用外部晶振,芯片型号选择STM32H743IIT6时钟树配置,最高跑到400M,直接修改成400,系统会自动计算出来。2、SDRAM配置由于需要用到lcd屏幕显示,外部sdram必不可少,配置方式详见SDRAM配置3、LTDC配置驱动屏幕使用的是LTDC接口,需要配置LTDC,配置方式详见LTDC配置4、D...[详细]
-
整体思路利用simulink设计四则运算仿真模型,借助simulink的代码生成工具生成c语言代码。同时介绍STM32扩展工具的安装,使用。所需工具1、MATLAB2018b2、STM32硬件支持工具下载连接:https://www.stmcu.org.cn/document/detail/index/id-2160533、STM32CUBEMX(用于配置STM32资源)下...[详细]
-
本文使用STM32C8T6单片机进行IAP实验。所谓IAP(InApplicationProgramming,即在应用编程)就是先将一段特定功能的程序编译成BIN文件或者HEX文件,暂且将这个特定功能的程序称为APP程序。通过某种接口,如UART,将此文件发送给单片机。单片机运行另外一个程序,暂且称为IAP程序。此程序等待文件(即BIN文件或HEX文件)传来,然后将其往某一段FLASH烧写。...[详细]
-
在使用单片机的过程中,I²C总线是常用的一种通信方式,然而由于某些原因,STM32CubeMx直接初始化I²C会出现接收不到信息和各种问题,为此我们需要使用IO口来模拟I²C。I²C的简介:https://www.bilibili.com/opus/591043733946717098用STM32CubeMx初始化模拟I²C的引脚:STM32CubeMx的GPIO的配置可以参...[详细]
-
本文适合初级入门的同学,大佬请绕道。讲解怎么用stm32驱动成品LED点阵屏显示一副七色无灰度的图片,有灰度的图片可以入门后继续研究。使用软硬件:软件:Keil5,程序在后面会给出硬件:STM32F103最小系统、全彩色P4LED点阵屏(HUB75接口,16扫)说下stm32驱动LED点阵屏用途:可以自己做些东西玩,比如日期时钟、音乐频谱、一些滚动字幕;商业用途,开发控制器,结合...[详细]
-
具体实现功能(1)DS18B20实时检测环境温度,LCD1602实时显示土壤温湿度;(2)可以通过按键设置温湿度报警阈值;(3)温度未超过报警阈值时,“温度正常”指示灯亮,高于上限值时,“温度过高”指示灯亮,抽水电机2转动,表示加水;(4)湿度低于报警值时,“湿度过低”指示灯亮,抽水电机1转动,表示加水。设计介绍51单片机简介51单片是一种低功耗、高性能CMOS-8位微控制器,拥...[详细]
-
一,时钟配置1.什么是时钟?在电子学和微控制器领域,时钟信号是一种周期性变化的电子信号,用于同步系统中的操作和数据传输。时钟信号通常是方波,并具有特定的频率,频率决定了系统的运行速度。2.时钟的作用控制CPU执行指令CPU执行指令是按照一定的步骤进行的,每个指令都有一个指令周期。时钟信号将这个周期划分为若干个时钟周期(也称为T周期),一个简单的指令可能需要几个时钟周期来完成,包...[详细]
-
1.栈(Stack)功能栈主要用于支持函数调用和返回机制,在函数调用过程中,它会存储函数的局部变量、函数参数、返回地址以及寄存器的上下文信息。当一个函数被调用时,系统会在栈上为该函数分配一块连续的内存空间,用于存放这些临时数据;当函数执行完毕返回时,这块内存空间会被自动释放。分配与管理栈的内存分配和释放是由编译器自动完成的,遵循后进先出(LIFO)的原则。每当有新的函数调用发生时,栈指...[详细]