<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=CH55X_SDK</id>
	<title>CH55X SDK - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=CH55X_SDK"/>
	<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=CH55X_SDK&amp;action=history"/>
	<updated>2026-07-21T20:12:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://w.electrodragon.com/w/index.php?title=CH55X_SDK&amp;diff=32402&amp;oldid=prev</id>
		<title>Chao: /* Program Note */</title>
		<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=CH55X_SDK&amp;diff=32402&amp;oldid=prev"/>
		<updated>2021-11-29T04:22:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Program Note&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Possible functions ==&lt;br /&gt;
* Please view github demo code page&lt;br /&gt;
* Simulate CH340 USB-TTL&lt;br /&gt;
* Simulate HID keyboard or mouse&lt;br /&gt;
* Read GPIO and send via HID keyboard&lt;br /&gt;
* Read ADC and send via USB endpoint   -- &amp;gt; [[USB#HID|demo see here.]]&lt;br /&gt;
* Simulate or handle data for USB device, like &amp;quot;barcode scan gun&amp;quot;&lt;br /&gt;
etc ...&lt;br /&gt;
&lt;br /&gt;
== Quick Start Guide ==&lt;br /&gt;
* Connect USB, board will recognized as &amp;quot;USB Module&amp;quot;&lt;br /&gt;
* Use WCHISPTOOL Programmer&lt;br /&gt;
* Demo code please find in git.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Add to keil please use ISP tool, and find this command in the menu, see the image on the right.&lt;br /&gt;
* '''Use latest DEBUG.C and .H file version 1.2 in case of any conflicts and fail'''&lt;br /&gt;
=== Limits ===&lt;br /&gt;
* The IC only can be flashed up to 200 times, please notice this.&lt;br /&gt;
=== Details ===&lt;br /&gt;
* Define in DEBUG.H&lt;br /&gt;
* Default baudrate 57600 for UART 0 and 1&lt;br /&gt;
* Use Internal clock 12M default&lt;br /&gt;
=== CH55x MCU Type Programming Guide ===&lt;br /&gt;
&lt;br /&gt;
* Unzip standard demo file.&lt;br /&gt;
* Find header file in example&lt;br /&gt;
* Keil project file in example too &lt;br /&gt;
* Use any standard 8051 IC, such as AT89C51/AT89S51&lt;br /&gt;
* Memory space select according to MCU config, avoid bootloader area, since out factory is already have bootloader.&lt;br /&gt;
* Only download hex or bin into MCU&lt;br /&gt;
&lt;br /&gt;
=== ISP Programming Mode ===&lt;br /&gt;
* Use WCHISPTOOL&lt;br /&gt;
* For CH551-CH554, Short connect PROG (or P3.6/UD_P ) to 3.3V, plug in USB to power up to enter into download mode.&lt;br /&gt;
* For CH559 is P4.5&lt;br /&gt;
&lt;br /&gt;
== SDK ==&lt;br /&gt;
=== Official SDK Examples ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! Header text !! Header text !! Point !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 559&amp;amp;8模拟U盘.rar || CH558/CH559 ||  || CH559/CH558模拟U盘，支持文件拷贝，删除，新建，文件读写，格式化等操作，存储介质采用2M的SPI flash.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || CH5XX芯片加密建议.rar || CH55X ||  || CH55X系列芯片加密示例和说明文档。&lt;br /&gt;
|-&lt;br /&gt;
| 3 || CH55X脱机烧录器 || CH55X ||  || CH55X脱机烧录器PCB和使用说明文档。&lt;br /&gt;
|-&lt;br /&gt;
| 4 || CH558&amp;amp;9模拟CH9326.rar || CH558/CH559||  || CH559/CH558模拟CH9326，支持CH9326的上位机软件。&lt;br /&gt;
|-&lt;br /&gt;
| 5 || CH558&amp;amp;9模拟串口CH340.rar || CH558/CH559||  || CH559/CH558模拟CH34X，可以用来扩展并口，SPI，串口，PWM，GPIO等，或者采集以上接口数据发送至主机。&lt;br /&gt;
|-&lt;br /&gt;
| 6 || IAP54.rar || CH554 ||  || CH554 IAP演示程序，提供 IAP 下 USB 下载功能&lt;br /&gt;
|-&lt;br /&gt;
| 7 || CH559操作CH340.rar || CH559||  || CH559操作CH340，支持修改波特率。&lt;br /&gt;
|-&lt;br /&gt;
| 8 || CH559操作USB键鼠串口输出.rar || CH559||  || CH559操作键鼠，并且将键鼠数据通过串口输出，也可以修改通过SPI，485等发送键鼠数据，可以用于延长或者键鼠组合。&lt;br /&gt;
|-&lt;br /&gt;
| 9 || CH559操作键鼠支持鼠标报表分析.rar || CH559||  || CHCH559操作键鼠，并且将键鼠数据通过串口输出，也可以修改通过SPI，485等发送键鼠数据，可以用于延长或者键鼠组合。包含HID报表分析，可以获取鼠标 X，Y，滚轮和按键信息。&lt;br /&gt;
|-&lt;br /&gt;
| 10 || LED控制卡例程.rar || CH558/CH559||  || CH558/CH559LED控制卡示例，支持32*1024点LED屏，支持RTC时钟，支持通过U盘更新显示内容，并且显示内容可以保存支持串行Flash中。&lt;br /&gt;
|-&lt;br /&gt;
| 11 || USB+UART的IAP实现.rar || CH558/CH559||  || CH558/CH559 USB+串口IAP功能例子，可以在用户程序直接升级用户程序，提供上位机工具和源码。&lt;br /&gt;
|-&lt;br /&gt;
| 12 || U盘CH559IAP实现.rar || CH559 ||  || CH559 U盘IAP功能实现，U盘根目录下制定文件名文件用于升级用户程序，也可以改成通过寻找文件进行升级。&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 模拟HID兼容设备上传ADC采样.rar || CH558/CH559||  || CH558/CH559模拟HID兼容设备，上传ADC采集的数据，支持端点中断下传。&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 模拟HID键盘支持软件配置.rar || CH558/CH559||  || CH558/CH559模拟键盘，用于1~3键的特殊键盘，支持软件配置键值。也可通过修改软件支持更多的按键。&lt;br /&gt;
|-&lt;br /&gt;
| 15 || Compound_Dev_1.4.rar || CH558/CH559||  || CH558/CH559 模拟HID兼容和键盘复合设备，上电自动弹出指定目录下的EXE软件，通过软件可以查看HID兼容设备中断IN端点数据和统计。&lt;br /&gt;
|-&lt;br /&gt;
| 16 || Compound_Dev.rar || CH554 ||  || CH554 模拟HID兼容和键盘复合设备，上电自动弹出指定目录下的EXE软件，通过软件可以查看HID兼容设备中断IN端点数据和统计，并且支持TouchKey（触摸按键）检测上传数据。&lt;br /&gt;
|-&lt;br /&gt;
| 17 || S_CDC.rar || CH554|| upload &amp;amp; download, USB &amp;lt;=&amp;gt; Serial Dual way transfer || CH554模拟CDC类，PC免驱，可以实现快速批量上下传。&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 554_udisk(可以做数据传输用).rar || CH554||  || CH554模拟U盘，无存储介质，需要根据应用添加合适的存储介质。&lt;br /&gt;
|-&lt;br /&gt;
| 19  || 模拟341.rar || CH554||  || CH554模拟CH340，CH341.&lt;br /&gt;
|-&lt;br /&gt;
| 20  || CH554串口接收数据转USB键值上传.rar || CH554|| upload || CH554标准单一接口USB键盘，串口接收数据转换成键值上传，如串口发送‘a’，上传至文本显示‘a’,支持多字节同时发送.&lt;br /&gt;
|-&lt;br /&gt;
| 21  || CH559操作扫马枪直接字符输出.rar || CH559||  || CH559操作扫码枪，直接字符输出或者源码输出。&lt;br /&gt;
|-&lt;br /&gt;
| 22  || 554_HOST_MIDI.rar || CH554 ||  || CH554操作USB MIDI设备，以操作CH345为例子。&lt;br /&gt;
|-&lt;br /&gt;
| 23 || ch554_uart_2_uart.rar || CH554 ||  || CH554操作CH340、CP2102、PL2303实现数据在CH554的串口0到CH340等芯片串口引脚的双向透传，支持波特率配置、参数掉电自动保存等功能。&lt;br /&gt;
|}&lt;br /&gt;
==== Examples Demo ====&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ch554-eg16.1.png | EG16.1&lt;br /&gt;
File:Ch554-eg16.2.png | EG16.2&lt;br /&gt;
File:Ch554-eg17-CDC_serial_demo.png | EG17 serial &amp;lt;&amp;gt; USB&lt;br /&gt;
File:Ch554-eg20.png | EG20 Upload UART input&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== EVT Demo ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| CompatibilityHID || Example || &lt;br /&gt;
* USB Input Device (HID)&lt;br /&gt;
* USB\VID_5131&amp;amp;PID_2007&amp;amp;REV_0000&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CompositeKM || CH559模拟USB复合设备，键鼠，支持类命令,支持唤醒 || - &lt;br /&gt;
|-&lt;br /&gt;
| VendorDefinedDev || Example ||&lt;br /&gt;
* Simulate USB Module(CH554) CH372&lt;br /&gt;
* Can use CH372 debug tool to test&lt;br /&gt;
|}&lt;br /&gt;
==== Demo Example ====&lt;br /&gt;
01/CompatibilityHID: HID serial data up to USB&lt;br /&gt;
* Press key P15 to send buck data&lt;br /&gt;
02/CompositeKM: &lt;br /&gt;
* &amp;quot;simulate&amp;quot; data in key and mouse via EP1 and EP1 into USB&lt;br /&gt;
03/VendorDefinedDev&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ch554-CompatibilityHID.png | 01 CompatibilityHID 01&lt;br /&gt;
File:Ch554-CompatibilityHID-2.png | 01 CompatibilityHID 02, USB hound read&lt;br /&gt;
File:Ch554-CompatibilityHID-3.png | 01 CompatibilityHID 03, USBbox read&lt;br /&gt;
File:Ch554-CompositeKM.png | 02 CompositeKM key received&lt;br /&gt;
File:VendorDefinedDev01.png | 03 VendorDefinedDev recorgnize &lt;br /&gt;
File:CH554-VendorDefinedDev.png | 03 VendorDefinedDev test 02&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Function ===&lt;br /&gt;
Enp1IntIn &lt;br /&gt;
* USB设备模式端点1的中断上传&lt;br /&gt;
* 键盘数据 ?&lt;br /&gt;
 HIDKey[2] = 0x39;&lt;br /&gt;
 Enp1IntIn();&lt;br /&gt;
