stm32F103C8T6芯片

备份寄存器数据丢失两种可能:

1、触发了入侵中断

PC13 做为普通IO使用时 要禁用入侵中断功能,否则会导致备份寄存器数据在关机,在启动的时候数据丢失,(可以查阅其他文章,不详解)

2、  芯片VBAT 在关机的时候掉电. 如果需要备份寄存器在关机的时候保存数据,那么VBAT需要接到纽扣电池,如果关机之后VBAT也掉电,备份寄存器是无法保存的,当时我就是好奇为什么备份寄存器数据总是丢失,之后发现是VBAT的原因,后来改成了 flash存储的数据,做法:关机的时候触发 低电压中断,然后保存数据到flash.(一般用MCU内部的flash 存储的话,100uF 足够512字节存储)

下面是几个特殊引脚的说明:

1、PC13   RTC

入侵功能介绍:

侵入检测功能分析:功能数据备份。

1 BKP_CR的TPAL位,设定决定TAMPER引脚的信号由0变1或是又1变0为有效触发信号,产生侵入检测事件置位标志 位(BKR_CSR 的TEF)。

2 侵入检测事件后会将所有数据备份寄存器复位。

3 注意一点的是:在BKP_CR的TPE位允许使能之前,一当有侵入检测引脚产生的侵入检测事件也是有效的。这一点有利 于更好的保护数据。

4.一当TPAL=0(或1),如果在在BKP_CR的TPE位允许(侵入检测引脚允许位)使能之前TPAL=1(或0),则一旦允许了侵入检测功能,则会产生一个额外的侵入事件。尽管BKP_CR的TPE(侵入检测引脚允许位)位为1后并为出现新的沿跳变

5 在一个侵入检测事件被检测到并被清零后,侵入检测引脚应该要禁止掉。当再次在想写数据备份寄存器之前重新设置BKP_CR的TPE位(侵入检测引脚允许位)。这样可以避免侵入检测引脚上仍有侵入检测事件产生时,不断的对数据备份寄存器写操作。

6VDD电源断开时, 侵入检测功能仍有效,位了避免不必要的数据备份寄存器复位,TAMPER引脚外部应连接到正确的电平上。

初始化IO的时候加上这句号:

PWR_BackupAccessCmd( ENABLE );/* 允许修改RTC和后备寄存器*/
     RCC_LSEConfig(RCC_LSE_OFF);//关闭外部低速外部时钟信号功能 后,PC13 PC14 PC15 才可以当普通IO用。
     BKP_TamperPinCmd(DISABLE);  /* 关闭入侵检测功能,PC13可以用作普通IO*/
     BKP_ITConfig(DISABLE);       /* 禁止TAMPER 中断*/

2、 PA13  PA14  PA15   这三个脚默认是  JTAG脚 ,就算是按照普通IO进行初始化也是不可以正常用的需要添加

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);

则可以当做正常IO使用

