-
1.内存映射MCU将资源映射到一段固定的4GB可寻址内存上,如下图所示。内存映射将内存分为几块区域,每一块区域都有一个定义的内存类型,一些区域还有一些附加的内存类型。内存类型有以下几种:Normal处理器可以为了性能而对访问该区域的任务进行重排序。Device处理器保证访问该内存的任务与其他访问Device或者Stronly-ordered内存的任务相对顺序不变。Str...[详细]
-
相较于51单片机,stm32的时钟系统可以说是非常复杂了,我们现在看下面的一张图:上图说明了时钟的走向,是从左至右的从时钟源一步步的分配给外设时钟。需要注意的是,上图左侧一共有四个时钟源,从上到下依次是:高速内部时钟(HSI):以内部RC振荡器产生,频率为8Mhz,但相较于外部时钟不稳定。高速内部时钟(HSE):以外部晶振作为时钟源,晶振频率可取范围为4~16Mhz,一般采用8Mhz的...[详细]
-
VSCode的强大不用多说了,直接上教程:一.到官网下载安装VSCode二.安装完成后,打开VSCode,安装PlatformIOIDE插件三.安装完重启VSCode,VSCode会继续安装PlatformIOIDE的依赖项,如果提示一直在安装,可以尝试用VPN瞧瞧,是不是被墙了不知道,我用VPN很快环境就安装好了四.新建工程STM32F103C8为例,使用...[详细]
-
在项目中新建一个文件夹,并在文件夹中新建了.h文件。编译出现了如下错误。原因是,没有将新建文件夹包含到编译路径中。项目右键--properties----C/C++General------PathsandSymbols--------Includes----------Add------------WorkSpaces--------------选择自己在项目...[详细]
-
前言最近几年四轴飞行器的市场慢慢火起来了,大家也都或多或少地从各个方面接触到了四轴,在市场上,大家了解最多的估计就是以四轴飞行器为载体的航拍应用了。本系列的主要目的就是提供一个四轴飞行器基本方案设计,使用的是Gigadevice(兆易创新)公司的MCU:GD32F103VCT6这颗芯片,GD32系列MCU的高性能处理能力提高了代码执行效率,从而使算法的控制更快速有效,加上明显的...[详细]
-
1、STM32图像接收接口使用stm32芯片,128kBRAM,512kBRom,资源有限,接摄像头采集图像,这种情况下,内存利用制约程序设计。STM32使用DCMI接口读取摄像头,协议如下。行同步信号指示了一行数据完成,场同步信号指示了一帧图像传输完成。所以出现了两种典型的数据接收方式,按照行信号一行一行处理,按照场信号一次接收一副图像。2、按行读取以网络上流行的野火的dem...[详细]
-
1.什么是波特率不管是什么单片机,在使用串口通信的时候,有一个非常重要的参数:波特率。什么是波特率:波特率就是每秒传送的字节数。双方在传输数据的过程中,波特率一致,这是通讯成功的基本保障。2.STM32波特率相关的寄存器STM32单片机设置波特率的寄存器只有一个:USART_BRR寄存器,如下图所示。该寄存器的有效位数为16位,前4位用于存放小数部分,后12位用于存放整数部分...[详细]
-
该系统采用STM32单片机,采集温湿度数据,并将温湿度数据通过GPRS模块上传到中国移动物联网云平台OneNet,进行数据的展示,并且可以通过在云平台操作下发指令,通过GPRS模块进行数据的传输,进而控制电路板上的继电器,从而实现远程控制的功能。采集数据不仅仅局限于温湿度实现的功能:远程开关控制;远程温湿度数据采集数据通过物联网云平台OneNet进行展示;手机APP查看数据效果:...[详细]
-
开启两个定时器给FPGA使用要求是一、定时器可以在任何时刻关闭,就算计数不满也要停二、定时器在再次开启时可以从0计数三、定时器可以在启动过程中停止,然后更改定时周期再开始从0计数主要的几个函数//tim_num=0对应定时器2,tim_num=1对应定时器3;tim_us:定时器uS数voidstm32_timer_start(uint16_ttim_num,uint1...[详细]
-
这里必须阐明系统时钟的简历对于系统运行的重要性。系统所有的运行都是建立在时钟的正常运行上的,没有稳健的系统时钟,就不可能有稳定的系统。在系统中,复位后首要的任务是建立系统时钟,以下是建立系统时钟的基本步骤:1.将所有的RCC外设寄存器重设为默认值;2.启用外部高速晶振;3.等待,知道外部高速晶振稳定;4.设置欲取指缓存使能和代码延时值;5.设置AHB(HCLK)等于系统时钟;...[详细]
-
一、项目概述1.1引言在我们现在的日常生活中,计算机已经很普及了,在很多家庭里电脑已经像电视机一样成为了一项必备的电器设备,但是要想操作电脑,即使是只做一些短暂的处理,也得坐到电脑前才能完成,有时很不方便,这就使得远程操作电脑成为了一个很重要的技术。同时随着智能终端设备的广泛普及,智能设备的性能随着技术的提高越来越好,现在已经完全具有完成远程操作电脑的能力。所以,基于智能设备的远程控...[详细]
-
中断技术概述中断系统作用:单片机能够及时地响应和处理单片机外部事件或内部事件所提出的中断请求。CPU正在执行程序时,单片机外部或内部突然紧急要去先处理某一事件,请求CPU现在马上去处理。CPU就会暂时放下手头上的工作,转到中断服务处理程序处理那件突然紧急的事情。处理完该事件后,再回到停止时的那个状态接着做原来的工作,这称为中断。CPU处理事件的过程,称为CPU的中断响应过程。中断系统就...[详细]
-
具体实现功能(1)使用2个LED灯模拟路灯,设定节能时间段为晚上00:00到早上6:00,路灯只亮一个。若声音传感器检测到有声响或人体红外感应传感器检测到外界有行人或汽车经过,则另一个灯也开启,延迟10s后重新变为一亮一灭的状态;(2)可以设置路灯开启时间段。如设置19:00-20:00,在此时段中,2个LED灯一直亮。其他除节能模式之外的时间段,则需根据光强和声响或人体红外感应来打开路灯...[详细]
-
在单片机的循环语句中,while语句可以说是最常用的。主要有三种用法:1是作为循环体用,例如while(1){....}这就是个死循环,这种循环一般是出不来的,想跳出循环的话可以用break;break语句可以跳出离他最近的一个循环体。while(1)里面的数字1代表真,在C语言中,0是假,非零为真。因为大家都用习惯了1,所以也就逐渐形成了while(1)这种写法,理论上while()里面的数...[详细]
-
基于STM32芯片的工程代码里有个很重要的文件,即启动文件。该文件主要由汇编语言写成,文件名冠以.s结尾,它是芯片程序运行首先要执行的一个文件。其功能及作用简单点说就是做执行用户程序前的基本准备,比方执行复位程序初始化栈、堆,做时钟系统的默认配置、中断矢量表的定义与分配等。网络上有些文章对该文件做了不错的整体性介绍,这里仅就该文件中的几个小问题一起交流分享下。【注:下面用到的工程是基于S...[详细]