-
此次红外循迹是我在做毕设过程无意中实现的,所有有些地方不够精确完美,还请各位友友们多多指点校正。这篇博客也是小弟第一篇博客,小弟不才,文笔不怎么行,可能有些语句不太通顺的地方,只能让各位将就一下了。那么接下来就进入正题吧。一、硬件选择①首先我们需要一个单片机开发板,在这里我使用的是STM32F103RCT6型号的单片机,这个大家也可以自己买其他的类型;②然后就是电机和电机驱动模块,市面上...[详细]
-
1.几个名词ABI:可执行文件必须遵守的规范,以在特定执行环境中运行;单独产生的可重定址的文件必须遵守的规范,以用来链接和执行。EABI:适用于嵌入式环境的ABIPCS:程序调用规范(ProcedureCallStandard)AAPCS:PCSforARMArchitectureAAPCS定义了单独编译、单独汇编的程序是如何一起工作的。Ro...[详细]
-
众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。 其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。 内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上...[详细]
-
最近做了一个项目,涉及到了串口,本来以为像串口这种经常使用的通讯方式,开发起来应该是很简单的,不说易如反掌,至少也不应该在一个问题上卡壳太久。说到底还是自己经验不足,还得多多学习才是!该项目是使用CubeMX生成的初始化代码,在配置串口的时候我格外小心,该配置的都配置了,但是生成代码后烧到单片机中,却发现串口接收数据出现问题,只能接收到一次数据,后面无论如何都接收不到了。但是我已经在串口初...[详细]
-
STM8S编译错误unabletoallocatespaceforsections/blockswithatotal#欢迎使用Markdown编辑器笔者用IARforSTM8开发碰到很多奇怪的问题,都是因为优化等级引起的首先看这个用dubug编译错误提示:unabletoallocatespaceforsections/blockswithatot...[详细]
-
说到STM32USB的UDF,其实就是我们常说的IAP(InApplicationProgramming)在应用编程。IAP有很多方法,我之前就用过串口IAP,网络IAP。而这里我们使用的是USBIAP,就是通过USB更新代码。所以这里有必要线了解IAP。IAP是InApplicationProgramming的首字母缩写,IAP是用户自己的程序在运行过程中对UserFlas...[详细]
-
只测试了待机模式,待机模式实现系统的最低功耗。原理图如下,一开始全部焊接了,其中S2用来进入待机,S1用来唤醒测试程序为:#include“stm32f10x.h”#include“system_stm32f10x.h”voidSys_Standby(void){RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);//使能PWR外设时钟...[详细]
-
比如要是使用GPC3作为中断源,上升沿触发外部中断必须配置好EXTI和NVIC使用以下函数打开SYSCFG的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE)GPIO设置如下voidGPIO_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;/*GP...[详细]
-
STM32的3种低功耗模式:睡眠模式:内核停止,外设如NVIC,系统时钟Systick仍运行。停止模式:所有时钟都已停止;1.8V内核电源工作;PLL,HIS和HSERC振荡器功能禁止;寄存器和SRAM内容保留。待机模式:1.8V内核电源关闭;只有备份寄存器和待机电路维持供电;寄存器和SRAM内容全部丢失;实现最低功耗。STM32的3种低功耗唤醒方式:STM32待机模式:在待...[详细]
-
一、NVIC概述NVIC(NestedVectorInterruptController),就是嵌套向量中断控制器。然后我们试着把这个名字拆成词语来解释,这样就很明了啦。我们都知道(也许你没有计算机组成原理的学习背景,那这里的“都”字就打点水份儿吧)中断(或异常)是突发的状况(系统错误或外设输入响应等)造成CPU中断当前程序,转而执行一段“中断服务程序,ISR”以解...[详细]
-
工程搭建:1.工程创建:使用STM32官方工具STM32CubeMx生成基于STM32F105RC的工程,工程中初步配置资源。a)RCC外部晶振8M,系统tick采用TIM7.b)设置时钟配置最高72M。c)启动看门狗。d)启动SW调试口。e)FreeRTOS,并创建3个任务,二值信号量,计数信号量,互斥信号量,消息队列。RT...[详细]
-
提到I2C协议,搞嵌入式的朋友肯定不陌生,它是一种半双工的串行同步通信协议。通信速率通常分为标准模式(100Kbit/S)和快速模式(400Kbits/S)。笔者在学习51单片机操作AT24C02这个EEPROM的时候第一次接触到I2C协议,因为传统的89C51并不带有I2C控制器,因此只能使用IO模拟的方式来驱动I2C器件。笔者后来学习STM32的时候,因老师说STM32F1的硬件I2C...[详细]
-
具体实现功能(1)实时检测温湿度值,LCD12864分别显示温度值、湿度值、温度上下限值、湿度上下限值;(2)通过按键可以设定温湿度报警阈值;(3)当温度值过高且湿度值过低时,相应的指示灯亮,蜂鸣器响,继电器控制风扇转动,表示降温;(4)当温度值过低且湿度值过高时,相应的指示灯亮,蜂鸣器响,继电器控制加热膜工作,表示升温。(5)温度测量范围0-99,湿度测量范围0-99,误差±1。...[详细]
-
相关信息芯片:STM32F103C6开发环境:Keil5仿真环境:Proteus8.9仿真视频https://www.bilibili.com/video/BV1qK4y1h7EM/Proteus仿真图源代码main.c#includestm32f10x.h#include"led.h"intmain(){ led_init(...[详细]
-
参考自AN4539的多相buck,可以在F3的固件包中找到例程代码由于缺少独立的倍频器,H7最高仅支持主频频率的HRTIM,对于H750而言是480M一、时钟配置首先在RCC中将HSE选好,并调整H7的版本,Y版最高400M,V版最高480MY版可以将PowerRegulatorVoltageScale调整至0,V版只能调整至1接下来先把HRTIM勾选上,我这里需要4路P...[详细]