-
众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。 其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。 内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上...[详细]
-
众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。 其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。 内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上...[详细]
-
一、基本定时器介绍在STM32中,基本定时器有TIM6、TIM7等。基本定时器主要包含时基单元,提供16位的计数,能计数0~65535。基本定时器除了计数功能以外,还能输出给DAC模块一个TRGO信号。基本定时器框图如下:二、时基单元介绍STM32的所有定时器都具备时基单元,时基单元的功能就是简单的计数,即计数时钟源TMxCLK的脉冲个数,这个时钟源来至APB1总线。高...[详细]
-
一、工作原理输入捕获是STM32单片机定时器的一项重要的功能,应用很广泛,常用于测量脉冲宽度,周期等。超声波模块测距的原理是:单片机给超声波模块(我用到的超声波模块型号是HC-SR04,下面简称HC-SR04)发送一个大于10us的高电平,触发HC-SR04发出8个40kHz的方波,并自动检测是否有信号返回,如果有信号返回,就会通过Echo对单片机输出一个高电平,高电平的持续时间就是超声波从...[详细]
-
一、IAP是什么IAP即为InApplicationProgramming,解释为在应用中编程,用户自己的程序在运行过程中对UserFlash的部分区域进行烧写。即是一种对单片机flash擦写的一种编程方案。通常情况下,一片stm32单片机的flash只有一个用户程序,而IAP编程则是将单片机的flash分成至少两大区域,一部分叫做bootloader区,一部分叫做app用户代码区,还...[详细]
-
Keil5更新之后,开始支持ARMV6编译器,新版本的编译器对C++有了更多的支持,在编译方面也做了很多的改善,具体的没有详细了解,本文只是对STM32开发下,使用V6版本的编译器进行STM32的C++开发作一个记录,方便和大家交流和参考。至于说为什么STM32要C++开发,这个没有解释,只是个人觉得C++比C有更多的方便,使得编程更加的容易,C++有更多的生态.... 开始上教程:...[详细]
-
/*此代码在51单片机上验证通过,51为8位单片机,char占1个字节,long占四个字节*/intmain(void){unsignedlongiii;unsignedchartemp={0xEC,0xEF,0x45,0x12};//把四个unsignedchar拼成一个unsignedlong.iii=*(unsigne...[详细]
-
USB速度慢的原因有以下几种可能:1、协议问题全速的USB设备,最大速度12Mb/s,但是如果跑的是HID之类慢速设备的协议,那么速度就没有那么快了,理论上只有1.5Mb/s。2、配置问题USB配置描述符中有关于接收中断和发送中断时间间隔参数,默认的好像是0x20,就是32ms,可以将此值改为0x01。速度会快很多。3、其它的干扰例如系统滴答的中断优先级比USB高,如果系统滴答的中断...[详细]
-
STM32的定时器是个强大的模块,定时器使用的频率也是很高的,定时器可以做一些基本的定时,还可以做PWM输出或者输入捕获功能。时钟源问题:名为TIMx的有八个,其中TIM1和TIM8挂在APB2总线上,而TIM2-TIM7则挂在APB1总线上。其中TIM1&TIM8称为高级控制定时器(advancedcontroltimer)。他们所在的APB2总线也比APB1总线要好。APB2可以...[详细]
-
具体实现功能(1)使用2个LED灯模拟路灯,设定节能时间段为晚上00:00到早上6:00,路灯只亮一个。若声音传感器检测到有声响或人体红外感应传感器检测到外界有行人或汽车经过,则另一个灯也开启,延迟10s后重新变为一亮一灭的状态;(2)可以设置路灯开启时间段。如设置19:00-20:00,在此时段中,2个LED灯一直亮。其他除节能模式之外的时间段,则需根据光强和声响或人体红外感应来打开路灯...[详细]
-
源代码:#includereg52.htypedefunsignedcharu8;typedefunsignedintu16;sbitlcden=P3^4;sbitlcdrs=P3^5;u8codeline1="good";u8codeline2=...[详细]
-
源代码:#includereg51.h#includeintrins.hsbitMax7221CS=P3^1;sbitMax7221DIN=P3^0;sbitMax7221CLK=P3^2;unsignedcharcodeDisplayBuffer={0,1,2,3,4,5,6,7};voidWriteMax7221(unsignedch...[详细]
-
网上关于DAC8560相关的模拟SPI驱动的资料少的可怜,甚至连DAC8560的中文资料都不多,更不要提用HAL库进行编程的了,这实在是一块冷门芯片,本文主要是介绍讲解STM32HAL库使用模拟SPI驱动DAC8560。首先是SPI相关的简介:SPI通信高冠避役·800阅读然后是用STM32CubeMx初始化模拟SPI的引脚:STM32CubeMx的GPIO输出的配置可...[详细]
-
套件概述STM32C011F4Px_STSPIN220是一款基于STM32C011F4Px的低压步进电机驱动套件。其中,STSPIN220是一款步进电机驱动器,在一个小型VFQFPN3x3x1.0mm封装中集成了控制逻辑和低RDS(开启)功率级。该套件提供一整套保护功能,包括过电流、过热和短路保护,并且可以强制进入零消耗状态,从而显著延长电池寿命。最近在弄ST的课程...[详细]
-
GPIO详解一、GPIO基本概念GPIO(通用输入输出)是微控制器与外部设备交互的核心接口,具有以下特性:可编程控制输入/输出模式支持数字信号的读取与输出集成多种保护机制复用功能支持片上外设连接二、GPIO位结构解析2.1保护二极管机制功能:钳制输入电压在安全范围(0-3.3V)工作状态:输入电压范围导通情况保护机制...[详细]