STM32F103 几个特殊引脚做普通io使用注意事项以及备份寄存器丢失数据问题1,2相关推荐

  1. Mysql 宕机引发索引丢失很可怕,文件 IO 中如何保证掉电不丢失数据?

    欢迎关注方志朋的博客,回复"666"获面试宝典 众所周知,存储设计离不开文件 IO,将数据存储到文件中进行持久化,是大多数消息队列.数据库系统的常规操作.为了更贴近实际的生产场景, ...

  2. 文件 IO 中如何保证掉电不丢失数据?

    前言 好久没有分享文件 IO 的小技巧了,依稀记得上次分享还是在上次. 第二届云原生编程挑战赛正在火热进行中,Kirito 也在做<针对冷热读写场景的RocketMQ存储系统设计>这个题目 ...

  3. STM32F103最小系统板引脚定义

    STM32F103最小系统原理图 本人初学stm32,若有误解之处,还望大佬们指正改进,感谢! STM32F103各引脚定义 可前往<STM32F103xCDE_数据手册-英文>的第三章 ...

  4. STM32F10×××系列的PC13、PC14、PC15引脚用作普通IO口配置方法

    1. 引脚定义 2. 引脚用作普通IO口的条件 注:最新文档中已经删除"在同一时间只有一个引脚能作为输出"也就是三个引脚可以同时作为输出引脚,其他条件未变 3. 代码 void g ...

  5. STM32 PB3 PB4 PA15引脚作为普通IO口使用指南

    STM32 PB3 PB4 PA15引脚作为普通IO口使用指南 stm32的PB3 PB4 PA15引脚可以在使用SWD仿真和烧录的情况下释放出来,作为普通IO口使用. 查看数据手册的引脚定义可以看到 ...

  6. ## STM32F103的光照、烟雾MQ2、有毒气体MQ135的ADC配置(寄存器版与库函数版

    STM32F103的光照.烟雾MQ2.有毒气体MQ135的ADC配置(寄存器版与库函数版 //#include "adc.h"#if 0 //寄存器编程 /************ ...

  7. FIO测试在不同内核IO参数配置下性能变化情况实验数据记录

    实验环境为:四核八线程core i5 CPU,16G内存,350G HDD硬盘 可以在系统盘测试文件系统读写性能,不能测试裸盘的性能!!!测试的时候先利用fio写一个大文件,然后再做读的测试,防止读测 ...

  8. oracle快速备份全库,做了两次rman 全库备份,如何快速删除第一次的备份?

    [20160728]删除备份集问题.txt --itpub有人问的问题,链接:http://www.itpub.net/thread-2064530-1-1.html 做了两次rman 全库备份,如何 ...

  9. linux 移动硬盘 machine,MacBook使用一块移动硬盘做Win To Go及Time Machine备份

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 前言 博主使用的MacBook Air,256G闪存,可用空间约251G,曾经的分区表为: (这是使用diskutil ...

最新文章

  1. Windows核心编程(3)字符编码详解
  2. android remoteviews 设置背景,Android通过RemoteViews实现跨进程更新UI示例
  3. 【知识图谱】知识图谱概论
  4. 布谷鸟沙盒分析静态文件_“案例沙盒方法”喜提国际商学院协会(AACSB)2019年启发式创新奖...
  5. Leetcode--200. 岛屿数量
  6. octobercms 执行php代码_PHP7语言执行原理
  7. FreeRTOS列表
  8. 2021-2025年中国云计算数据中心IT资产处置(ITAD)行业市场供需与战略研究报告
  9. ffmpeg (四):ffmpeg, ffplay, ffprobe用法
  10. python正则表达式处理文本内容_Python处理txt文本
  11. 给Chrome和Firefox添加js脚本作为插件的方法
  12. 现代大学英语精读第二版(第六册)学习笔记(原文及全文翻译)——3 - What Is News?(新闻是什么?)
  13. java局域网聊天博客,java swing+socket+mysql实现多个客户端局域网聊天
  14. html自动循环播放视频列表
  15. 高斯消元法求解线性方程组(附python代码)
  16. 宽带服务器无响应678,宽带连接错误678怎么办 是什么原因导致的【解决方法】...
  17. shell脚本编写简易教程
  18. 聊聊从脑神经到神经网络
  19. Mathematics for Computer Science 2
  20. 厚涂要用ps软件么?什么是厚涂技法

热门文章

  1. 新编计算机应用基础教材答案,新编计算机应用基础习题参考答案22365.doc
  2. 开发android主攻四大方向
  3. 数字化背景下,律师行业如何高效办公?
  4. Android使用adb命令行卸载手机设备上的应用
  5. 【毕业设计】13-基于单片机的锂电池管理系统(原理图+源码+仿真工程+论文)
  6. ARM64汇编指令入门
  7. 如何模拟一次超过 5 万的并发用户?
  8. python猜单词小游戏
  9. matlab信号分析实验报告,信号分析及处理实验报告(基于MATLAB).doc
  10. offsetWidth、clientWidth、scrollWidth三者的区别