Chuyển đến nội dung
Display Engineer
Bộ điều khiển cảm ứng · Hynitron

CST816S: datasheet, sơ đồ chân & mã khởi tạo

CST816S là bộ điều khiển cảm ứng điện dung single-touch của Hynitron, giao tiếp qua I2C và có sẵn tính năng cử chỉ, được sử dụng trên các màn hình nhỏ và tròn như module 1.28″ 240×240.

DEDisplay Engineer Applications Team · Kỹ sư ứng dụng màn hìnhCập nhật 21 thg 10, 2026
Nhà sản xuấtHynitron
LoạiBộ điều khiển cảm ứng
Giao tiếpI2C
Độ phân giải tối đa1 touch point

Tổng quan về CST816S

Hạng mục

Giá trị

Nguồn

Địa chỉ I2C (7-bit)

0x15

Espressif esp_lcd_touch_cst816s; ví dụ device-tree trên Linux

Số điểm cảm ứng

1 (một ngón tay)

Driver và README của Espressif

Dữ liệu cảm ứng

Bắt đầu tại 0x01 (cử chỉ), tiếp theo 0x02 (số ngón), X tại 0x03–0x04, Y tại 0x05–0x06

Driver hynitron-cst816x trên Linux

Thanh ghi Chip ID

0xA7

Driver của Espressif

compatible trên Linux

hynitron,cst816s

Device-tree binding trên Linux

Đọc một lần chạm

Driver Linux đọc 6 byte bắt đầu từ thanh ghi 0x01:

Thanh ghi

Nội dung

0x01

Mã cử chỉ

0x02

Số ngón tay (0 hoặc 1)

0x03–0x04

X, big-endian, 12 bit thấp

0x05–0x06

Y, big-endian, 12 bit thấp

Các mã cử chỉ mà driver Linux xử lý: 0x01 trượt lên, 0x02 trượt xuống, 0x03 trượt sang trái, 0x04 trượt sang phải, 0x0C nhấn giữ.

CST816S không phản hồi cho đến khi bạn chạm vào

README của Espressif cảnh báo rằng chip "chỉ phản hồi các lệnh I2C sau một sự kiện, chẳng hạn như phát hiện có chạm. Đừng kỳ vọng nó phản hồi ngay lúc init." Đó là lý do trình quét I2C khi khởi động thường không tìm thấy gì tại 0x15, và vì sao ESPHome có tùy chọn skip_probe để bỏ qua việc đọc chip ID khi khởi động. Espressif còn bổ sung rằng trên một số chip, việc đọc ID có thể khiến quá trình khởi tạo thất bại. Hãy chạm vào màn hình trong lúc quét, hoặc bỏ qua bước kiểm tra ID.

Reset và ngắt

  • Driver Linux kéo reset trong 50 ms, thả chân và chờ 100 ms. Driver của Espressif chờ 200 ms ở mỗi bước.
  • INT là tùy chọn trong driver của Espressif (nó có thể poll). Driver Linux yêu cầu ngắt và sẽ không probe được nếu thiếu.

Chạm ảo (ghost touch)

Một developer đã công bố sketch kiểm tra cho thấy CST816D trên Waveshare ESP32-S3-Touch-LCD-2 báo các lần chạm mà không ai thực hiện, chủ yếu dọc theo trục giữa theo chiều dọc, trên hai board và ngay cả với code demo chính chủ của Waveshare. Chưa có bản sửa lỗi nào được xác nhận. Nếu bạn gặp hiện tượng chạm ảo, hãy chạy demo của nhà sản xuất trước để tách biệt lỗi phần cứng khỏi code của bạn, sau đó kiểm tra nguồn nuôi và tiếp đất của board trước khi lọc lần chạm bằng phần mềm.

Các controller liên quan

Component cst816 của ESPHome liệt kê CST716, CST816D, CST816S, CST816T, CST820, CST826 và CST836. Với các panel đa điểm chạm cỡ 4″–7″, xem GT911; với màn hình tròn 1.28″, xem hướng dẫn GC9A01 + ESP32 của chúng tôi.

Hướng dẫn & so sánh

CST816S: xử lý sự cố & FAQ

Tại sao CST816S của tôi không được phát hiện trên I2C?

CST816S chỉ phản hồi trên I2C sau một sự kiện như thao tác chạm, do đó quét I2C lúc khởi động thường không tìm thấy thiết bị nào tại 0x15. Hãy chạm vào màn hình trong lúc quét, nhả chân reset trước, và trong ESPHome đặt skip_probe: true. Espressif lưu ý rằng trên một số chip, việc đọc ID có thể khiến quá trình khởi tạo thất bại.

CST816S có hỗ trợ đa điểm chạm không?

Không. Nó chỉ báo cáo một điểm chạm; driver của Espressif giới hạn số điểm ở mức 1. Tuy nhiên nó hỗ trợ báo cử chỉ: trượt lên, xuống, trái, phải và nhấn giữ. Để dùng đa điểm chạm, hãy chọn controller loại GT911.

Tại sao CST816 của tôi báo cảm ứng ma (ghost touch)?

Một báo cáo công khai cho thấy CST816D trên bo Waveshare ESP32-S3-Touch-LCD-2 vẫn báo các điểm chạm dọc theo đường tâm dọc ngay cả với code demo của chính nhà sản xuất, và chưa có bản sửa lỗi nào được xác nhận. Hãy chạy demo của nhà sản xuất để loại trừ code của bạn, sau đó kiểm tra nguồn điện và nối đất trước khi lọc sự kiện chạm bằng phần mềm.

Nguồn

  1. Espressif ESP-BSP: driver esp_lcd_touch_cst816s
  2. Espressif ESP-BSP: README của esp_lcd_touch_cst816s
  3. Linux kernel: drivers/input/touchscreen/hynitron-cst816x.c
  4. Linux kernel: device-tree binding hynitron,cst816x
  5. ESPHome: màn hình cảm ứng CST816
  6. seanuleh: sketch kiểm tra cảm ứng ma cho Waveshare ESP32-S3-Touch-LCD-2 (CST816D)

Chưa chắc màn hình nào phù hợp thiết kế của bạn?

Gửi kích thước, giao tiếp và bộ xử lý host. Kỹ sư màn hình sẽ phản hồi trong 12 giờ với 2–3 phương án, datasheet và mã khởi tạo. Mẫu từ 1 chiếc.