目录一、在CubeMX创建项目二、代码编写实现流水灯1.编写代码并实现2.观察GPIO端口的输出波形三、代码编写实现按键控制流水灯亮灭1.新建工程(1)配置中断函数2.进入NVIC界面设置中断优先级3.配置时钟4.生成工程文件2.编写代码并实现一、在CubeMX创建项目已配置好java环境和CubeMX。CubeMX官网下载传送门:CubeMX-工具与软件1.第一步2.第二步3.第三步将CubeMX中的"DEBUG"栏目设置为"SerialWire"意味着你选择了SerialWireDebug(SWD)接口作为调试接口。SWD是一种调试接口协议,通常用于与ARMCortex-M微控制器进行调试
提示:永远支持知识文档免费开源,喜欢的朋友们,点个关注吧!蟹蟹!目录一、了解按键二、stm32f103按键分析三、按键应用一、了解按键 同学们,又见面了o(* ̄▽ ̄*)ブ,最近降温了,注意保暖哦!这次我们来了解stm32中的按键操作,首先我们需要了解什么是按键,以及按键的基本结构,如下图就是我们按键的基本结构:按键是什么呢?说专业一点,按键就是一种电子开关使用时轻轻按开关按钮就可以使开关接通,当松开手的时候,开关断开。说白了按键就是用来实现一个电路的通路以及断开操作的开关。看完上图之后我们该如何给按键接线呢?假设我们一定要接1引脚,但是接1,2呢?、还是接1,3呢?假设我们接的是1,3
0工具准备1.野火stm32f407霸天虎开发板2.LAN8720数据手册3.STM32F4xx中文参考手册1MAC及DMA配置1.1使能ETH时钟stm32的ETH外设挂载在AHB1总线上,位于RCC_AHB1ENR的bit25-bit27:相关语句如下:RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_ETH_MAC|RCC_AHB1Periph_ETH_MAC_Tx|RCC_AHB1Periph_ETH_MAC_Rx,ENABLE);1.2复位MAC寄存器直接调用ETH_DeInit函数来复位ETH外设voidETH_DeInit(void){RCC_AHB1P
看原子哥的IIC.h文件看到这两个语句有点懵,去找了半天资料才懵懵懂懂,下面简单记录一下,以防下次又忘了 就拿这个举例把~,GPIO一组有(0-15)一共16个前(0-7)是底8位,写成CRL后(8-15)是高8位,所以就写成CRH#defineSDA_IN() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)88个F分别对应红圈圈的八个圈圈,有CNF0和M0DE0的圈圈对应着蓝色的F,依此对应。GPIOB->CRL&=0X0FFFFFFF这个语句的意思:把用到的B7端口清0; #defineSDA_IN() {GPIOB->CRL&=0X0FFFFFFF;G
前面两章实现了OLED屏幕显示的基本功能,这一章就做一个多级菜单显示功能 单片机选择STM32F103C8T6最小系统板,OLED屏选择0.96寸OLED显示器,除了单片机和OLED屏之外,还需要三个按键(下一位键、确认键和返回键),当然一个按键也可以(单击、双击和长击完成),为了提高可玩性这里就只使用一个按键。1.多级菜单 多级菜单是一种用户界面设计,它将信息和选项组织为层次结构,使得用户可以快速找到所需的选项。多级菜单的实现基于两种方案索引法和树结构法,索引法阅读性好,扩展性不错,查找性最优,但是比较占用内存,并且一旦选项过多就会造成逻辑混乱
不同于移植官方DMP库,在别人标准库基础上移植会更加简单,只要按我的步骤一步一步来,基本不会错,本移植过程适用于F1和F4系列。MPU6050在电赛和制作平衡小车中很常用,所以我记录下来,方便后来者使用,移植过程有什么问题欢迎在评论区留言,我会看的。文章目录一、资料准备二、STM32Cube配置2.1基础配置2.2IIC配置2.3HAL库IIC初始化BUG修改(重点,不修改初始化不了)三、代码移植3.1添加文件到工程中并添加头文件路径3.2开始调教代码四、演示一、资料准备本次实验代码基于Github上一个项目进行,该项目是基于标准库移植的MPU6050代码,所以我们的任务就是将标准库换到HAL
1.RTC简介 本质:计数器RTC中断是外部中断(EXTI)当VDD掉电的时候,Vbat可以通过电源--->实时计时STM32的RTC外设(RealTimeClock),实质是一个 掉电 后还继续运行的定时器。从定时器的角度来说,相对于通用定时器TIM外设,它十分简单,只有很纯粹的计时和触发中断的功能;但从 掉电还继续运行 的角度来说,它却是STM32中唯一一个具有如此强大功能的外设。所以RTC外设的复杂之处并不在于它的定时功能,而在于它掉电还继续运行的特性。常用的RTC方案1)一般都需要设计RTC外围电路(例如晶振,电源等)2)一般都可以给RTC设置独立的电源(当内部Soc的内部电源VDD失
RT-ThreadNUCLEO-STM32L476RG开发板的BSP说明①RT-ThreadNUCLEO-STM32L476RG开发板的BSP说明①简介开发板介绍外设支持使用说明快速上手硬件连接编译下载运行结果进阶使用注意事项示例代码源码下载维护人:RT-ThreadNUCLEO-STM32L476RG开发板的BSP说明①简介本文档为ST官方(64)NUCLEO-L476RG开发板的BSP(板级支持包)说明。主要内容如下:开发板资源介绍BSP快速上手进阶使用方法通过阅读快速上手章节开发者可以快速地上手该BSP,将RT-Thread运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开
1.前言对于Cortex-M内核的微控制器,它们都可以支持在RAM中执行程序,有些非ARM的微控制器是不支持的。在内部SRAM执行程序,有基于以下几方面的原因:1、所使用的设备可能具有OTP(One-timeProgrammable,一次性可编程)ROM区域,还没有确定最终代码之前,还不会把程序编程到芯片中;2、有些MCU内部内部可能没有Flash,可能会使用到外部的存储器。但是在软件开发阶段可以下载到SRAM进行开发测试;3、对于特定的测试场合,Flash已经烧录了程序,但是不想擦除。这时可以把测试程序下载到SRAM运行;4、对于有些Flash被锁定的芯片,可以把代码下载到SRAM,然后进行
1、准备材料开发板(STM32F407G-DISC1)ST-LINK/V2驱动STM32CubeMX软件(Version6.10.0)keilµVision5IDE(MDK-Arm)2、实验目标使用STM32CubeMX软件配置STM32F407开发板的按键作为输入,利用按键输入使LED灯产生响应3、实验流程3.0、前提知识对于所有的GPIO来说都是既可以作为输出引脚也可以作为输入引脚使用,本开发板上有一个用户按键,可以作为本次实验的输入,如下图所示为用户按键的电路原理图,当松开按键时,PA0为低电平;当按下按键时,PA0为高电平(注释1);3.1、CubeMX相关配置在Pinout&Conf