1.文档新增无依赖使用说明。

This commit is contained in:
MacRsh
2024-01-18 03:29:46 +08:00
parent 3f6770b2b1
commit c2cbabf40b
14 changed files with 735 additions and 0 deletions

View File

@@ -101,6 +101,18 @@ mr_dev_ioctl(ds, MR_CTL_SERIAL_SET_CONFIG, &config);
mr_dev_ioctl(ds, MR_CTL_SERIAL_GET_CONFIG, &config);
```
不依赖SERIAL接口
```c
/* 设置默认配置 */
int config[] = {115200, 8, 1, 0, 0, 0};
/* 设置SERIAL设备配置 */
mr_dev_ioctl(ds, MR_CTL_SET_CONFIG, &config);
/* 获取SERIAL设备配置 */
mr_dev_ioctl(ds, MR_CTL_GET_CONFIG, &config);
```
注:如未手动配置,默认配置为:
- 波特率:`115200`
@@ -126,6 +138,22 @@ mr_dev_ioctl(ds, MR_CTL_SERIAL_SET_WR_BUFSZ, &size);
mr_dev_ioctl(ds, MR_CTL_SERIAL_GET_WR_BUFSZ, &size);
```
不依赖SERIAL接口
```c
size_t size = 256;
/* 设置读缓冲区大小 */
mr_dev_ioctl(ds, MR_CTL_SET_RD_BUFSZ, &size);
/* 获取读缓冲区大小 */
mr_dev_ioctl(ds, MR_CTL_GET_RD_BUFSZ, &size);
/* 设置写缓冲区大小 */
mr_dev_ioctl(ds, MR_CTL_SET_WR_BUFSZ, &size);
/* 获取写缓冲区大小 */
mr_dev_ioctl(ds, MR_CTL_GET_WR_BUFSZ, &size);
```
注:如未手动配置,将使用 `Kconfig`中配置的大小默认为32Byte
### 清空读/写缓冲区
@@ -135,6 +163,13 @@ mr_dev_ioctl(ds, MR_CTL_SERIAL_CLR_RD_BUF, MR_NULL);
mr_dev_ioctl(ds, MR_CTL_SERIAL_CLR_WR_BUF, MR_NULL);
```
不依赖SERIAL接口
```c
mr_dev_ioctl(ds, MR_CTL_CLR_RD_BUF, MR_NULL);
mr_dev_ioctl(ds, MR_CTL_CLR_WR_BUF, MR_NULL);
```
### 获取读/写缓冲区数据大小
```c
@@ -147,6 +182,18 @@ mr_dev_ioctl(ds, MR_CTL_SERIAL_GET_RD_DATASZ, &size);
mr_dev_ioctl(ds, MR_CTL_SERIAL_GET_WR_DATASZ, &size);
```
不依赖SERIAL接口
```c
size_t size = 0;
/* 获取读缓冲区数据大小 */
mr_dev_ioctl(ds, MR_CTL_GET_RD_DATASZ, &size);
/* 获取写缓冲区数据大小 */
mr_dev_ioctl(ds, MR_CTL_GET_WR_DATASZ, &size);
```
### 设置/获取读/写回调函数
```c
@@ -173,6 +220,32 @@ mr_dev_ioctl(ds, MR_CTL_SERIAL_SET_WR_CALL, &call);
mr_dev_ioctl(ds, MR_CTL_SERIAL_GET_WR_CALL, &callback);
```
不依赖SERIAL接口
```c
/* 定义回调函数 */
int call(int desc, void *args)
{
/* 获取缓冲区数据大小 */
ssize_t data_size = *(ssize_t *)args;
/* 处理中断 */
return MR_EOK;
}
int (*callback)(int, void *args);
/* 设置读回调函数 */
mr_dev_ioctl(ds, MR_CTL_SET_RD_CALL, &call);
/* 获取读回调函数 */
mr_dev_ioctl(ds, MR_CTL_GET_RD_CALL, &callback);
/* 设置写回调函数 */
mr_dev_ioctl(ds, MR_CTL_SET_WR_CALL, &call);
/* 获取写回调函数 */
mr_dev_ioctl(ds, MR_CTL_GET_WR_CALL, &callback);
```
## 读取SERIAL设备数据
```c