草庐IT

STM32WBA

全部标签

STM32

STM321、keil的配置以及vscode的配置略2、stm32的命名规则todo以下以stm32lf103ze为例。3、点亮第一个小灯​ 开启时钟、设置输入/输出模式、给小灯的位赋值0。开启时钟开启时钟使用到的寄存器为RCC_APB2ENR,32位,高16位为保留位。第二位IOPA控制IO端口A的输入输出使能。其他具体每一位什么功能看数据手册。设置输入/输出模式用到GPIOA_CRL/GPIOA_CRH。这两个寄存器每个都是32位,每个只能给8个输入/输出设置模式(每4bit给一个输入/输出位设置模式),两个加起来可以给16个输入/输出设置模式具体使用以及复位值见参考手册。给小灯的位赋值用

关于大一上学期STM32培训的经验及教训(完全初学)

   主要是写出来给要直接学习STM32的人的一些经验或者是教训以及踩坑点,我后续也会开始写STM32的一些我已经学会的基础性的初学者应用型教程(如没有前置知识点亮LED,我会在这里说GPIO是个啥,怎么选口,怎么查手册等基础入门方法)我也要期末考试后回家了,我想写这个文章是因为上学期的培训也结束了,我先说明我现在STM32会什么1.点亮LED,使用蜂鸣器(GPIO的查找,配置,和应用)2.用LED和蜂鸣器以一定周期交替响应(模块在代码上的配合)3.雨雪传感器检测信号让LED亮(TIM配置,外部中断代码配置)4.四按键模块制作三人抢答器,并且让LED亮(TIM捕获)5.数码管显示HH6.手机和

STM32用TB6612驱动电机(智能家居系列二)

        本篇文章主要讲解主控板为STM32,利用TB6612驱动来驱动电机的整个流程,看完点个赞吧!        一、TB6612接线PWMA---连接代码中的PB0口                   VM------接10V以内电压AIN2-----接代码中的PB3口                    VCC-----接5VAIN1-----接代码中的P7口                     GND-----接地STBY----连接5V                               A01-----连接电机1BIN1--- 接单片机I/O        

面试题总结(十五)【ARM&stm32】【华清远见西安中心】

ARMCortex-M,Cortex-R,Cortex-A的区别和差异是什么?ARMCortex-M,Cortex-R和Cortex-A是ARM架构下的不同处理器系列,针对不同的应用领域和需求进行了优化和设计。它们之间的区别和差异主要体现在以下几个方面:1.应用领域:Cortex-M系列主要针对嵌入式系统和微控制器应用,如IoT设备、传感器、智能家居等。Cortex-R系列主要用于实时应用,如汽车电子、工业控制等。Cortex-A系列则面向高性能应用,如智能手机、平板电脑、服务器等。2.处理器核心:Cortex-M系列采用较简化的处理器核心,具有较低的功耗和成本,适合资源受限的嵌入式系统。Co

嵌入式(STM32)学习路线和建议

嵌入式(STM32学习路线和建议)前言一、学习前期准备硬件设备准备:软件环境搭建:学习资源准备:二、基础阶段学习内容三、进阶阶段学习内容总结前言一、学习前期准备硬件设备准备:学习嵌入式,首先需要准备一块STM32单片机开发板,常见的有STM32最小系统开发板、STM32F4开发板等。选择开发板时需要考虑单片机类型、外设资源是否满足需求等因素。此外,还需要准备USB数据线、电源供应等辅助设备。软件环境搭建:嵌入式软件开发主要依赖IDE环境,常用的有KeilMDK、IAR工程师以及STM32CubeIDE。这些IDE均提供富文本编辑器、调试器、烧写下载等功能。选择IDE时需要考虑兼容单片机型号、学

重新开始学stm32(8)SPI通信实验

上期我们讲完了IIC通信实验,今天我们继续我们的通信专题,来将我们的SPI通信实验,并以与AS5047P编码器进行通信为例。有前面IIC通信实验的基础和对这些通信的理解,这里我们会号理解很多。下面我们将进入今天的正题。SPI简介我们先来简单了解一下什么是SPI,SPI是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口。其他的关于SPI的简介就不多说了,我们只需要知道SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线。SPI四条通信线组成SPI 接口一般使用4条线通信:MISO        主设备数据输入,从设备数据输出。MOS

STM32疑难杂症

1.keil的奇怪问题创建的数组分配内存到0x10000000地址的时候,数据总是莫名其妙的出现问题,取消勾选就正常了stm32f407内部有一个CCM内存,这部分内存只能由内核控制,任何外设都不能够进行访问。这样问题就来了,如果使用keil5进行编程时勾选了这个选项(下图),则编译的时候会随机将数据放到CCM中。而Lwip通讯靠的是以太网的专用DMA,如果在编译的时候,lwip的描述符被分配到CCM中,那就会导致ping不同的现象。2.STM32的CANID滤波器的设置列表模式和掩码模式的两个设置,以及多滤波器的设置方法staticvoidCanBSP_STM32_Can1_CfgFilte

STM32G473 固件升级IAP(BootLoader)CAN/USART。(详细步骤)

本例程仅供参考(个人学习总结_有需要文中有的封装好的跳转函数可私信),例程可举一反三完成FDCAN通信和USART通信。目录简介1.APP程序配置步骤APP程序起始地址设置方法中断向量表的偏移量设置方法KEIL5生成bin文件步骤2.IAP(BootLoader程序)配置(HAL库,Cubemax)2.1RCC配置2.2时钟树配置2.3CAN配置(版本例程CAN接收数据和发送数据为普通模式,配合TIM2定时器使用)2.4TIM2定时器配置2.5USART配置3.IAP(BootLoader)代码程序配置    3.1CAN过滤器,发送,接收函数配置3.2CAN发送配置3.3CAN.h函数声明3

官方手册:STM32 HAL and low-layer drivers(HAL库函数和 LL(底层驱动)API 说明手册) (***)

要点:1.MCU原厂与具体用户之间的需求,是不同的。MCU原厂希望同一款MCU,可以应用(满足)到最可能多的不同行业、不同场景的需求。这使得STMCU需要很多的寄存器,通过不同的设置来满足不同场景的需求。对于一个具体的项目来说,并不需要那么多没有用的、额外的功能;STMCU的这种做法,无疑增加了具体用户在该MCU上的使用难度。有些国产MCU,它们没有那么多的寄存器需要设置,寄存器很简单,因此,这类MCU原厂可能并不需要为用户开发一个图形化的寄存器配置界面。2.HAL库,目的是为了通过CubeMx来配合使用的?而不是为直接编程服务的?如果不使用CubeMx,而是直接寄存器编程,那么,使用HAL无

【STM32】HAL库Flash读写操作及配置

【STM32】HAL库Flash读写操作及配置文章目录Flash读写附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时位带操作位带代码位带宏定义总线函数一、位带操作理论及实践二、如何判断MCU的外设是否支持位带Flash读写在keil里面的默认工程配置中Flash分配地址程序部分为0x08000000到0x08100000总共是0x00100000的大小也就是1048576Byte1024KB1MB而实际上程序部分大小应该要看硬件手册来确定可以通过配置keil工程中size的大小来确定程序地址的范围(如果太小了