logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

STM32(二十八)——FLASH闪存

•STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分,通过闪存存储器接口(外设)可以对程序存储器和选项字节进行擦除和编程•读写FLASH的用途:利用程序存储器的剩余空间来保存掉电不丢失的用户数据通过在程序中编程(IAP),实现程序的自我更新•在线编程()用于更新程序存储器的全部内容,它通过JTAGSWD协议或系统加载程序(Bootloader)下载程序•在程序中编程()可以

#stm32#嵌入式硬件#单片机
STM32(二十七)——独立看门狗&窗口看门狗

设置为1000ms的喂狗时间,采用16分频,1000 = (1/400000 )* (PL +1)* 16 *1000,算出PL为2499.判断看门狗的复位标志位是否置1,如果置1了要手动清除标志位RCC_ClearFlag()。解锁 → 分频 → 重装值 → 喂狗 → 启动。计数器从这个值往下减,减到 0 就复位。WWDG挂载在APB1 总线上,使用前。,因为 WWDG 一旦开启就关不掉。把窗口

#stm32#算法#嵌入式硬件
STM32(二十六)——WDG看门狗

•WDGWatchdog)看门狗•看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序,避免程序陷入长时间的罢工状态,保证系统的可靠性和安全性•看门狗本质上是一个定时器,当指定时间范围内,程序没有执行喂狗(重置计数器)操作时,看门狗硬件电路就自动产生复位信号•STM32内置两个看门狗独立看门狗(IWDG):独立工作,对时间精度要求较

#stm32#嵌入式硬件#单片机
STM32(二十四)——PWR电源控制

•PWR)电源控制•PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能•可编程电压监测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阀值以下或上升到PVD阀值之上时,PVD会触发中断,用于执行紧急关闭任务•低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)和待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备使用时间PVD

#stm32#嵌入式硬件#单片机
STM32(二十)——SPI、W25Q64

•W25Qxx系列是一种低成本、小型化、使用简单的非易失性存储器,常应用于数据存储、字库存储、固件程序存储等场景•存储介质:Nor Flash(闪存)•时钟频率:(Quad SPI)•存储容量(24位地址):W25Q40:W25Q80:W25Q16:W25Q32:W25Q64:W25Q128:W25Q256:•STM32内部集成了硬件SPI收发电路,可以由硬件自动执行时钟生成、数据收发等功能,减轻

#stm32#嵌入式硬件#单片机
STM32(二十二)——时间戳、BKP备份寄存器、RTC实时时钟

本文介绍了Unix时间戳、BKP备份寄存器和RTC实时时钟三个关键概念。Unix时间戳是从1970年1月1日开始的秒计数,C语言的time.h模块提供了相关转换函数。BKP备份寄存器可在主电源断开时由备用电池供电保持数据,具有防篡改检测功能。RTC实时时钟提供独立计时功能,通过32位计数器和预分频器实现精确计时,支持多种时钟源和低功耗唤醒机制。三者共同构成了计算机和嵌入式系统中的时间管理和数据保护

#stm32#实时音视频#嵌入式硬件
STM32(二十五)——修改主频、睡眠模式、停机模式、待机模式

可右击文件,点击第五个Open Containing Folder,这个是已经修改过的了,原本是72MHZ,现在修改为36MHZ。如果文件上有个小钥匙的话,可以到文件存储地址中更改文件属性。__WFE():让 CPU 进入休眠,直到有事件发生才唤醒。__WFI():让 CPU 进入休眠,直到有中断来才唤醒。

#stm32#嵌入式硬件#单片机
数据结构——双向链表的查询、插入、删除、释放(十四)

void InsertByData(struct Node* stHead, int* iCount, int iValue, int iData)//在指定的数据前面增加一个节点。void InsertByIndex(struct Node* stHead, int* iCount, int iIndex, int iData)//指定下标位置插入节点。void DaleteByIndex(st

#数据结构#链表
数据结构——动态数组(二)

动态数组是一种在程序运行时可以动态调整大小的数据结构,其底层通常基于静态数组实现。与静态数组不同,动态数组的内存分配在堆区(Heap)完成,允许在运行时根据需要扩容或缩容。

文章图片
#数据结构#算法
数据结构——快慢指针(十五)

void AddToEnd(struct Node* head, int iData)//尾添加。检测单向链表是否存在环。快指针每次移动两步,慢指针每次移动一步,若存在环,两者最终会相遇。bool QuiKSlow(struct Node* head)//检测链表是否有环。让链表变成环,让尾节点的后续指针指向第二个节点,形成一个环。形成了一个环,检测函数返回了true表示有环状。如果是,函数直接返

#数据结构
    共 14 条
  • 1
  • 2
  • 请选择