> For the complete documentation index, see [llms.txt](https://man.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://man.bsdcn.org/man4/pcf8591.4.md).

# pcf8591(4)

`pcf8591` — PCF8591 8 位 A/D 与 D/A 转换器驱动

## 名称

`pcf8591`

## 概要

`要将此驱动编译进内核，请在你的内核配置文件中加入以下行：`

> device pcf8591 device iicbus

`或者，要在引导时以模块形式加载此驱动，请在 loader.conf(5) 中加入以下行：`

```sh
pcf8591_load="YES"
```

## 描述

`pcf8591` 驱动支持通过 I2C 读取四路输入并设置一路输出。硬件支持将输入线配置为：

* 四路单端输入
* 三路差分输入（一路输入线在所有三路输入之间共享）
* 两路单端输入和一路差分输入
* 两路差分输入

`pcf8591` 驱动通过 [sysctl(8)](/man8/sysctl.8.md) 在设备节点下的 [sysctl(8)](/man8/sysctl.8.md) 树中报告数据：

**`inputs.%d`** 对应输入的输入电平，以 0 到 255 之间的步长表示。绝对电压取决于实际的参考电压。

在基于 [fdt(4)](/man4/fdt.4.md) 的系统上，必须设置以下属性：

**`compatible`** 必须设为“nxp,pcf8591”。

**`reg`** `pcf8591` 的 I2C 地址，应在 0x40 到 0x4f（7 位）范围内。

`pcf8591` 设备的 DTS 部分通常如下所示：

```sh
/ {
	...
	pcf8591adc {
		compatible = "nxp,pcf8591";
		reg = <0x48>;
	};
};
```

## 参见

[fdt(4)](/man4/fdt.4.md), [iicbus(4)](/man4/iicbus.4.md), [sysctl(8)](/man8/sysctl.8.md)

## 历史

`pcf8591` 驱动及本手册页由 Andriy Gapon <avg@FreeBSD.org> 编写。

## 缺陷

`pcf8591` 驱动不支持更改输入配置。所有输入线均配置为单端输入。

`pcf8591` 驱动不支持设置输出。输出始终被禁用（三态）。
