草庐IT

STM32CubeMX

全部标签

GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=(u32)8<<12;(学习笔记)

看原子哥的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

STM32+OLED屏多级菜单显示(三)

        前面两章实现了OLED屏幕显示的基本功能,这一章就做一个多级菜单显示功能        单片机选择STM32F103C8T6最小系统板,OLED屏选择0.96寸OLED显示器,除了单片机和OLED屏之外,还需要三个按键(下一位键、确认键和返回键),当然一个按键也可以(单击、双击和长击完成),为了提高可玩性这里就只使用一个按键。1.多级菜单        多级菜单是一种用户界面设计,它将信息和选项组织为层次结构,使得用户可以快速找到所需的选项。多级菜单的实现基于两种方案索引法和树结构法,索引法阅读性好,扩展性不错,查找性最优,但是比较占用内存,并且一旦选项过多就会造成逻辑混乱  

STM32Cubemx:基于HAL库实现MPU6050 DMA获取姿态信息

不同于移植官方DMP库,在别人标准库基础上移植会更加简单,只要按我的步骤一步一步来,基本不会错,本移植过程适用于F1和F4系列。MPU6050在电赛和制作平衡小车中很常用,所以我记录下来,方便后来者使用,移植过程有什么问题欢迎在评论区留言,我会看的。文章目录一、资料准备二、STM32Cube配置2.1基础配置2.2IIC配置2.3HAL库IIC初始化BUG修改(重点,不修改初始化不了)三、代码移植3.1添加文件到工程中并添加头文件路径3.2开始调教代码四、演示一、资料准备本次实验代码基于Github上一个项目进行,该项目是基于标准库移植的MPU6050代码,所以我们的任务就是将标准库换到HAL

【STM32】RTC(实时时钟)

1.RTC简介 本质:计数器RTC中断是外部中断(EXTI)当VDD掉电的时候,Vbat可以通过电源--->实时计时STM32的RTC外设(RealTimeClock),实质是一个 掉电 后还继续运行的定时器。从定时器的角度来说,相对于通用定时器TIM外设,它十分简单,只有很纯粹的计时和触发中断的功能;但从 掉电还继续运行 的角度来说,它却是STM32中唯一一个具有如此强大功能的外设。所以RTC外设的复杂之处并不在于它的定时功能,而在于它掉电还继续运行的特性。常用的RTC方案1)一般都需要设计RTC外围电路(例如晶振,电源等)2)一般都可以给RTC设置独立的电源(当内部Soc的内部电源VDD失

RT-Thread NUCLEO-STM32L476RG开发板的BSP说明①

RT-ThreadNUCLEO-STM32L476RG开发板的BSP说明①RT-ThreadNUCLEO-STM32L476RG开发板的BSP说明①简介开发板介绍外设支持使用说明快速上手硬件连接编译下载运行结果进阶使用注意事项示例代码源码下载维护人:RT-ThreadNUCLEO-STM32L476RG开发板的BSP说明①简介本文档为ST官方(64)NUCLEO-L476RG开发板的BSP(板级支持包)说明。主要内容如下:开发板资源介绍BSP快速上手进阶使用方法通过阅读快速上手章节开发者可以快速地上手该BSP,将RT-Thread运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开

基于MDK-Keil环境如何把STM32程序直接下载到SRAM运行

1.前言对于Cortex-M内核的微控制器,它们都可以支持在RAM中执行程序,有些非ARM的微控制器是不支持的。在内部SRAM执行程序,有基于以下几方面的原因:1、所使用的设备可能具有OTP(One-timeProgrammable,一次性可编程)ROM区域,还没有确定最终代码之前,还不会把程序编程到芯片中;2、有些MCU内部内部可能没有Flash,可能会使用到外部的存储器。但是在软件开发阶段可以下载到SRAM进行开发测试;3、对于特定的测试场合,Flash已经烧录了程序,但是不想擦除。这时可以把测试程序下载到SRAM运行;4、对于有些Flash被锁定的芯片,可以把代码下载到SRAM,然后进行

STM32CubeMX教程3 GPIO输入 - 按键响应

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

045.Solidity入门——32验证签名

在使用智能合约时,经常需要进行签名验证,以确保交易的合法性和完整性。Solidity提供了一些内置函数,可以轻松地对签名进行验证。示例代码:contractVerifySignature{//签名者的地址addresspublicsigner;//构造函数,初始化签名者的地址constructor(address_signer){signer=_signer;}//验证签名的函数functionverify(bytes32message,uint8v,bytes32r,bytes32s)publicviewreturns(bool){//用签名者的地址创建一个ECDSA合约实例addresss

用于电机控制的32位微控制器:R7FA6T1AB3CFP、R7FA6T1AD3CFP、R7FA6T1AD3CFM、R7FA6T1AB3CFM带120MHz Arm® Cortex®-M4内核

器件概述:RA6T132位微控制器(MCU)配有多个系列软件和引脚兼容的Arm®-32位内核。这些内核共享一组Renesas外设,提高了设计可扩展性并有助于基于平台的高效产品开发。RA6T1MCU采用高性能ARMcortex®--M4内核,运行频率高达120MHz,具有高达512KB代码闪存和64KBSRAM。这些MCU具有安保和安全特性、12位模数转换器(ADC12)、12位数模转换器(DAC12)以及模拟外设。RA6T1MCU具有两种工作模式,例如单芯片模式和SCI启动模式。特点高达512KB代码闪存64KBSRAM安防和安全特性12位模数转换器(ADC12)12位数模转换器(DAC12)

STM32CubeMX教程3 GPIO输入 - 按键响应

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