如何表示低电平有效变量?

How to represent active low variables?

我在某些数据表的引脚描述部分发现尾随“#”字符,这表明特定引脚具有 active-low 功能。

是否有任何变量名称约定,例如上拉 GPIO 输入引脚值?

将原理图转换为包含引脚编号常量的头文件时,将常量命名为尽可能接近原理图上的网络名称非常有帮助。

剩下三个我经常遇到的问题:

  1. 带破折号的网名:我只是用下划线代替了它。 BAT-LEVEL 变为 BAT_LEVEL.

  2. 以数字开头的网名:我以相同的前缀开头所有密码:3V3_ENABLE 变为 PIN_3V3_ENABLE.

  3. 带有斜杠或哈希字符或上划线的网络名称(所有这些都表示低电平有效)。我将其替换为 lower-case n 中的 all-capitals 常量。 SPI_CS# 变为 SPI_nCS.

数据表和示意图中的常见信号命名约定是 \ 前缀或文本上方的一行。两者都不能在 C 中使用。

所以我在 C 语言中看到的最常见的命名约定可能是反向信号的后缀 _inv。或者可能不太常用 inv_ 作为前缀。

在某些情况下,您可能希望添加一些抽象层,以便在软件中可变地将 GPIO 引脚从高电平有效切换到低电平有效。