* example -&amp;gt; CompositeKM.C&lt;br /&gt;
&lt;br /&gt;
Enp2IntIn &lt;br /&gt;
* 鼠标数据 ?&lt;br /&gt;
 HIDMouse[0] = 0x01;&lt;br /&gt;
 Enp2IntIn();&lt;br /&gt;
* Enp2BlukIn - buck in data to endpoint 2 -&amp;gt; example -&amp;gt; CompatibilityHID&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
== Git and other Examples ==&lt;br /&gt;
* CH554 SDK 1.4 - http://www.wch.cn/downloads/CH554EVT_ZIP.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arduino Support Project - https://github.com/DeqingSun/ch55xduino&lt;br /&gt;
&lt;br /&gt;
Code&lt;br /&gt;
* Demo code git - https://github.com/Edragon/WCH_CH55X&lt;br /&gt;
* CN code example here - http://www.wch.cn/bbs/thread-65023-1.html&lt;br /&gt;
&lt;br /&gt;
Other Code&lt;br /&gt;
* SDCC - https://github.com/Blinkinlabs/ch554_sdcc/tree/master/examples&lt;br /&gt;
APP &lt;br /&gt;
* USB to dual serial - https://github.com/diodep/ch55x_dualserial&lt;br /&gt;
&lt;br /&gt;
[[category: CH55X]]&lt;/div&gt;</summary>
		<author><name>Chao</name></author>
	</entry>
</feed>