打印
[应用相关]

STM32中PC13引脚可以当做普通引脚使用吗?如何配置STM32的TAMPER?

[复制链接]
767|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2024-7-20 09:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.STM32中PC13引脚可以当做普通引脚使用吗?
在STM32单片机中,PC13引脚可以作为普通IO使用,但需要进行一定的配置。PC13通常与RTC侵入检测功能(TAMPER)复用,因此需要关闭TAMPER功能才能将其作为普通IO使用。

如果PC13被用作侵入检测引脚(TAMPER),则需要禁用侵入检测功能,否则会导致备份寄存器数据丢失。具体操作是调用BKP_TamperPinCmd(DISABLE);来关闭TAMPER功能。同时,还需要确保VBAT在关机时不掉电,否则也可能导致数据丢失。

对于JTAG调试占用的情况,可以通过调用以下代码,来禁用JTAG功能,这样PA13、PA14、PA15以及PB3、PB4等引脚都可以作为普通IO使用。

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
2.如何配置STM32的TAMPER?
配置STM32的TAMPER需要进行多个步骤,包括禁用侵入检测功能、配置相关时钟和引脚模式等。具体如下:

禁用侵入检测功能:使用BKP_TamperPinCmd(DISABLE);来关闭TAMPER引脚的侵入检测功能。
配置相关时钟:通过RCC_APB2PeriphClockCmd函数使能PORTC时钟和AFIO时钟。例如:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);
配置引脚模式:将PC13配置为普通IO引脚。可以使用GPIO_InitTypeDef结构体进行配置,示例代码如下:
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
关闭LSE:如果使用了LSE(低速外部时钟信号),需要将其关闭,才能将PC14和PC15作为普通IO使用。可以通过RCC_LSEConfig函数实现。例如:
RCC_LSEConfig(RCC_LSE_OFF);
允许修改备份区:使用PWR_BackupAccessCmd(ENABLE);命令来允许对RTC和后备寄存器的修改。
清除侵入事件:在侵入检测事件被检测到并清除后,应该禁止侵入检测引脚TAMPER,然后再重新写入备份数据寄存器前用TPE位启动侵入检测功能,以防止在仍有侵入事件时对备份数据寄存器进行写操作。
        综上所述,配置STM32的TAMPER功能涉及禁用侵入检测、配置时钟和引脚模式等多个步骤,以确保正确实现所需功能。通过遵循上述步骤,可以成功将PC13引脚配置为普通IO使用,并有效管理侵入检测事件。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/2201_75797484/article/details/140484600

使用特权

评论回复
沙发
4c1l| | 2024-7-27 11:14 | 只看该作者
在STM32的默认配置中,PC13引脚通常与RTC侵入检测功能(TAMPER)相关联

使用特权

评论回复
板凳
4c1l| | 2024-7-27 11:14 | 只看该作者
在使用PC13作为普通IO时,备份寄存器的数据会因为VBAT掉电而丢失。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1886

主题

15540

帖子

11

粉丝