STM32调用外设功能的流程笔记

来源:互联网 发布:淘宝搜什么卖qq号的 编辑:程序博客网 时间:2024/05/21 18:27

STM32的flash读写操作,代替eeprom,调用的流程

STM32的flash读写操作,代替eeprom,调用的流程

Flash的结构体是按页来的, 不是按照bit为单位的, 特别是Nand Flash,其内部必须按照page读写, 按照block来擦除,具体由其内部构架决定。 芯片的片内Flash类似nor flash,其结构有所差别,类似nor flash,虽与nand flash有差别,但是也是有page这种构架的
必须是按页或块进行擦除。这是有flash的结构决定的,它是一种串行存储结构. FLASH的擦除要按照一块区域来擦除,也就是一个整体数据区域的擦除,不能像EEPROM FARM那样单个字节写。这个在编程函数上就能看出来

STM32的独立看门狗的调用流程

STM32的独立看门狗的调用流程

STM32的窗口看门狗的调用流程

STM32的窗口看门狗的调用流程

STM32的窗口看门狗的优先级配置

STM32的窗口看门狗的优先级配置

STM32的窗口看门狗的配置

STM32的窗口看门狗的配置

STM32的窗口看门狗的中断处理函数

STM32的窗口看门狗的中断处理函数

STM32的窗口型看门狗的工作原理

STM32的窗口型看门狗的工作原理

窗口看门狗的工作原理

就是把喂狗的时间规定在一个区间内,比如窗口卡看门狗的触发时间是60-0规定在40-30范围中去喂狗是成功的,假如在60-50期间喂狗则会触发reset,或者在30-0期间喂狗也会触发reset。所以相比独立看门狗规定的条件更加苛刻,对程序的运行状况更加严格。

STM32的低功耗模式的配置

STM32 的软件加密的一般方法有两种分别为:
1. ID加密
2. 把flash配置成为禁止读取的方式

ID一般都放到 用循环把ID都出来放到数组里

//利用遍历的方式把内存里的世界唯一的ID号读取出来放到底下把OXFF换掉。//当知道ID号之后就把此循环删掉。for(i=0; i<12; i++){    ID[i] = *(u8)(0X1FFFF7E8+i);    printf("%0.2X",ID[i]);}//判断ID是否正确“0XFF要换成正确的ID”if(ID[0] == 0Xff && ID[1] == 0Xff && ID[2] == 0Xff && ID[3] == 0Xff   ID[4] == 0Xff && ID[5] == 0Xff && ID[6] == 0Xff && ID[7] == 0Xff   ID[8] == 0Xff && ID[9] == 0Xff && ID[10] == 0Xff && ID[11] == 0Xff){    printf("\r\n通过!");}else{    printf("\r\n失败!");}

读取STM32的ID

读取STM32的ID

读取到ID号,用作判断是否是宇宙唯一的ID

读取到ID号,用作判断

0 0