Ⅰ、写在前面相信很多人都知道STM32CubeMX这个工具,也是近年来开发STM32比较流行的一个工具。这个工具从两年前第一版到现在已经有多个版本了,功能也从简单越来越强大了。STM32CubeMX是一个配置STM32代码的工具,它把很多东西封装的比较好,硬件抽象层、中间层、示例代码等。 现在ST公司主要升级和维护的库主要就是“Cube库”和“标准外设库”,使用这两种库开发各有各的好处,
转载
2024-06-28 11:00:10
241阅读
1.ADC介绍STM32f103系列有3个ADC,精度为12位,每个ADC最多有16个外部通道。其中ADC1和ADC2都有16个外部通道,ADC3一般有8个外部通道,各通道的A/D转换可以单次、连续、扫描或间断执行,ADC转换的结果可以左对齐或右对齐储存在16位数据寄存器中。ADC的输入时钟不得超过14MHz,其时钟频率由PCLK2分频产生。ADC功能框图:把整体框图分成若干个部分,
转载
2024-02-12 21:31:44
1016阅读
一、特征及定义 RTC(Real Time Clock 实时时钟):是个独立的BCD定时器/计数器。RTC 提供一个日历时钟,两个可编程闹钟中断,以及一个具有中断功能的周期性可编程唤醒标志。RTC还包含用于管理低功耗模式的自动唤醒单元。两个32位寄存器包含二进码十进制格式(BCD)的秒,分钟,小时(12或24小时制),星期几,日期,月份和年份。
STM32中 FatFS移植 http://www.amobbs.com/forum.php?mod=viewthread&tid=5464257&highlight=STM32%2BFatFS%2B%E7%A7%BB%E6%A4%8D%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB前言与废话
1)实验平台:正点原子stm32mini 开发板 第二十三章 DMA 实验本章我们将向大家介绍 STM32 的 DMA。在本章中,我们将利用 STM32 的 DMA 来实现串口数据传送,并在 TFTLCD 模块上显示当前的传送进度。本章分为如下几个部分:23.1 STM32 DMA 简介23.2 硬件设计23.3 软件设计23.4 下载验证23.1 STM32 DMA 简介DMA,全称为:Dire
这里写自定义目录标题尝试用STM32与odrive进行can通信1.can通信简介:2. stm32can的配置3.Odirve控制函数: 尝试用STM32与odrive进行can通信记录一下学习过程,自用。 国外使用odirve进行开发时,基本用的都是树莓派+usb串口,考虑到学习成本和物料成本问题,暂定用stm32can来控制odrive。1.can通信简介:CAN,全称为“Controlle
转载
2024-10-08 08:37:30
309阅读
如果要从某IO端口输出PWM脉冲,相应的工作如下:1.需要一个定时器实现周期循环计数2.设置每个循环周期的比较值,从而实现占空比3.配置某个IO口味定时器的PWM复用功能例如:实现STM32 的 GPIOB_5 管脚输出PWM脉冲:(stm32的定时器都有4个通道,PWM有4种模式,主要区别在于高低电平变化的时刻不同)1.查询芯片手册,GPIOB_5 的复用功能对应定时器3的通道二2.设置GPIO
转载
2024-07-09 08:20:02
114阅读
[导读]SSM可以控制内部NSS引脚与SSI(一个寄存器,软件模式)相连,还是与NSS外部引脚(真正的STM32引脚,硬件模式)相连。真正作用的是内部NSS引脚(内部NSS引脚才真正连接到SPI通信控制器上)
SSM可以控制内部NSS引脚与SSI(一个寄存器,软件模式)相连,还是与NSS外部引脚(真正的STM32引脚,硬件模式)相连。真正作用的是内部NSS引脚(内部NSS引脚才真正连接到SPI通信
选择了与硬件打交道,就得戒骄戒躁,踏踏实实,一步一步的走下去。可能因为一个非常小的问题,就导致你失败。失败不可怕,可怕的是不能静下心来去思考。我在公司第一次调试硬件,spi的通信,是stm32的硬件既有的通信接口。之前用51的io口模拟过i2c的,感觉spi相对来说更简单些,结果调试spi的读写花费了我3天的时间。stm32f0与网上关于stm32f1大量的例程还不一样,刚刚上市半年多,应该是,并
前言高情已逐晓云空,不与梨花同梦。本来这个模块是另外一个队伍做第一个比赛准备项目需要用到的增益放大模块,他们买的是芯片(为什么买芯片呢?因为模块太贵,买不起。这里附上淘宝模块购买链接:https://item.taobao.com/item.htm?id=673514214019,我是推荐先买一个模块,玩明白了再自己之后买芯片自己做,不要像我们一样,直接买了六七个芯片,结果做出来差点没人会调,大佬
目录一、什么是中断1.1、中断的定义1.2、中断的作用和意义1.3、STM32 GPIO外部中断简图二、NVIC2.1、NVIC基本概念 2.2、NVIC相关寄存器介绍2.3、NVIC工作原理2.4、STM32中断优先级基本概念2.5、STM32中断优先级分组2.6、STM32 NVIC的使用2.6.1、设置中断分组2.6.2、设置中断优先级2.6.3、使能中断三、EXTI3.1、EXT
不知道大家有没有和我一样的经历,看官方数据手册,什么休眠2uA, 停机多少nA,这么换成自己调试的时候就是上百uA 了,差的不是一个数量级,有木有这样的感受~ 最近在做一个NB项目,用到了如下外设: 外部唤醒引脚,串口,SP
STM32F4定时器时钟频率和时钟源(1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线(2)通用定时器timer2timer5,通用定时器timer12timer14以及基本定时器timer6,timer7的时钟来源是APB1总线cubemx配置以下转自:https://blog.csdn.net/qq_42967008/article/details/89267010一、打开Cube,建立工程图片:点击ACCE
转载
2021-06-08 14:40:40
2952阅读
第一步 使用stm32cubeMX配置串口可以在NVIC里面设置串口的优先级,避免bug的出现。第二步 生成代码并修改串口打印重定向在usart.c里面添加/** * @brief 串口重定向 */#include <stdio.h>int fputc(int ch, FILE *f){ HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF); return ch;}在使用的地方要
原创
2021-06-08 14:41:03
3615阅读
软件STM32cubeIDE下使用STM32F4xx配置uart1和uart5数据互相透传-基础样例概述环境透传基本了解实验步骤>>>(1)初步建立工程1)了解硬件连接2)基本配置3)串口uart1和uart5的DMA配置4)时钟配置5)加入uart1和uart5的DMA输出代码6)硬件连接,进行测试>>>(2)加入回调函数1)接收初始化2)回调函数3)回调函
转载
2024-10-12 14:54:47
721阅读
串口通讯协议简介:串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32 标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的
FatFs介绍 FatFs 是面向小型嵌入式系统的一种通用的 FAT 文件系统。 它完全是由 ANSI C 语言编写并且完
全独立于底层的
I/O
介质。因此它可以很容易地不加修改地移植到其他的处理器当中,如
8051
、 PIC
、
AVR
、
SH
、
Z80
、
H8
、
ARM
文章目录一、准备工具二、前置知识1.ADC简介2.DMA简介2.STM32Cubemx配置1.新建工程2.时钟源选择及时钟树配置3.时基选择调试接口选择4.配置ADC采集1.选择要配置为ADC采集的引脚2.开启DMA传输,循环模式3.选择分辨率,使能ADC持续转换,DMA持续请求4.选择触发源5.生成工程3.Keil编写代码4.烧录观察工程下载地址 一、准备工具STM32F407VE核心板 ST
转载
2024-10-29 07:36:05
139阅读
前面说了USB鼠标,这次趁热打铁,说一下USB键盘。依然只说如何修改,不说背后的原理。原因你懂的,涉及的知识点太多了。会不会写成USB三部曲? 不知道猜猜我下一步再写个啥?1 生成工程首先,STM32CubeMX的配置部分不说了,和USB鼠标部分的一样。唯一需要注意的一点是,VID和PID这两个值要改一下,否则主机(也就是电脑)会以为你还是
转载
2024-09-12 23:08:45
142阅读
IIC简介 IIC物理层用软件模拟IIC时序一、空闲状态(初始化):SCL 和SDA都保持高电平二、开始信号 :SCL为高电平期间,SDA由高电平变为低电平。三、