> For the complete documentation index, see [llms.txt](https://book.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.bsdcn.org/man/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)](/man/man8/sysctl.8.md) 在设备节点下的 [sysctl(8)](/man/man8/sysctl.8.md) 树中报告数据：

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

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

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

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

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

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

## 参见

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

## 历史

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

## 缺陷

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

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://book.bsdcn.org/man/man4/pcf8591.4.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
