011_STM32程序移植之_内部flash开机次数管理

1. 测试环境:STM32C8T6

2. 测试接口:

3. 串口使用串口一,波特率9600

单片机引脚------------CH340引脚

VCC--------------------VCC

GND-------------------GND

PA9--------------------RXD

PA10-------------------TXD

1.       功能:

1.       使用STM32内部falsh进行开机次数记录

2.       通过串口输入密码进行权限的设置

3.       设置唯一硬件标识

2.       移植基础

1.   008_STM32之_keil编译内存大小解析

2.   009_STM32程序移植之_内部falsh

3. 010_STM32程序移植之_lib库建立

3.       前面三个是解析,有了基础之后进行移植

4.       四个文件

5.       第一个是普通串口打印文件

6.       第二和第四个是开机管理的

7.       第三个是密码初始化,就是先刷这个程序进去初始化变量

8.       开始移植

9.       确定串口程序能够使用,能够串口打印和接收数据

10.   开始移植

11.   调用函数检测

12.   程序需要修改的地方就这里

13.   程序编译成功之后先不下载这个程序

14.   我们下载密码初始化这里这个程序,进行变量的初始化

15.   下载之后会打印一些都系出来,这个里面有解析

16.   密码初始化完成之后,我们再下载刚才移植的程序

17.   会有数据打印出来,打印的数据是因为我们前面进行了密码初始化

18.   看现象,我们密码初始化玩之后能够就行开机20次

19.   当开机超过20次之后,程序就卡死在这里了,不能往下运行了

20.   我们初始密码是{123456},当前面四个正确后面两个不正确时候获得临时开机权限

例如:{123420}      //获得临时开机权限20次

{123450}     //获得临时开机权限20次

21.   在串口中断那里调用串口密码输入

22.   就算重新下载进去也不能进行程序的运行

23.   继续20点,输入密码{123410} 获得临时权限10次,

24.   复位看效果,当临时权限超过10次之后,再次失效

25.   输入正确密码之后可以获得永久权限

26.   临时权限只能输入一次,再次输入就没有用了

27.   效果现在就是这样了,下面开始制作lib库文件,也就是不能看见C文件的内容

28.

29.  疑惑QQ:3045136580

30.  假如以下视频播放不了,可以到腾讯《STM32移植系列》专辑中查找相对应的

31.  腾讯个人主页:

http://v.qq.com/vplus/ffb274f0adf3a4d4374b388a03b2358f/folders

32.   本视频移植地址:https://v.qq.com/x/page/i07717n3l34.html

33.   资料下载地址:https://download.csdn.net/download/xiaoguoge11/10637124

34.   版权所有,仅供学习参考!

35.

011_STM32程序移植之_内部flash开机次数管理的更多相关文章

  1. 012_STM32程序移植之_内部flash开机次数管理lib库建立

    012_STM32程序移植之_内部flash开机次数管理lib库建立 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH ...

  2. 009_STM32程序移植之_内部falsh

    flash  模拟  EEPROM  实验 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH340引脚 VCC---- ...

  3. 016_STM32程序移植之_舵机

    STM32程序移植之舵机PWM测试 接线图如下: STM32引脚 舵机引脚 功能 GND GND 正极电源 具体看舵机的额定电压 PA6 PWM引脚 STM32引脚 CH340引脚 GND GND 3 ...

  4. 007_STM32程序移植之_多通道ADC转换

    1. 测试环境:STM32C8T6 2. 测试:使用DMA进行多通道ADC转换 3. 描述:用 ADC 连续采集 12 路模拟信号,并由 DMA 传输到内存.ADC 配置为扫描 并且连续转换模式,AD ...

  5. 018_STM32程序移植之_串口接收中文

    (一)在平时数据传输中很少用到接收中文的情况,但是最近需要用到就花了半天时间来弄弄 (二)接收原理,从现在接收情况分析:一个中文占两个数据的空间,也就是两个十六进制可以转化成为一个中文 (三)示例情况 ...

  6. STM32 内部flash的读写程序

    ​ /* Base address of the Flash sectors */ #define ADDR_FLASH_SECTOR_0 ((uint32_t)0x08000000) /* Base ...

  7. 010_STM32程序移植之_lib库建立

    STM32之lib库建立 1. 测试环境:STM32C8T6 2. 测试接口: 3.串口使用串口一,波特率9600 单片机引脚------------CH340引脚 VCC-------------- ...

  8. STM32F407使用MFRC522射频卡调试及程序移植成功

    版权声明:转载请注明出处,谢谢 https://blog.csdn.net/Kevin_8_Lee/article/details/88865556 或  https://www.cnblogs.co ...

  9. 第50章 读写内部FLASH—零死角玩转STM32-F429系列

    第50章     读写内部FLASH 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

随机推荐

  1. C++Primer 5th Chap9 Sequential Container

    vector 可变大小数组,支持快速随机访问(在除了尾部之外部分插入删除元素很慢) deque 双端队列,支持快速随机访问(在头尾插入删除元素很快) list 双向链表,仅支持双向顺序访问(在任何位置 ...

  2. 【转】利用匿名namespace解决C++中重复定义的问题

    目录 利用匿名namespace解决C++中重复定义的问题 原文:https://blog.csdn.net/pi9nc/article/details/11267031 利用匿名namespace解 ...

  3. sql 计算奇数还是偶数

    & 运算符来判断奇数还是偶数 sql判断奇数还是偶数 3&1 返回 1 2&1  返回0 0&1 返回 0

  4. 如何在含有json类型的字段上建立多列索引

    废话不多,直接上图 如 : 表结构如图           那么我想在这三个字段上建立一个唯一索引,目的是为了防止重复插入数据, 1.首先,说明一下 data中的json中,key为 tagID 和 ...

  5. 括号配对检测 A

    括号配对检测 A ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮ ...

  6. JS中this和call

    首先来了解一下JS中this的原理: 要访问自己的属性就必须使用 this.属性名 1.this总是指向它的直接调用者: var a={ user:'Artimis', fn:function(){ ...

  7. 线程池工具ThreadPoolExecutor

    JDK1.5中引入了强大的concurrent包,其中最常用的莫过了线程池的实现ThreadPoolExecutor,它给我们带来了极大的方便,但同时,对于该线程池不恰当的设置也可能使其效率并不能达到 ...

  8. YAPI安装和使用

    .本人已验证,参考文档:https://blog.csdn.net/qq_39429962/article/details/84000460 很详细.

  9. leetcode-64. 最小路径和 · vector + DP

    题面 Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right wh ...

  10. vue处理换行符

    1.处理换行符 <tr class="unread" v-for="(item,index) in DataList" :key="index& ...