推荐阅读最新更新时间:2024-11-09 11:07
STM32 Bootloader异常复位如何解决
问题描述 客户反馈通过PC软件Flashloader不能够跟STM32 MCU自带Bootloader连接。并且系统运行一段时间后异常复位。 系统分析 检测原理图 延续之前的项目,进行的一些软硬件简单修改。 上电、放电的时序也是正常。 BOOT0 拉高,BOOT1 拉低, 测量工作时的电压正常(2.5v)。 检测所有相关的硬件软件都是没有问题,他们的BOOT脚,以及之前的PDR_ON是通过外围的FPGA单元控制,我们一开始怀疑这些上电时序,以及PDR逻辑出错。尝试让他们全部断开逻辑,测试整个上电,掉电过程都是没有什么问题。 测量波形 检测他们的串口工具 能正常在PC上发现他们的串口工具,数据的发送正常。 但是串口的到PCB
[单片机]
单片机入门stm32知识学习的先后顺序
这里大概的罗列了一些学习STM32的内容,以及学习顺序。如果是新手的话,建议边看中文手册和学习视频;如果是已经入门的,个人建议自己做一个项目,不论项目大小,当然里面会涉及到自己已经学习过的,或者是自己正在学习的,亦或是自己想来想要学习的,一边学习,一边做项目。这样好处颇多,大家慢慢去体会。下面就是本人所罗列的一些STM32的内容,不需要看懂,只需要记住即可,在你以后慢慢深入的过程中,就会了解到的: 1、STM32基本配置(运行环境、编译器、下载器、板子等)。 2、GPIO(跑马灯,蜂鸣器、按键),其中还有端口复用和重映射,以后用到再给大家介绍,不过可以先看看中文手册。 3、时钟(系统时钟、RTC实时时钟)。 4
[单片机]
一文详解STM32的嘀嗒时钟(SysTick)
简要说明 1概述 嘀嗒时钟(SysTick)是一个简单的系统时钟节拍计数器,它属于Cortex-M4内核嵌套向量中断控制器(NVIC)里的一个功能单元。他是一个24位的倒计时定时器(在NVIC中),当systick计数值到0的时候,SysTick重装载寄存器就会自动重新装载初值。只要SysTick控制和状态寄存器(CTRL)中的使能位没有ENABLE清除掉,那么就会永远的执行下去。 SysTick定时器被捆绑在NVIC中,可产生SysTick异常(异常号:15),属于Cortex-M4内核里的一个功能单元。 SysTick常作为系统节拍定时器用于操作系统(如mCOS-Ⅱ、FreeRTOS等)的系统节拍定时,从而推动任务和时间的
[单片机]
stm32全称是什么
stm32全称是意法半导体32位系列微控制器芯片。 ST即意法半导体(STMicroelectronics)。 意法半导体 (STMicroelectronics) 集团于1987年6月成立,是由意大利的SGS 微电子公司和法国Thomson 半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics 将公司名称改为意法半导体有限公司,意法半导体是世界最大的半导体公司之一。从成立之初至今,ST 的增长速度超过了半导体工业的整体增长速度。自1999年起,ST 始终是世界十大半导体公司之一。据最新的工业统计数据,意法半导体 (STMicroelectronics) 是全球第五大半导体厂商,
[单片机]
STM32内部EEPROM的使用方法
STM32内部的EEPROM其实是Flash模拟的,也就是会占用程序的存储空间,下载的程序也放在这个地方,不过L系列单独给eeprom分配的有位置,理论上所有的STM32都可以使用这个方法,但是要注意程序越大占用的空间越多,不要和程序覆盖在一起。 大家可能使用的型号都不同,我们首先在官网下载对应型号的参考手册 网址:意法半导体STM | STM32/STM8微控制器 | MCU单片机 STEP.2 打开pdf文档找到 Flash program memory and data EEPROM (FLASH) 这里有详细的说明 找到对应的内存的设备 示意: L071是196KB的所以是这个表格 STEP.3 开
[单片机]
STM32练手项目 震动感应灯
这是一个调库的成品 编译环境 keil 5 固件库 材料: stm32f103C8t6 继电器 震动感应模块 usb转TTL usb 灯 一些杜邦线 接线 剪开usb 灯 里面 有两条线 一条红色一条白色 红色 连接到继电器的常开端 白线 连接板子的gnd 继电器的 NI 连接到 板子的A3 GND 连接到GND VCC 连接到板子的3.3v 公共端 连接到 3.3v 震动模块 vcc 接3.3 或者5v GDN 接GND DO 连接到板子的A1 位置 我们使用usb 转TTL 进行下载 程序 改成这个 就行 代码部分 需要这么多文件 main .c 部分 #incl
[单片机]
stm32控制舵机
#include stm32f10x.h void GPIO_TimPWM(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);// GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //TIM_CH2 GPIOA_Pin_7输出 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50M
[单片机]
stm32之DMA研究
在做实验之前,首先必须明白什么是DMA,DMA的作用又体现在哪里。 DMA,即直接内存存储,在一些数据的传输中,采用DMA方式,从而将CPU解放出来。让CPU有足够的时间处理其他的事情。 stm32使用DMA的相关操作: 1、DMA的配置 要配置的有DMA传输通道选择,传输的成员和方向、普通模式还是循环模式等等。 void DMA_Configuration(void) { DMA_InitTypeDef DMA_InitStructure; //DMA设置: //设置DMA源:内存地址&串口数据寄存器地址 //方向:内存-- 外设 //每次传输位:8bit //传输大小DMA_BufferSize=SEN
[单片机]