Difference between revisions of "APITestPage"
(updated by API) |
(updated by API) |
||
Line 10: | Line 10: | ||
| | | | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
− | int | + | int open( |
− | String devName | + | String devName |
− | + | , int flags) | |
− | int | + | |
− | + | ||
− | + | ||
− | + | ||
− | ) | + | |
</syntaxhighlight> | </syntaxhighlight> | ||
|| | || | ||
参数说明:<br /> | 参数说明:<br /> | ||
− | devName: | + | devName: 要写入数据的<br /> |
− | + | flags: 打开文件的方式,例如可读可写还是只读打开,可选值需参考 FileCtlEnum.java<br /> | |
− | + | <br /> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
返回值说明:<br /> | 返回值说明:<br /> | ||
− | + | 成功返回文件描述符,出错返回-1。<br /> | |
|| | || | ||
− | + | 打开设备。 | |
|- | |- | ||
Line 37: | Line 28: | ||
| | | | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
− | int | + | int ioctlWithIntValue ( |
− | + | int fd, | |
− | + | int cmd, | |
− | int | + | int value) |
− | int | + | |
− | + | ||
− | + | ||
− | ) | + | |
</syntaxhighlight> | </syntaxhighlight> | ||
|| | || | ||
参数说明:<br /> | 参数说明:<br /> | ||
− | + | fd:设备文件描述符<br /> | |
− | + | cmd: ioctl命令<br /> | |
− | + | value:命令参数,限整数<br /> | |
− | + | <br /> | |
− | + | ||
− | + | ||
− | + | ||
返回值说明:<br /> | 返回值说明:<br /> | ||
− | + | 成功返回0,出错返回-1。<br /> | |
|| | || | ||
− | + | 执行设备的ioctl操作 | |
|- | |- | ||
Line 65: | Line 49: | ||
| | | | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
− | int | + | int write( |
− | + | int fd, | |
− | + | byte[] data) | |
− | int | + | |
− | + | ||
− | + | ||
− | + | ||
− | ) | + | |
</syntaxhighlight> | </syntaxhighlight> | ||
|| | || | ||
参数说明:<br /> | 参数说明:<br /> | ||
− | + | fd: 要写入数据的文件描述符<br /> | |
− | + | data: 要写入的数据<br /> | |
− | + | <br /> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
返回值说明:<br /> | 返回值说明:<br /> | ||
− | + | 成功返回写入的字节数,出错返回-1。<br /> | |
|| | || | ||
− | + | 向打开的设备或文件中写数据。 | |
+ | |- | ||
+ | |||
+ | |||
+ | |- | ||
+ | | | ||
+ | <syntaxhighlight lang="java"> | ||
+ | int ioctlWithIntValue ( | ||
+ | int fd, | ||
+ | int cmd, | ||
+ | int value) | ||
+ | </syntaxhighlight> | ||
+ | || | ||
+ | 参数说明:<br /> | ||
+ | fd:设备文件描述符<br /> | ||
+ | cmd: ioctl命令<br /> | ||
+ | value:命令参数,限整数<br /> | ||
+ | <br /> | ||
+ | 返回值说明:<br /> | ||
+ | 成功返回0,出错返回-1。<br /> | ||
+ | || | ||
+ | 执行设备的ioctl操作 | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | | | ||
+ | <syntaxhighlight lang="java"> | ||
+ | int read( | ||
+ | int fd, | ||
+ | byte[] buf, | ||
+ | int len) | ||
+ | </syntaxhighlight> | ||
+ | || | ||
+ | 参数说明:<br /> | ||
+ | fd: 要读出数据的文件描述符<br /> | ||
+ | buf: 存储数据的缓冲区<br /> | ||
+ | len: 要读取的字节数<br /> | ||
+ | <br /> | ||
+ | 返回值说明:<br /> | ||
+ | 成功返回读取的字节数,出错返回-1,如果在调read之前已到达文件末尾,则这次read返回0。<br /> | ||
+ | || | ||
+ | 从打开的设备或文件中读取数据。 | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | | | ||
+ | <syntaxhighlight lang="java"> | ||
+ | int select( | ||
+ | int fd, | ||
+ | int sec, | ||
+ | int usec) | ||
+ | </syntaxhighlight> | ||
+ | || | ||
+ | 参数说明:<br /> | ||
+ | fd: 要查询的文件描述符<br /> | ||
+ | sen: 阻塞等待数据多长时间(单位:秒)<br /> | ||
+ | usec: 阻塞等待数据多长时间 (单位:纳秒,1毫秒=1000纳秒)<br /> | ||
+ | <br /> | ||
+ | 返回值说明:<br /> | ||
+ | 如果fd有数据可读,返回1, 如果没有数据可读,返回0,出错时返回-1。<br /> | ||
+ | || | ||
+ | 查询打开的设备或文件是否有数据可读。 | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | | | ||
+ | <syntaxhighlight lang="java"> | ||
+ | void close(int fd) | ||
+ | </syntaxhighlight> | ||
+ | || | ||
+ | 参数说明:<br /> | ||
+ | fd: 要关闭的文件描述符<br /> | ||
+ | <br /> | ||
+ | 返回值说明:<br /> | ||
+ | 无<br /> | ||
+ | || | ||
+ | 关闭指定的文件描述符 | ||
|- | |- | ||
|} | |} | ||
− | === | + | === 串口通讯的接口说明 === |
::{| class="wikitable" | ::{| class="wikitable" | ||
|- | |- | ||
Line 122: | Line 173: | ||
|| | || | ||
打开指定的串口设备,并返回文件描述符。 | 打开指定的串口设备,并返回文件描述符。 | ||
+ | |- | ||
+ | |} | ||
+ | 接口的使用说明:<br /> | ||
+ | <br /> | ||
+ | 先通过调用openSerialPortEx 打开串口设备,然后可以在线程中、或者用 timer 通过调用 select 接口轮询串口设备是否有数据到来,如果有,则调用 read 接口读取数据。<br /> | ||
+ | <br /> | ||
+ | 要往串口中写入数据,调用 write 接口即可。<br /> | ||
+ | 串口使用完毕后,需要调用 close 关闭串口。<br /> | ||
+ | <br /> | ||
+ | |||
+ | === 开关LED的接口说明 === | ||
+ | ::{| class="wikitable" | ||
+ | |- | ||
+ | | style="background: PaleTurquoise; color: black" | '''接口名称''' | ||
+ | | style="background: PaleTurquoise; color: black" |'''参数与返回值说明''' | ||
+ | | style="background: PaleTurquoise; color: black" |'''功能说明''' | ||
+ | |- | ||
+ | | | ||
+ | <syntaxhighlight lang="java"> | ||
+ | int setLedState( | ||
+ | int ledID, | ||
+ | int ledState ) | ||
+ | </syntaxhighlight> | ||
+ | || | ||
+ | 参数说明:<br /> | ||
+ | ledID: 指定要开关哪一个LED (取值0~3)<br /> | ||
+ | ledState: 1表示亮,0表示灭<br /> | ||
+ | <br /> | ||
+ | 返回值说明:<br /> | ||
+ | 成功返回0,失败返回-1<br /> | ||
+ | || | ||
+ | 该接口用于开关LED灯。 | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | === 让PWM蜂鸣器发声和停止发声的接口说明 === | ||
+ | ::{| class="wikitable" | ||
+ | |- | ||
+ | | style="background: PaleTurquoise; color: black" | '''接口名称''' | ||
+ | | style="background: PaleTurquoise; color: black" |'''参数与返回值说明''' | ||
+ | | style="background: PaleTurquoise; color: black" |'''功能说明''' | ||
+ | |- | ||
+ | | | ||
+ | <syntaxhighlight lang="java"> | ||
+ | int PWMPlay(int frequency); | ||
+ | </syntaxhighlight> | ||
+ | || | ||
+ | 参数说明:<br /> | ||
+ | frequency: 要发声的频率<br /> | ||
+ | <br /> | ||
+ | 返回值说明:<br /> | ||
+ | 成功返回0,失败返回-1<br /> | ||
+ | || | ||
+ | 按指定的频率让蜂鸣器发声 | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | | | ||
+ | <syntaxhighlight lang="java"> | ||
+ | int PWMStop(); | ||
+ | </syntaxhighlight> | ||
+ | || | ||
+ | 参数说明:<br /> | ||
+ | 无<br /> | ||
+ | <br /> | ||
+ | 返回值说明:<br /> | ||
+ | 成功返回0,失败返回-1<br /> | ||
+ | || | ||
+ | 让蜂鸣器停止发声 | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | === 读取ADC的转换结果的接口说明 === | ||
+ | ::{| class="wikitable" | ||
+ | |- | ||
+ | | style="background: PaleTurquoise; color: black" | '''接口名称''' | ||
+ | | style="background: PaleTurquoise; color: black" |'''参数与返回值说明''' | ||
+ | | style="background: PaleTurquoise; color: black" |'''功能说明''' | ||
+ | |- | ||
+ | | | ||
+ | <syntaxhighlight lang="java"> | ||
+ | int readADC() | ||
+ | </syntaxhighlight> | ||
+ | || | ||
+ | 参数说明:<br /> | ||
+ | 无<br /> | ||
+ | <br /> | ||
+ | 返回值说明:<br /> | ||
+ | 成功返回ADC转换的结果,失败返回-1<br /> | ||
+ | || | ||
+ | 读取第一个通道的ADC转换结果 | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | | | ||
+ | <syntaxhighlight lang="java"> | ||
+ | int readADCWithChannel(int channel) | ||
+ | </syntaxhighlight> | ||
+ | || | ||
+ | 参数说明:<br /> | ||
+ | channel: 读取指定通道的ADC的值<br /> | ||
+ | <br /> | ||
+ | 返回值说明:<br /> | ||
+ | 成功返回ADC转换的结果,失败返回-1<br /> | ||
+ | || | ||
+ | 读取指定通道的ADC转换的结果 | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | | | ||
+ | <syntaxhighlight lang="java"> | ||
+ | int[] readADCWithChannels(int[] channels); | ||
+ | </syntaxhighlight> | ||
+ | || | ||
+ | 参数说明:<br /> | ||
+ | channels: 要读取通道的ADC频道数组<br /> | ||
+ | <br /> | ||
+ | 返回值说明:<br /> | ||
+ | 成功返回多个ADC结果(数组),错误返回空<br /> | ||
+ | || | ||
+ | 一次性读取多个频道的结果,性能好 | ||
|- | |- | ||
|} | |} |
Revision as of 05:59, 22 October 2018
Contents
1 函数库(libfriendlyarm-hardware.so)接口说明
在应用层,可透过上一章节中的HardwareControler类来调用libfriendlyarm-hardware.so库中的接口,下面中列出HardwareControler类中的接口的定义,这些接口都是类方法,因此不需要创建HardwareControler对象实例:
1.1 通用的输入输出接口
接口名称 参数与返回值说明 功能说明 int open( String devName , int flags)
参数说明:
devName: 要写入数据的
flags: 打开文件的方式,例如可读可写还是只读打开,可选值需参考 FileCtlEnum.java
返回值说明:
成功返回文件描述符,出错返回-1。
打开设备。
int ioctlWithIntValue ( int fd, int cmd, int value)
参数说明:
fd:设备文件描述符
cmd: ioctl命令
value:命令参数,限整数
返回值说明:
成功返回0,出错返回-1。
执行设备的ioctl操作
int write( int fd, byte[] data)
参数说明:
fd: 要写入数据的文件描述符
data: 要写入的数据
返回值说明:
成功返回写入的字节数,出错返回-1。
向打开的设备或文件中写数据。
int ioctlWithIntValue ( int fd, int cmd, int value)
参数说明:
fd:设备文件描述符
cmd: ioctl命令
value:命令参数,限整数
返回值说明:
成功返回0,出错返回-1。
执行设备的ioctl操作
int read( int fd, byte[] buf, int len)
参数说明:
fd: 要读出数据的文件描述符
buf: 存储数据的缓冲区
len: 要读取的字节数
返回值说明:
成功返回读取的字节数,出错返回-1,如果在调read之前已到达文件末尾,则这次read返回0。
从打开的设备或文件中读取数据。
int select( int fd, int sec, int usec)
参数说明:
fd: 要查询的文件描述符
sen: 阻塞等待数据多长时间(单位:秒)
usec: 阻塞等待数据多长时间 (单位:纳秒,1毫秒=1000纳秒)
返回值说明:
如果fd有数据可读,返回1, 如果没有数据可读,返回0,出错时返回-1。
查询打开的设备或文件是否有数据可读。
void close(int fd)
参数说明:
fd: 要关闭的文件描述符
返回值说明:
无
关闭指定的文件描述符
1.2 串口通讯的接口说明
接口名称 参数与返回值说明 功能说明 int openSerialPortEx( String devName, long baud, int dataBits, int stopBits, String parityBit, String flowCtrl )
参数说明:
devName: 串口设备文件名,可选的值有:
/dev/ttyS4
baud: 波特率
dataBits: 数据位 (取值 5~8,一般用8 )
stopBits: 停止位 (取值 1~2,一般用1 )
parityBit: 奇偶校验位(取值为单个字母,O表示奇校验,E表示偶校验,N表示无校验)
flowCtrl: 数据流控制(取值为单个字母,H表示硬件流控制,S表示软件流控制,N表示不使用数据流控制)
返回值说明:
成功打开串口时,将返回串口的文件描述符,用该描述符可进行 read、write和select等操作,如果打开失败,则返回 -1
打开指定的串口设备,并返回文件描述符。
接口的使用说明:
先通过调用openSerialPortEx 打开串口设备,然后可以在线程中、或者用 timer 通过调用 select 接口轮询串口设备是否有数据到来,如果有,则调用 read 接口读取数据。
要往串口中写入数据,调用 write 接口即可。
串口使用完毕后,需要调用 close 关闭串口。
1.3 开关LED的接口说明
接口名称 参数与返回值说明 功能说明 int setLedState( int ledID, int ledState )
参数说明:
ledID: 指定要开关哪一个LED (取值0~3)
ledState: 1表示亮,0表示灭
返回值说明:
成功返回0,失败返回-1
该接口用于开关LED灯。
1.4 让PWM蜂鸣器发声和停止发声的接口说明
接口名称 参数与返回值说明 功能说明 int PWMPlay(int frequency);
参数说明:
frequency: 要发声的频率
返回值说明:
成功返回0,失败返回-1
按指定的频率让蜂鸣器发声
int PWMStop();
参数说明:
无
返回值说明:
成功返回0,失败返回-1
让蜂鸣器停止发声
1.5 读取ADC的转换结果的接口说明
接口名称 参数与返回值说明 功能说明 int readADC()
参数说明:
无
返回值说明:
成功返回ADC转换的结果,失败返回-1
读取第一个通道的ADC转换结果
int readADCWithChannel(int channel)
参数说明:
channel: 读取指定通道的ADC的值
返回值说明:
成功返回ADC转换的结果,失败返回-1
读取指定通道的ADC转换的结果
int[] readADCWithChannels(int[] channels);
参数说明:
channels: 要读取通道的ADC频道数组
返回值说明:
成功返回多个ADC结果(数组),错误返回空
一次性读取多个频道的结果,性能好