草庐IT

stm32_断点调试无法进入串口接收中断

先说结果,可能是stm32调试功能/keil软件/调试器(试过STLINK和JLINK两种)的问题,不是代码;1、入坑配置完串口后,可以发送数据到串口助手,但不能接收数据并做处理,所以第一步,想确定有没有接收到单个字节进入中断。开始打断点调试,发现串口数据寄存器DR能收到数据,串口状态寄存器SR也有标志的变化,但就是进不了中断服务函数的判断,反复检查配置、各种百度、直到替换为最简单的工程只保留串口,仍然不能解决。2、串口状态寄存器串口状态寄存器,显示了串口是否发送完成、接收到数据等,就是我们主要观察的寄存器。3、具体现象3.1、初始状态断点打在判断是否收到数据的if语句,此时,状态寄存器SR=

STM32F103 CubeMax HAL 库开发,使用TIM定时器和DMA输出PWM方波。采坑日记

STM32F103CubeMaxHAL库开发,使用TIM定时器和DMA输出PWM方波问题描述使用阻塞方式和DMA方式开启PWM的区别简短结论具体分析CubeMax配置首先是CubeMax里面的常规配置TIMDMA配置生成工程KEIL文件撰写观察实验现象工程修改工程修改内容观察现象appendix问题描述我是用的芯片是STM32F103C8T6,其他F103系列的芯片也是一样的。使用CubeMax,并使用HAL库函数对硬件进行驱动。目标是使用TIM定时器的DMA方式,输出PWM方波。使用阻塞方式和DMA方式开启PWM的区别简短结论先说结论:如果只是用TIM输出固定占空比的PWM方波,那么阻塞方式

关于STM32CubeMX软件画面重影问题

感谢广大网友解决了这个问题,我把评论区的链接放在这里。(如有侵权,请联系删除。)总的问题是微星小飞机的OSD造成的,就是这个家伙:然后可以在里面添加特定应用的设置,添加运行STMCubeMX的Java程序:一般都在安装路径的这个地方:..\STMicroelectronics\STM32Cube\STM32CubeMX\jre\bin之后把这个关了。它就不会再抽风了(好诶!!!)本人显卡为GTX-1060-5G,nvidia-smi查询型号如下:电脑CPU不带核显,仅此一张显卡。显卡3D驱动设置如下: 系统为:        版本   Windows10专业版        版本号   22H

Stm32f103c8t6(proteus仿真)学习——1.点亮LED流水灯

目录**一、原理图的绘制****二、代码的编写****1.新建一个工程模板****2.打开新建的项目****3.点亮一个LED灯代码****4.设置生成.hex文件****5.上传.hex文件到proteus****6.仿真运行****三、更多功能的实现****1.点亮一排LED灯****2.点亮流水灯****四、项目(代码+仿真)分享链接**软件准备:keiluVsion5和proteus8.15一、原理图的绘制打开proteus8.15->新建项目->改名->一直next鼠标右键->放置->元件->FromLibraries搜索Stm32->选择stm32f103c8画出点亮一个LED灯的

stm32系列单片机介绍

一、产品介绍  stm32是基于ARM® Cortex® 内核的32位微控制器和微处理器。常见的内核有:  Cortex-M0,代表型号STM32F0、STM32L0;  Cortex-M0+,代表型号STM32C0(23年新推出,主要针对低成本);  Cortex-M3,代表型号STM32F1、STM32F2、STM32L1;  Cortex-M4,代表型号STM32F3(混合信号)、STM32F4、STM32G4、STM32L4;  Cortex-M33,STM32H5(主频高达250MHz);  Cortex-M7,代表型号STM32F7、STM32H7;  Cortex-A7,代表型号

stm32按键控制LED灯亮灭(中断法)

前言用按键控制STM32上的LED灯亮灭,可以采用轮询法和中断法。轮询法需要不断检测按键的状态,消耗MCU;而中断法只是在按下的那一刻触发中断,控制灯亮灭。轮询法相对于更常规,容易操作。因此我们这里讲的用中断法。关于中断的概述,这里不作介绍,只讲操作,分析代码,可以的话,欢迎上车。注意:使用HAL库,不讲标准库的使用1、创建工程这里我们用两个按键KEY1,KEY2和LED1,LED2.它们在单片机电路原理图上的位置如下图所示:打开STM32CubeMX,按下图分别配置好上述引脚:中断触发类型分为:上升沿;下降沿;上升沿和下降沿都触发三种方式,这里我们选用下降沿,即按下按键,灯灭,松开灯亮。配好

STM32 Bootloader开发记录

编写一个基础的Bootloader,记录一下开发过程及遇到的问题。1、基本思路作为一个Bootloader,它首先需要具备跳转功能,能够跳转到我们的APP地址空间中运行APP。其次,它还需要有能够读写FLASH的能力。除了启动APP,另外还有对APP进行升级的操作,这个功能需要用到读写FLASH的功能。如果还要支持在Bootloader中升级应用,还需要具备通信功能,可以是蓝牙、串口、Wi-Fi等。除了基本的信息提示,升级过程中还需要交互功能。这些依赖于LED提示、串口输出等。完成以上功能,一个简易的Bootloader就算是完成了。当然,只支持很少的功能,一般复杂的,我们还需要拥有固件完整性

stm32wb15cc蓝牙芯片学习

由于项目选型需要,初次接触stm32的蓝牙芯片,需要总体做一些学习。也记些笔记,防止遗忘。一、主要的ST的蓝牙芯片简单介绍一下主要ST的蓝牙芯片1.1.STM32WB系列这个系列的芯片是一个双核的MCU,相当于一个普通的STM32MCU和一个处理蓝牙各种协议栈的CPU核。(某些型号的芯片还处理Thread,802.15.4MAC协议)。CPU1通过接口访问CPU2,CPU2只能烧录ST给的加密BIN文件,无法自行修改。由于两个CPU核,计算能力比较强,外设接口也比较丰富。可操作的空间比较大。但涉及到2个CPU的同步,调用。相对软件复杂度会高一些。 1.2BlueNRG-LP系列该系列蓝牙芯片是

5、江科大stm32视频学习笔记——OLED显示屏

目录1、OLED简介 2、OLED硬件电路3、OLED驱动函函数简介和应用4、用keil进行调试一、OLED简介 二、OLED硬件电路4引脚OLEDSCL和SDA是I2C通信引脚,需要接在I2C通信的引脚上实验中用的模块是GPIO口模拟的I2C通信,故SCL和SDA两个端口可以接在任意的GPIO口上7引脚OLED右边5个引脚是SPI通信协议的引脚如果是GPIO口模拟的通信协议,也是接在任意的GPIO口上即可。三、OLED驱动函函数简介和应用 四、用keil进行调试(1)先编译(2)点击放大镜,进入调试模式3、进入后的界面五、OLED显示屏的代码1、主函数#include"stm32f10x.h

用stm32驱动TFTLCD播放BadApple

用stm32驱动TFTLCD播放BadApple你是否听说过一句这样的话,有屏幕的地方就会有badapple。这次我们就通过用stm32来驱动TFTLCD来播放badapple。什么是BadApple《BadApple》是系列作品《东方Project》第4作《东方幻想乡》(旧作)中使用的曲目,因为同人作品的制作而爆火。又因其MV画面完全由黑白两个颜色组成,因此只要能组成一明一暗的画面就能实现BadApple的播放,所以就会有了〝有屏幕的地方就会用BadApple”这句话。实现原理视频播放的原理就是将一个一个的画面在短时间内快速播出。因此我们想要实现在TFTLCD上播放BadApple就需要先将