-
最近做了一个项目,涉及到了串口,本来以为像串口这种经常使用的通讯方式,开发起来应该是很简单的,不说易如反掌,至少也不应该在一个问题上卡壳太久。说到底还是自己经验不足,还得多多学习才是!该项目是使用CubeMX生成的初始化代码,在配置串口的时候我格外小心,该配置的都配置了,但是生成代码后烧到单片机中,却发现串口接收数据出现问题,只能接收到一次数据,后面无论如何都接收不到了。但是我已经在串口初...[详细]
-
MDK和交叉编译工具编译时都会指定程序的下载的地址(其实就是告诉程序它将在那个地址上开始执行),这有什么意义吗?其实这么设计有原因的,因为这里涉及到全局变量和全局函数指针的地址问题,假如当你在编译时指定编译器这段程序会在0x0c000000地址上运行,按缺省链接方式(即未使用自己的链接脚本或分散加载文件)全局变量和函数的地址分配就会从0x0c000000基地址上开始,此时如果你把这段程序烧...[详细]
-
STM8S编译错误unabletoallocatespaceforsections/blockswithatotal#欢迎使用Markdown编辑器笔者用IARforSTM8开发碰到很多奇怪的问题,都是因为优化等级引起的首先看这个用dubug编译错误提示:unabletoallocatespaceforsections/blockswithatot...[详细]
-
cortex-m3支持256个中端,其中包含了16个内核中断,240个外部中断。STM32只有84个中断,包括16个内核中断和68个可屏蔽中断。stm32f103上只有60个中断,f107上才有68个中断。中断是STM32很基础的一个功能,学会使用中断,才可以更好的使用其他的外设。理解STM32的中断,必须要先从STM32的中断优先级分组是怎么回事。要理解优先级分组,就要先理解什么是先占优...[详细]
-
STM32的3种低功耗模式:睡眠模式:内核停止,外设如NVIC,系统时钟Systick仍运行。停止模式:所有时钟都已停止;1.8V内核电源工作;PLL,HIS和HSERC振荡器功能禁止;寄存器和SRAM内容保留。待机模式:1.8V内核电源关闭;只有备份寄存器和待机电路维持供电;寄存器和SRAM内容全部丢失;实现最低功耗。STM32的3种低功耗唤醒方式:STM32待机模式:在待...[详细]
-
stm32f103c8t6单片机是高校学生使用的最频繁的单片机了,被广泛的应用在课程设计,电子设计大赛,毕业设计中。其拥有非常优异的性能,同时价格低廉,参考资料多,是广大学生非ban必选的mcu。单片微型计算机简称单片机,简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序存储)、输入输出设备(串口、并口等)和中断系统处于同一芯片的器件,在我们自己的个人电脑中,CPU、R...[详细]
-
源代码:#includereg52.hvoidDelay1ms(unsignedintcount){ unsignedinti,j; for(i=0;icount;i++) for(j=0;j120;j++);}voidmain(void){ unsignedcharLEDIndex=0; bitLEDDirection=1; wh...[详细]
-
源代码:#include"reg52.h"#include"intrins.h"typedefunsignedcharu8;typedefunsignedintu16;u8codetable={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,...[详细]
-
使用stm32CubeIDE优化等级的坑是踩了又踩,建议就是优化等级最低。牺牲点大小与速度可以避免很多奇奇怪怪的问题。优化等级可能出现的问题:问题1:打断点调试时该行被优化无法暂停直接跳过。(这个算正常没有逻辑错误)问题2:true为大于0真值if(true){语句一;}else{语句二;}程序运行到if处,语句一、二都不执行。问题3:true为大于0真值if(...[详细]
-
功能简介:1.基于C51单片机作为控制器2.LCD1602作为系统的显示器3.NB通信模块采用SIM7020C4.HC-SR04超声波模块实现水箱水位的检测5.利用继电器可控制水阀的关断与闭合6.电源采用dc002直接输入5V供电PCB:代码:#includemain.h/*******************变量定义*********************/...[详细]
-
参考自AN4539的多相buck,可以在F3的固件包中找到例程代码由于缺少独立的倍频器,H7最高仅支持主频频率的HRTIM,对于H750而言是480M一、时钟配置首先在RCC中将HSE选好,并调整H7的版本,Y版最高400M,V版最高480MY版可以将PowerRegulatorVoltageScale调整至0,V版只能调整至1接下来先把HRTIM勾选上,我这里需要4路P...[详细]
-
套件概述本文档的目标是提供关于使用STM32CubeMX驱动低压步进电机驱动器STSPIN220的详尽信息和操作指南。通过本文档,将深入了解如何利用STM32CubeMX来配置电机驱动器,以及如何实现对步进电机的精确控制和运动。最近在弄ST的课程,需要样片的可以加群申请:615061293。样品申请https://www.wjx.top/vm/PpC1kRR.aspx视频教学...[详细]
-
概述在使用STM32CUBEIDE开发STM32H5项目时,串口打印被证明是一项极其有益的调试工具,能够在开发过程中实时输出信息和调试数据,起到了至关重要的作用。通过充分利用串口打印功能,开发者可以轻松地在代码中插入打印语句,通过串口将这些信息传输至连接于PC端的终端软件,从而方便地监测程序的状态以及各变量的实时值。在项目中,我们可以将标准C库中的"printf"函数输出...[详细]
-
单片机指纹识别系统的设计与实现详解摘要随着社会的发展和科技的进步,传统的安全防盗系统面临极大的挑战,特别是生物识别技术的蓬勃发展,让人们对于安防系统的设计有了新的灵感,指纹识别系统为此应运而生。针对如何实现指纹识别技术的实际应用这一问题,课题研究并设计基于单片机指纹识别系统。系统以单片机STC89C52为控制核心,应用指纹传感器原理设计按键模块,实现指纹识别系统进行确认、退出等...[详细]
-
光耦(Optocoupler)作为电气隔离的核心器件,其内部结构由发光二极管(LED)和光敏三极管组成,通过光信号实现输入与输出的电隔离。光耦核心特性:电气隔离能力:输入/输出端可承受2500V以上交流电压(如TLP521系列),有效阻断共模干扰信号传输方向:单向传输特性,避免信号回流导致的逻辑混乱典型参数指标:CTR(电流传输比):50%~600%(TLP521为例),决定...[详细]