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

@@ -104,6 +104,19 @@ mr_dev_ioctl(ds, MR_CTL_SERIAL_SET_CONFIG, &config);
mr_dev_ioctl(ds, MR_CTL_SERIAL_GET_CONFIG, &config);
```
Independent of SERIAL interface:
```c
/* Set default configuration */
int config[] = {115200, 8, 1, 0, 0, 0};
/* Set SERIAL device configuration */
mr_dev_ioctl(ds, MR_CTL_SET_CONFIG, &config);
/* Get SERIAL device configuration */
mr_dev_ioctl(ds, MR_CTL_GET_CONFIG, &config);
```
Note: If not configured manually, the default configuration is:
- Baud rate: `115200`
@@ -131,6 +144,24 @@ mr_dev_ioctl(ds, MR_CTL_SERIAL_SET_WR_BUFSZ, &size);
mr_dev_ioctl(ds, MR_CTL_SERIAL_GET_WR_BUFSZ, &size);
```
Independent of SERIAL interface:
```c
size_t size = 256;
/* Set read buffer size */
mr_dev_ioctl(ds, MR_CTL_SET_RD_BUFSZ, &size);
/* Get read buffer size */
mr_dev_ioctl(ds, MR_CTL_GET_RD_BUFSZ, &size);
/* Set write buffer size */
mr_dev_ioctl(ds, MR_CTL_SET_WR_BUFSZ, &size);
/* Get write buffer size */
mr_dev_ioctl(ds, MR_CTL_GET_WR_BUFSZ, &size);
```
Note: If not configured manually, the size configured in `Kconfig` will be used (default is 32Byte).
### Clear Read/Write Buffer
@@ -140,6 +171,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);
```
Independent of SERIAL interface:
```c
mr_dev_ioctl(ds, MR_CTL_CLR_RD_BUF, MR_NULL);
mr_dev_ioctl(ds, MR_CTL_CLR_WR_BUF, MR_NULL);
```
### Get Read/Write Buffer Data Size
```c
@@ -152,6 +190,18 @@ mr_dev_ioctl(ds, MR_CTL_SERIAL_GET_RD_DATASZ, &size);
mr_dev_ioctl(ds, MR_CTL_SERIAL_GET_WR_DATASZ, &size);
```
Independent of SERIAL interface:
```c
size_t size = 0;
/* Get read buffer data size */
mr_dev_ioctl(ds, MR_CTL_GET_RD_DATASZ, &size);
/* Get write buffer data size */
mr_dev_ioctl(ds, MR_CTL_GET_WR_DATASZ, &size);
```
### Set/Get Read/Write Callback Function
```c
@@ -180,6 +230,34 @@ mr_dev_ioctl(ds, MR_CTL_SERIAL_SET_WR_CALL, &call);
mr_dev_ioctl(ds, MR_CTL_SERIAL_GET_WR_CALL, &callback);
```
Independent of SERIAL interface:
```c
/* Define callback function */
int call(int desc, void *args)
{
/* Get buffer data size */
ssize_t data_size = *(ssize_t *)args;
/* Handle interrupt */
return MR_EOK;
}
int (*callback)(int, void *args);
/* Set read callback function */
mr_dev_ioctl(ds, MR_CTL_SET_RD_CALL, &call);
/* Get read callback function */
mr_dev_ioctl(ds, MR_CTL_GET_RD_CALL, &callback);
/* Set write callback function */
mr_dev_ioctl(ds, MR_CTL_SET_WR_CALL, &call);
/* Get write callback function */
mr_dev_ioctl(ds, MR_CTL_GET_WR_CALL, &callback);
```
## Read Data from SERIAL Device
```c