CH341
中文手册(二)
6
PULONGiolength ); //
指向
长
度
单
元
,
输入
时为
准备
写出的
长
度
,
返回
后
为实际
写出的
长
度
以
MEM
时
序
连
续
写出数据,
长
度为
0
到
4096
字节
,写
操作期间
ADDR=0
,
例如
:
UCHARbuf[1024];
ULONGlen=1024;
在
buf
中
放
置数据,
准备
以
MEM
方式写出
ch341memwriteaddr0( 0, buf, &放大;len ); //
针
对
0#
设备
以
MEM
方式
向
地址
0
写出
1K
数据
ch341memwriteaddr1( // mem
方式写地址
1: wr#=0, ds#/rd#=1, as#/地址=1, d0-d7=output
ULONGiindex, //
指
定
CH341
设备
序
号
PVOIDibuffer, //
指向
一
个
缓
冲
区
,
放
置
准备
向
地址
1
写出的数据
PULONGiolength ); //
指向
长
度
单
元
,
输入
时为
准备
写出的
长
度
,
返回
后
为实际
写出的
长
度
以
MEM
时
序
连
续
写出数据,
长
度为
0
到
4096
字节
,写
操作期间
ADDR=1
3.4.
同步串口数据
传
输
API
ch341readi2c( //
从
两
线串口读
取
一
个
字节
数据,
仅适
用
于
7
位地址的
设备
ULONGiindex, //
指
定
CH341
设备
序
号
UCHARidevice, //
低
7
位
指
定设备
地址
UCHARiaddr, //
指
定
数据单
元
的地址
PUCHARobyte ); //
指向
一
个
字节
单
元
,
用
于
保
存读
取
的
字节
数据
ch341writei2c( //
向两
线串口写入一
个
字节
数据,
仅适
用
于
7
位地址的
设备
ULONGiindex, //
指
定
CH341
设备
序
号
UCHARidevice, //
低
7
位
指
定设备
地址
UCHARiaddr, //
指
定
数据单
元
的地址
UCHARibyte ); //
待
写入的
字节
数据
ch341writeread( //
执行
数据
流
命令
,
先
输出
再
输入
ULONGiindex, //
指
定
CH341
设备
序
号
ULONGiwritelength, //
写
长
度
,
准备
写出的
长
度
PVOIDiwritebuffer, //
指向
一
个
缓
冲
区
,
放
置
准备
写出的数据
ULONGireadstep, //
准备
读
取
的单
个
块
的
长
度
,
总
长
度为
(ireadstep*ireadtimes)
ULONGireadtimes, //
准备
读
取
的
次
数
PULONGoreadlength, //
指向
长
度
单
元
,
返回
后
为实际
读
取
的
长
度
PVOIDoreadbuffer ); //
指向
一
个
足够
大
的
缓
冲
区
,
用
于
保
存读
取
的数据
先
输出数据
再
输入数据,
执行
数据
流
命令
,
适
用
于同步串口及
总线
扩展方式并口。
ch341setstream( //
设
置同步串口
流模
式
ULONGiindex, //
指
定
CH341
设备
序
号
ULONGimode ); //
指
定
模
式
,
见
下
行
//
位
1
位
0: i2c
速度
/scl
频率
, 00=
低速
20khz,01=
标
准
100khz,10=
快
速
400khz,11=
高速
750KHz
//
位
2: spi
的
i/o
数
/io
引脚
, 0=
单入单出
(4
线接口
),1=
双
入
双
出
(5
线接口
)
//
其它
保
留
,
必须
为
0
ch341streami2c( //
处
理两
线串口的数据
流
,
适
用
于
所
有
两
线串口的
设备
ULONGiindex, //
指
定
CH341
设备
序
号
ULONGiwritelength, //
准备
写出的数据
字节
数
PVOIDiwritebuffer, //
指向
缓
冲
区
,
放
置
准备
写出的数据
,
首
字节
是
设备
地址及读写位
ULONGireadlength, //
准备
读
取
的数据
字节
数