[应用方案] 新唐M0内核。接口的TTL电平和斯密特电平的使用

[复制链接]
1282|0
 楼主| tpgf 发表于 2025-2-18 11:37 | 显示全部楼层 |阅读模式
TTL电平
在默认情况下。接口是TTL电平的。其高低电平的阈值如下

2929267b4006f7df2a.png

举个例子。当电源电压为3.3V的时候。IO口电压为1V是。MCU就认为是低电平。当为1.08V是,IO口就认为是高电平。连个阈值的宽度只有0.08V。非常小。



斯密特电平
有些项目需要把阈值拉宽,防止误触发和抖动。可以使用斯密特电平来实现。

8399767b40064a2983.png

举例。斯密特触发下。如在3.3V供电的情况。低于0.99V为低电平。高于2.31V为高电平。这里有个很重要的。规格书只是给出了最大值和最小值,没有给典型值。
我实测是高于2.8V为高电平。 低于2.1V为低电平

至于要使用TTL还是斯密特电平。需要根据电路的电器特性。信号波形来判断。

=============================================================

如何使用
以PB4 这个IO口为例

1.TTL输入模式
SYS->GPB_MFP = (SYS->GPB_MFP & ~SYS_GPB_MFP_PB4MFP_Msk) | SYS_GPB_MFP_PB4_GPIO;
GPIO_SetMode(PB, BIT4, GPIO_PMD_INPUT);


2.斯密特触发模式
SYS->GPB_MFP = (SYS->GPB_MFP & ~SYS_GPB_MFP_PB4MFP_Msk) | SYS_GPB_MFP_PB4_GPIO;
GPIO_SetMode(PB, BIT4, GPIO_PMD_INPUT);
PB->SMTEN |= 0x0010;


使能斯密特触发器的寄存器是如下寄存器。每一列IO口都有对应的一个。如下所示。

3624467b400535930b.png

2351667b4004a46a8b.png

规格书有note。对于port B。n最大只能到4.是因为IO口最大是PB4.其他的也是一个意思。具体看IO口的描述就清楚。
————————————————

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

原文链接:https://blog.csdn.net/zhu378287521/article/details/116117676

您需要登录后才可以回帖 登录 | 注册

本版积分规则

2384

主题

17634

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部