一、概述 无论是新手还是大佬,基于STM32单片机的开发,使用STM32CubeMX都是可以极大提升开发效率的,并且其界面化的开发,也大大降低了新手对STM32单片机的开发门槛。 本文主要面向初次接触STM32CubeMX的同学,大佬们可以跳过直接看单独的外设篇章。二、软件说明 STM32CubeMX是ST官方出的一款针对ST的MCU/MPU跨平台的图形化工具,支持在Linux、MacOS、Window系统下开发,其对接的底层接口是HAL库,另外习惯于寄存器开发的同学们,也可以使用LL库。STM32CubeMX除了集成MCU/MPU的硬件抽象层,另外还集成了像RTOS,文件系
矩阵键盘的选择我这里使用的是某宝一块四包邮的4*4矩阵键盘,感觉对大部分简单工程的实现绰绰有余Cubemx工程的配置新建工程,配置RCC,SYS,时钟树等基础功能一般设置为最大速率,之后点击OK可以实现一键配置,时钟源这里选择的是高速外部时钟源(HSE)引脚配置随便找几个引脚根据自己单片机的引脚数量和操作的方便性配置矩阵键盘的引脚一般为四个输入,四个输出,输入模式设为上拉输入代码生成设置工程名、文件路径(切记不要出现中文路径,笔者帮你们试过了,代码会被吞);IDE选择MDK-ARM,此时系统会在keil中生成代码点击生成代码,打开工程Keil的配置在main.c文件中加入矩阵键盘扫描函数如下,
一、软件硬件说明软件:STM32CubeMXV6.6.1/KEIL5V5.29硬件:正点原子mini开发板,SD卡,通过SPI方式驱动SD卡,用的是SPI1接口以上内容来源于正点原子mini开发板手册,SD卡的详细介绍也可以去查阅这个手册。二、STM32CubeMX配置RCC配置SYS配置USART1配置,用于输出调试信息,参数默认SPI1配置,具体参数如下FATFS配置,参数如下时钟配置工程配置,默认的堆栈改大一点生成工程,点击GENERATECODE,生成代码三、代码介绍串口重映射,printf,方便输出调试信息usart.c/*USERCODEBEGINHeader*//********
一、STM32CubeMx实现数码管1、双击打开STM32CubeMX。2、点击File选项,在File列表下选择NewProject选项新建工程。3、在图中所示位置的方框中输入我们使用的芯片型号来搜索芯片4、与我们的搜索相关的芯片型号会在这里呈现,我们只需要选择我们需要的即可,这里我们双击第一个STM32F103C8T6即可完成芯片选型。5、完成芯片选型之后我们会来到这个界面:6、下一步我们先来配置程序下载方式:选中SystemCore清单下的SYS选项。在右侧弹出的窗口中有Debug选项,单击Debug选项右侧的小箭头,在下拉列表中选择SerialWire选项。这一步是配置使用ST-LIN
STM32F103采用DMA方式多路ADC采样文章目录STM32F103采用DMA方式多路ADC采样前言一、头文件adc.h二、初始化配置1.ADCGPIO配置2.开启ADC和DMA时钟3.多路ADCDMA采样配置三、软件滤波四、主函数调用1.初始化函数配置2.main函数调用总结前言stm32采用DMA方式进行ADC采样可以高效的进行数据采集,不用cpu实时参与,以节省单片机资源,让单片机可以在同一时间里干更多事,STM32F103ADC为12位ADC的,是一种逐次逼近型模拟数字转换器,它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行
一、stm32cubeide配置1、DMA串口接收数据的ide配置如下图所示 串口1相关的设置及printf函数的使用,这里没放,建议先实现串口打印功能可以参考:使用STM32CUBEIDE配置STM32F7用DMA传输多通道ADC数据_stm32cubeide配置adc_一只小白啊的博客-CSDN博客2、相关的知识点 普通模式和循环模式的区别在于,普通模式下,DMA只会接收一次数据,接收完成后就会停止,需要接收时再开启;而循环模式下,DMA会一直接收数据,直到接收缓存区满或者手动停止。 根据自己需求定模式,如果是数据有间隔,空闲中断的这种情况下,处理一帧
前言人生如逆旅,我亦是行人。————苏轼《临江仙·送钱穆父》目录:L298N电机驱动介绍编码器介绍电机介绍新建工程编写代码实验结果一、L298N电机驱动介绍B站-视频讲解:l298n电机驱动模块电机正反转电机调速L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有
前言人生如逆旅,我亦是行人。————苏轼《临江仙·送钱穆父》目录:L298N电机驱动介绍编码器介绍电机介绍新建工程编写代码实验结果一、L298N电机驱动介绍B站-视频讲解:l298n电机驱动模块电机正反转电机调速L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有
一、ADC框图ADC输入电源2.输入通道这16个通道对应着不同的IO口,此外ADC1的通道16连接到了芯片内部的温度传感器,通道17连接到了VRefInt(内部参照电压)。3.规则通道与注入通道a)规则通道组:i)相当正常运行的程序。最多16个通道。规则通道和它的转换顺序在ADC_SQRx寄存器中选择,规则组转换的总数应写入ADC_SQR1寄存器的L[3:0]中。ii)规则通道中的转换顺序由三个寄存器控制:SQR1、SQR2、SQR3,它们都是32位寄存器。SQR寄存器控制着转换通道的数目和转换顺序,只要在对应的寄存器位SQx中写入相应的通道,这个通道就是第x个转换。b)注入通道组:i)相当于
SPI通信协议SPI简介SPI是一种高速的、全双工、同步的串行通信总线,并且在芯片管脚上只占4个引脚:MOSI:主输出从输入;(MasterOutput,SlaveInput)MISO:主输入从输出;(MasterInput,SlaveOutput)SCK:时钟线(SerialClock)CS:片选信号(SlaveSelect)SPI可通过4根线实现全双工通信:SPI也可通过3根线实现半双工通信:SPI通信原理SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,通过CPHA(时钟相位)、CPOL(时钟极性)来控制设备的通信模式。时钟极性CPOL是用来配