当前位置:网站首页>STM32F103 几个特殊引脚做普通io使用注意事项以及备份寄存器丢失数据问题1,2
STM32F103 几个特殊引脚做普通io使用注意事项以及备份寄存器丢失数据问题1,2
2022-07-28 11:40:00 【yi_tianchou】
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使用
边栏推荐
- After abolishing Tencent cloud: meiyabaike won the bid of 98.3 million
- 西门子对接Leuze BPS_304i 笔记
- 奥浦迈生物通过注册:半年营收1.47亿 国寿成达与达晨是股东
- PHP date calculation operation processing, the current date plus one day and the specified date minus one day
- Functions and pointers in 08 go language
- The usage and Simulation Implementation of vector in STL
- AVL树(平衡搜索树)
- Brief discussion on open source OS distribution
- 用C语言开发NES游戏(CC65)08、背景 碰撞
- PHP timestamp subtraction converts to days, hours, minutes and seconds
猜你喜欢

用C语言开发NES游戏(CC65)07、控制器

奥浦迈生物通过注册:半年营收1.47亿 国寿成达与达晨是股东

New Oriental's single quarter revenue was 524million US dollars, a year-on-year decrease of 56.8%, and 925 learning centers were reduced

The usage and Simulation Implementation of vector in STL

设计一个线程池

Developing NES games with C language (cc65) 08. Background collision

arduino pro mini ATMEGA328P 连线和点亮第一盏LED(同时记录烧录失败的问题stk500_recv)

行业落地呈现新进展 | 2022 开放原子全球开源峰会 OpenAtom OpenHarmony 分论坛圆满召开

产学研用 共建开源人才生态 | 2022 开放原子全球开源峰会教育分论坛圆满召开

Uniapp wechat applet realizes the function of connecting low-power Bluetooth printing
随机推荐
设计一个线程池
arduino pro mini ATMEGA328P 连线和点亮第一盏LED(同时记录烧录失败的问题stk500_recv)
HC-05蓝牙模块调试从模式和主模式经历
DIY system home page, your personalized needs PRO system to meet!
开源汇智创未来 | 2022 开放原子全球开源峰会 OpenAtom openEuler 分论坛圆满召开
Distributed timer
leetcode:704二分查找
PHP gets all the dates of this week or the last seven days
Developing NES games with C language (cc65) 02. What is v-blank?
30 years of open source community | 2022 open atom global open source summit 30 years of special activities of open source community were successfully held
How to build knowledge management system in enterprises and institutions
太赞了!京东研发一哥力荐的高可用网站构建技术PDF,备好水,慢慢啃
SQL injection LESS18 (header injection + error injection)
Developing NES games with C language (cc65) 09, scrolling
SuperMap itablet license module division
金山云冲刺港股拟双重主要上市:年营收90亿 为雷军力挺项目
Basic use of JSON server
[dark horse morning post] LETV 400 employees have no 996 and no internal papers; Witness history! 1 euro =1 US dollar; Stop immediately when these two interfaces appear on wechat; The crackdown on cou
Let Arduino support nuvotom Xintang
With the continuous waves of infringement, the U.S. patent and trademark office began to study the impact of NFT on copyright