2018年电赛A题软件部分STM32FFT时域到频域STM32cubeMXHALA题:电流信号检测装置软件部分(STM32cubeMX+HAL)题目要求:任意波信号发生器输出非正弦信号时,基波频率范围为50Hz~200Hz,测量电流信号基波频率,频率测量精度优于1%;测量基波及各次谐波分量的幅度(振幅值),电流谐波测量频率不超过1kHz,测量精度优于5%。实现方式:利用STM32单片机内置ADC对待测信号进行采集,ADC采用DMA传输,用定时器控制ADC采样频率,然后用ST官方提供的DSP库进行运算,运算完之后对频谱进行分析。理论基础对于初学者来说,不了解FFT算法是很正常的,但是ST官方提供
CubeMX配置STM32驱动MPU6050(包含DMP)并且在0.96寸OLED上显示一、使用CubeMX进行相关配置1、配置OLED的IIC接口OLED的具体使用方法我就不细说了,我前面的文章里面有讲OLED的,如果有需要可以去看看。2、配置MPU6050的接口我用MPU6050使用的是软件IIC(其实是只找到软件IIC的驱动),所以我们只需要配置两个GPIO口就可以实现对MPU6050的控制了。这里我使用的是PB8、9,这里特别注意的是在UserLabel那儿需要将两个引脚分别设置为MPU6050_SCL和MPU6050_SDA,因为这里涉及到驱动函数里面的宏定义,这样设置之后方便以后驱
文章目录实验环境一、DMA的基本介绍(1)DMA的定义(2)DMA传输方式(3)DMA传输参数(4)DMA主要特征(5)DMA工作系统框图二、串口DMA通信程序设计三、使用KEIL5完成简单DMA数据发送4.总结实验环境软件:STM32CubeMXKEIL5mcuisp串口通信助手硬件:STM32F103C8Tx杜邦线,面包板,USB转TTL一、DMA的基本介绍(1)DMA的定义DMA,全称DirectMemoryAccess,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。我们知道系统的运作核心是CPU,CPU
文章目录一、软件介绍和下载安装1.1STM32CubeMX介绍1.2Proteus介绍二、创建第一个项目2.1STM32CubeMX生成代码2.2keil5生成可执行文件2.3Proteus搭建简单电路三、按键开发四、中断和定时器开发 博主最近进行单片机的仿真,本篇文章主要利用了STM32CubeMX、Keil和Proteus三个软件,为后期的硬件打下基础。文章主要目的是学习软件的使用和单片机的仿真。 本文是我在学习proteus软件和STM32CubeMX过程当中的心得和学习笔记,在学习时已经有C,C++的基础。文章附上了学习的代码,仅供大家参考。如果有问题,有错误欢迎大家留言。 此外
项目场景:提示:这里简述项目相关背景:野火的STM32F407核心板与我自制的驱动板连接,分别输出方向信号(DIR)、使能信号(EN)、时钟信号(CLK)、细分数(M1,M2,M3)共6个GPIO口。驱动板的光耦隔离是上拉电阻接+5V,输入要求高电平不低于4.5V。这里所有的IO口都设置为开漏输出。问题描述提示:这里描述项目中遇到的问题:由于其中一个端口电平只能输出到3.3V,导致电机无法被驱动,但其余端口都能够输出符合要求的高电平,且在下载烧录程序时显示“SWD/JTAGcommunicationfailure”。原因分析:提示:这里填写问题的分析:SWD/JATG端口问题。解决方案:提示:
如题,在很多时候,我们KEIL下进行程序开发,编绎完成后会下载到单片机中执行程序,看看运行结果。有时候却发现程序下载后单片机不自动运行,需要断电重启才会运行的问题。经过从网络上多方查找,最后找到解决方案。原因如下:首先:我们看一下程序下载的配置,这个网上很多资料都有讲,网上很多都有讲到的是如上图所示,勾选1指示的resetandrun。但是有很多人会碰到这样的问题,明明勾选了此处,可以程序下载后还是不会自动运行。这里KEIL有一个小问题,特别是新版版的keil,有新建工程时,默认DEBUG配置和下载配置里,除了上面的选择,还有一个Pack的界面,在这里工程默认选择pack文件如下图所示我们可以
文章目录1.准备工作1.1.硬件准备1.2.8080总线1.3.TFT_LCD1.4.FSMC2.创建工程2.1.选择主控2.2.系统配置2.3.配置工程目录3.FSMC驱动LCD3.1.FSMC配置3.2.添加驱动3.3.测试程序4.软件模拟8080并口驱动LCD4.1.引脚配置4.2.添加驱动4.3.测试程序5.补充说明====>>>文章汇总(有代码汇总)1.准备工作1.1.硬件准备本章节会采用两种不同的方式驱动LCD屏。第一种:FSMC接口所用开发板:普中-准瑞-Z100STM32F103开发板,主控STM32F103ZET6。第二种:软件模拟8080通信协议所用开发板:正点原子Mini
前言在学习STM32的过程中,刚好学到了LCD屏,我使用的是STM32F103ZET6,屏幕是正点原子的。但是在我自己新建工程点亮显示LCD屏时遇到了很多问题。解决之后分享在此,希望能帮助到遇到此困惑的朋友。想要快速驱动LCD屏请直接跳转到CubeMX配置FSMC简单介绍FSMC全名叫可变静态存储控制器(FlexibleStaticMemoryController,FSMC)是单片机的一种接口,它能够连接同步或异步存储器、16位PC存储卡和LCD模块。FSMC连接的所有外部存储器共享地址、数据和控制信号,但有各自的片选信号,所以,FSMC一次只能访问一个外部器件。FSMC接口用于驱动外部存储器
为了准备电赛和深入学习嵌入式编程为后面研究FOC电机驱动做准备,入手了一块TI的MSP432P4开发板,在这里开一个系列博文来记录学习过程方便复习: 首先是在keil里创建新工程项目,因为之前的项目用的都是keil开发平台,所以这次准备创建一个空工程以备使用,折腾了两天晚上才创建出来,遇到了一个很脑残的问题(后面会说) 第一步先下载官方的关于MSP432的驱动库(simplelink),在官网可以轻松搜到,我就不放链接了。解压后长这样: 第二步是创建自己的工程文件夹如图,像我这里创建的是MSP432_EMPTY,里面包含了hardware、
1.HAL_GPIO_WritePin函数介绍HAL库中提供一个操作GPIO电平的函数:HAL_GPIO_WritePin函数voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin,GPIO_PinStatePinState函数名HAL_GPIO_WritePin函数作用使得对应的引脚输出高电平或者低电平返回值Void参数1:GPIOx对应GPIO总线,其中x可以是A…I。例如PH10,则输入GPIOH参数2:GPIO_Pin对应引脚数。可以是0-15。例如PH10,则输入GPIO_PIN_10参数3:PinStateGPIO_PIN