1.用户使用手册更新。

This commit is contained in:
MacRsh
2023-09-11 13:16:26 +08:00
parent 847cfde494
commit a875ee6668
5 changed files with 150 additions and 165 deletions

View File

@@ -8,24 +8,23 @@ ADC模数转换器是一种可以将连续的模拟信号转换为离散
----------
## 准备工作
## 准备
1. 引用 `mrdrv.h` 头文件以使用驱动部分
2. 调用ADC设备初始化函数如果实现了自动初始化,则无需调用)
3. 使能 `mrconfig.h` 头文件中ADC宏开关。
1. 调用ADC设备初始化函数如果实现了自动初始化,则无需调用)
2. 使能 `mrconfig.h` 头文件中ADC宏开关
----------
## 调用关系
![调用关系](https://gitee.com/MacRsh/mr-library/raw/master/document/resource/adc_device.png)
![调用关系](https://gitee.com/MacRsh/mr-library/raw/develop/document/resource/adc_device.png)
----------
## 查找ADC设备
```c
mr_device_t mr_device_find(const char *name);
mr_device_t mr_device_find(const char *name);
```
| 参数 | 描述 |
@@ -40,21 +39,21 @@ mr_device_t mr_device_find(const char *name);
## 打开ADC设备
```c
mr_err_t mr_device_open(mr_device_t device, mr_uint16_t flags);
mr_err_t mr_device_open(mr_device_t device, mr_uint8_t oflags);
```
| 参数 | 描述 |
|:----------|:--------|
| device | ADC设备句柄 |
| flags | 打开方式 |
| **返回** | |
| MR_ERR_OK | 打开设备成功 |
| 错误码 | 打开设备失败 |
| 参数 | 描述 |
|:----------|:-------|
| device | ADC设备 |
| oflags | 打开方式 |
| **返回** | |
| MR_ERR_OK | 打开设备成功 |
| 错误码 | 打开设备失败 |
ADC设备支持以下打开方式
```c
MR_OPEN_RDONLY /* 只读 */
MR_DEVICE_OFLAG_RDONLY /* 只读 */
```
----------
@@ -65,20 +64,20 @@ MR_OPEN_RDONLY /* 只读 */
mr_err_t mr_device_ioctl(mr_device_t device, int cmd, void *args);
```
| 参数 | 描述 |
|:----------|:--------|
| device | ADC设备句柄 |
| cmd | 控制命令 |
| args | 控制参数 |
| **返回** | |
| MR_ERR_OK | 控制设备成功 |
| 错误码 | 控制设备失败 |
| 参数 | 描述 |
|:----------|:-------|
| device | ADC设备 |
| cmd | 控制命令 |
| args | 控制参数 |
| **返回** | |
| MR_ERR_OK | 控制设备成功 |
| 错误码 | 控制设备失败 |
ADC设备支持以下命令
```c
MR_CTRL_SET_CONFIG /* 设置参数 */
MR_CTRL_GET_CONFIG /* 获取参数 */
MR_DEVICE_CTRL_SET_CONFIG /* 设置参数 */
MR_DEVICE_CTRL_GET_CONFIG /* 获取参数 */
```
### 设置ADC设备通道
@@ -106,15 +105,15 @@ MR_ENABLE 1 /* 使能通
mr_device_t adc_device = mr_device_find("adc1");
/* 以只读方式打开 */
mr_device_open(adc_device, MR_OPEN_RDONLY);
mr_device_open(adc_device, MR_DEVICE_OFLAG_RDONLY);
/* 获取参数 */
struct mr_adc_config adc_config;
mr_device_ioctl(adc_device, MR_CTRL_GET_CONFIG, &adc_config);
mr_device_ioctl(adc_device, MR_DEVICE_CTRL_GET_CONFIG, &adc_config);
/* 使能通道5 */
adc_config.channel.ch5 = MR_ENABLE;
mr_device_ioctl(adc_device, MR_CTRL_SET_CONFIG, &adc_config);
mr_device_ioctl(adc_device, MR_DEVICE_CTRL_SET_CONFIG, &adc_config);
```
----------
@@ -122,22 +121,20 @@ mr_device_ioctl(adc_device, MR_CTRL_SET_CONFIG, &adc_config);
## 读取ADC设备通道输入值
```c
mr_ssize_t mr_device_read(mr_device_t device, mr_pos_t pos, const void *buffer, mr_size_t size);
mr_ssize_t mr_device_read(mr_device_t device, mr_off_t pos, void *buffer, mr_size_t size);
```
| 参数 | 描述 |
|:----------|:--------|
| device | ADC设备句柄 |
| pos | 读取位置 |
| buffer | 读取数据地址 |
| size | 读取数据大小 |
| **返回** | |
| 实际读取的数据大小 | |
| 参数 | 描述 |
|:----------|:-------|
| device | ADC设备 |
| pos | 读取位置 |
| buffer | 读取数据地址 |
| size | 读取数据大小 |
| **返回** | |
| 实际读取的数据大小 | |
- 读取位置:需要读取数据的通道。
- 读取数据ADC设备采集的输入值。
ADC设备数据为uint32格式。
- 读取位置:需要读取数据的通道有效范围0-31
- 读取数据ADC设备采集的输入值类型为uint32
使用示例:
@@ -148,12 +145,12 @@ ADC设备数据为uint32格式。
mr_device_t adc_device = mr_device_find("adc1");
/* 以只读方式打开 */
mr_device_open(adc_device, MR_OPEN_RDONLY);
mr_device_open(adc_device, MR_DEVICE_OFLAG_RDONLY);
/* 使能通道5 */
struct mr_adc_config adc_config;
adc_config.channel.ch5 = MR_ENABLE;
mr_device_ioctl(adc_device, MR_CTRL_SET_CONFIG, &adc_config);
mr_device_ioctl(adc_device, MR_DEVICE_CTRL_SET_CONFIG, &adc_config);
/* 读取通道5输入值 */
mr_uint32_t adc_value = 0;

View File

@@ -8,17 +8,16 @@ DAC数模转换器是一种可以将离散数字信号转换为连续模
----------
## 准备工作
## 准备
1. 引用 `mrdrv.h` 头文件以使用驱动部分
2. 调用DAC设备初始化函数如果实现了自动初始化,则无需调用)
3. 使能 `mrconfig.h` 头文件中DAC宏开关。
1. 调用DAC设备初始化函数如果实现了自动初始化,则无需调用)
2. 使能 `mrconfig.h` 头文件中DAC宏开关
----------
## 调用关系
![调用关系](https://gitee.com/MacRsh/mr-library/raw/master/document/resource/dac_device.png)
![调用关系](https://gitee.com/MacRsh/mr-library/raw/develop/document/resource/dac_device.png)
----------
@@ -32,7 +31,7 @@ mr_device_t mr_device_find(const char *name);
|:--------|:-------|
| name | DAC设备名 |
| **返回** | |
| DAC句柄 | 查找设备成功 |
| DAC | 查找设备成功 |
| MR_NULL | 查找设备失败 |
----------
@@ -40,21 +39,21 @@ mr_device_t mr_device_find(const char *name);
## 打开DAC设备
```c
mr_err_t mr_device_open(mr_device_t device, mr_uint16_t flags);
mr_err_t mr_device_open(mr_device_t device, mr_uint8_t oflags);
```
| 参数 | 描述 |
|:----------|:--------|
| device | DAC设备句柄 |
| flags | 打开方式 |
| **返回** | |
| MR_ERR_OK | 打开设备成功 |
| 错误码 | 打开设备失败 |
| 参数 | 描述 |
|:------------|:-------|
| device | DAC设备 |
| oflags | 打开方式 |
| **返回** | |
| MR_ERR_OK | 打开设备成功 |
| 错误码 | 打开设备失败 |
DAC设备支持以下打开方式
```c
MR_OPEN_WRONLY /* 只写 */
MR_DEVICE_OFLAG_WRONLY /* 只写 */
```
----------
@@ -67,7 +66,7 @@ mr_err_t mr_device_ioctl(mr_device_t device, int cmd, void *args);
| 参数 | 描述 |
|:----------|:--------|
| device | DAC设备句柄 |
| device | DAC设备 |
| cmd | 控制命令 |
| args | 控制参数 |
| **返回** | |
@@ -77,8 +76,8 @@ mr_err_t mr_device_ioctl(mr_device_t device, int cmd, void *args);
DAC设备支持以下命令
```c
MR_CTRL_SET_CONFIG /* 设置参数 */
MR_CTRL_GET_CONFIG /* 获取参数 */
MR_DEVICE_CTRL_SET_CONFIG /* 设置参数 */
MR_DEVICE_CTRL_GET_CONFIG /* 获取参数 */
```
### 设置DAC设备通道
@@ -106,15 +105,15 @@ MR_ENABLE 1 /* 使能通
mr_device_t dac_device = mr_device_find("dac1");
/* 以只写方式打开 */
mr_device_open(dac_device, MR_OPEN_WRONLY);
mr_device_open(dac_device, MR_DEVICE_OFLAG_WRONLY);
/* 获取参数 */
struct mr_dac_config dac_config;
mr_device_ioctl(dac_device, MR_CTRL_GET_CONFIG, &dac_config);
mr_device_ioctl(dac_device, MR_DEVICE_CTRL_GET_CONFIG, &dac_config);
/* 使能通道1 */
dac_config.channel.ch1 = MR_ENABLE;
mr_device_ioctl(dac_device, MR_CTRL_SET_CONFIG, &dac_config);
mr_device_ioctl(dac_device, MR_DEVICE_CTRL_SET_CONFIG, &dac_config);
```
----------
@@ -122,22 +121,20 @@ mr_device_ioctl(dac_device, MR_CTRL_SET_CONFIG, &dac_config);
## 写入DAC设备通道输出值
```c
mr_ssize_t mr_device_write(mr_device_t device, mr_pos_t pos, const void *buffer, mr_size_t size);
mr_ssize_t mr_device_write(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size);
```
| 参数 | 描述 |
|:----------|:--------|
| device | DAC设备句柄 |
| device | DAC设备 |
| pos | 写入位置 |
| buffer | 写入数据 |
| size | 写入数据大小 |
| **返回** | |
| 实际写入的数据大小 | |
- 写入位置:需要写入数据的通道。
- 写入数据DAC设备输出值。
DAC设备数据为uint32格式。
- 写入位置:需要写入数据的通道有效范围0-31
- 写入数据DAC设备输出值类型为uint32
使用示例:
@@ -148,11 +145,11 @@ DAC设备数据为uint32格式。
mr_device_t dac_device = mr_device_find("dac1");
/* 以只写方式打开 */
mr_device_open(dac_device, MR_OPEN_WRONLY);
mr_device_open(dac_device, MR_DEVICE_OFLAG_WRONLY);
/* 使能通道1 */
dac_config.channel.ch1 = MR_ENABLE;
mr_device_ioctl(dac_device, MR_CTRL_SET_CONFIG, &dac_config);
mr_device_ioctl(dac_device, MR_DEVICE_CTRL_SET_CONFIG, &dac_config);
/* 写入通道1输出值 */
mr_uint32_t dac_value = 1200;

View File

@@ -4,7 +4,7 @@
## 操作流程图
![流程图](https://gitee.com/MacRsh/mr-library/raw/master/document/resource/device_process.jpg)
![流程图](https://gitee.com/MacRsh/mr-library/raw/develop/document/resource/device_process.jpg)
## 设备模型
@@ -15,16 +15,15 @@ struct mr_device
{
struct mr_object object; /* 设备对象基类 */
enum mr_device_type type; /* 设备类型 */
mr_uint16_t support_flag; /* 设备支持的打开方式 */
mr_uint16_t open_flag; /* 设备打开方式 */
mr_uint8_t type; /* 设备类型 */
mr_uint8_t sflags; /* 设备支持的打开方式 */
mr_uint8_t oflags; /* 设备打开方式 */
mr_uint8_t reserved; /* 保留 */
mr_size_t ref_count; /* 设备被引用次数 */
mr_err_t (*rx_cb)(mr_device_t device, void *args); /* 设备接收回调函数 */
mr_err_t (*tx_cb)(mr_device_t device, void *args); /* 设备发送回调函数 */
const struct mr_device_ops *ops; /* 设备操作方法 */
void *data; /* 设备数据 */
};
```
@@ -57,17 +56,16 @@ enum mr_device_type
设备只能以支持的打开方式打开,定义如下:
```c
MR_OPEN_RDONLY 0x1000 /* 只读打开 */
MR_OPEN_WRONLY 0x2000 /* 只写打开 */
MR_OPEN_RDWR 0x3000 /* 可读可写 */
MR_OPEN_NONBLOCKING 0x4000 /* 非阻塞 */
MR_DEVICE_OFLAG_RDONLY 0x10 /* 只读打开 */
MR_DEVICE_OFLAG_WRONLY 0x20 /* 只写打开 */
MR_DEVICE_OFLAG_RDWR 0x30 /* 可读可写 */
MR_DEVICE_OFLAG_NONBLOCKING 0x40 /* 非阻塞 */
```
打开方式可或使用,例如:
非阻塞打开方式可与其他打开方式相或使用,例如:
```c
(MR_OPEN_RDWR | MR_OPEN_NONBLOCKING) /* 非阻塞可读可写 */
(MR_DEVICE_OFLAG_RDWR | MR_DEVICE_OFLAG_NONBLOCKING) /* 非阻塞可读可写 */
```
### 设备操作方法
@@ -80,8 +78,8 @@ struct mr_device_ops
mr_err_t (*open)(mr_device_t device);
mr_err_t (*close)(mr_device_t device);
mr_err_t (*ioctl)(mr_device_t device, int cmd, void *args);
mr_ssize_t (*read)(mr_device_t device, mr_pos_t pos, void *buffer, mr_size_t size);
mr_ssize_t (*write)(mr_device_t device, mr_pos_t pos, const void *buffer, mr_size_t size);
mr_ssize_t (*read)(mr_device_t device, mr_off_t pos, void *buffer, mr_size_t size);
mr_ssize_t (*write)(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size);
};
```
@@ -126,25 +124,24 @@ mr_device_t spi0_device = mr_device_find("spi10");
mr_device_t spi1_device = mr_device_find("spi11");
/* 挂载总线 */
mr_device_ioctl(spi0_device, MR_CTRL_ATTACH, "spi1");
mr_device_ioctl(spi1_device, MR_CTRL_ATTACH, "spi1");
mr_device_ioctl(spi0_device, MR_DEVICE_CTRL_CONNECT, "spi1");
mr_device_ioctl(spi1_device, MR_DEVICE_CTRL_CONNECT, "spi1");
/* 以可读可写的方式打开 */
mr_device_open(spi0_device, MR_OPEN_RDWR);
mr_device_open(spi1_device, MR_OPEN_RDWR);
mr_device_open(spi0_device, MR_DEVICE_OFLAG_RDWR);
mr_device_open(spi1_device, MR_DEVICE_OFLAG_RDWR);
/* 发送数据 */
char buffer0[] = "hello";
char buffer1[] = "world";
mr_device_write(spi0_device, 0, buffer0, sizeof(buffer0) - 1);
mr_device_write(spi1_device, 0, buffer1, sizeof(buffer1) - 1);
mr_device_write(spi0_device, -1, buffer0, sizeof(buffer0) - 1);
mr_device_write(spi1_device, -1, buffer1, sizeof(buffer1) - 1);
/* 读取数据 */
mr_device_read(spi0_device, 0, buffer0, sizeof(buffer0) - 1);
mr_device_read(spi1_device, 0, buffer1, sizeof(buffer1) - 1);
mr_device_read(spi0_device, -1, buffer0, sizeof(buffer0) - 1);
mr_device_read(spi1_device, -1, buffer1, sizeof(buffer1) - 1);
/* 关闭设备 */
mr_device_close(spi0_device);
mr_device_close(spi1_device);
```
```

View File

@@ -8,17 +8,16 @@ GPIO通用目的输入/输出)是一种可以通过软件进行控制的硬
----------
## 准备工作
## 准备
1. 引用 `mrdrv.h` 头文件以使用驱动部分
2. 调用PIN设备初始化函数如果实现了自动初始化,则无需调用)
3. 使能 `mrconfig.h` 头文件中PIN宏开关。
1. 调用PIN设备初始化函数如果实现了自动初始化,则无需调用)
2. 使能 `mrconfig.h` 头文件中PIN宏开关
----------
## 调用关系
![调用关系](https://gitee.com/MacRsh/mr-library/raw/master/document/resource/pin_device.png)
![调用关系](https://gitee.com/MacRsh/mr-library/raw/develop/document/resource/pin_device.png)
----------
@@ -32,7 +31,7 @@ mr_device_t mr_device_find(const char *name);
|:--------|:-------|
| name | PIN设备名 |
| **返回** | |
| PIN句柄 | 查找设备成功 |
| PIN | 查找设备成功 |
| MR_NULL | 查找设备失败 |
----------
@@ -40,23 +39,23 @@ mr_device_t mr_device_find(const char *name);
## 打开PIN设备
```c
mr_err_t mr_device_open(mr_device_t device, mr_uint16_t flags);
mr_err_t mr_device_open(mr_device_t device, mr_uint8_t oflags);
```
| 参数 | 描述 |
|:----------|:--------|
| device | PIN设备句柄 |
| flags | 打开方式 |
| **返回** | |
| MR_ERR_OK | 打开设备成功 |
| 错误码 | 打开设备失败 |
| 参数 | 描述 |
|:------------|:-------|
| device | PIN设备 |
| oflags | 打开方式 |
| **返回** | |
| MR_ERR_OK | 打开设备成功 |
| 错误码 | 打开设备失败 |
PIN设备支持以下打开方式
```c
MR_OPEN_RDONLY /* 只读 */
MR_OPEN_WRONLY /* 只写 */
MR_OPEN_RDWR /* 可读可写 */
MR_DEVICE_OFLAG_RDONLY /* 只读 */
MR_DEVICE_OFLAG_WRONLY /* 只写 */
MR_DEVICE_OFLAG_RDWR /* 可读可写 */
```
----------
@@ -69,7 +68,7 @@ mr_err_t mr_device_ioctl(mr_device_t device, int cmd, void *args);
| 参数 | 描述 |
|:----------|:--------|
| device | PIN设备句柄 |
| device | PIN设备 |
| cmd | 控制命令 |
| args | 控制参数 |
| **返回** | |
@@ -79,8 +78,8 @@ mr_err_t mr_device_ioctl(mr_device_t device, int cmd, void *args);
PIN设备支持以下命令
```c
MR_CTRL_SET_CONFIG /* 设置参数 */
MR_CTRL_SET_RX_CB /* 设置接收(外部中断)回调函数 */
MR_DEVICE_CTRL_SET_CONFIG /* 设置参数 */
MR_DEVICE_CTRL_SET_RX_CB /* 设置接收(外部中断)回调函数 */
```
### 设置PIN设备IO
@@ -90,8 +89,8 @@ PIN控制参数原型如下
```c
struct mr_pin_config
{
mr_pos_t number; /* IO编号 */
mr_uint8_t mode; /* 模式 */
mr_off_t number: 28; /* IO编号 */
mr_uint32_t mode: 4; /* 模式 */
};
```
@@ -124,13 +123,13 @@ MR_PIN_MODE_IRQ_HIGH /* 高电平
mr_device_t pin_device = mr_device_find("pin");
/* 以可读可写的方式打开 */
mr_device_open(pin_device, MR_OPEN_RDWR);
mr_device_open(pin_device, MR_DEVICE_OFLAG_RDWR);
/* 设置B13引脚为推挽输出模式 */
struct mr_pin_config pin_config;
pin_config.number = PIN_NUMBER;
pin_config.mode = MR_PIN_MODE_OUTPUT;
mr_device_ioctl(pin_device, MR_CTRL_SET_CONFIG, &pin_config);
mr_device_ioctl(pin_device, MR_DEVICE_CTRL_SET_CONFIG, &pin_config);
```
### 设置PIN设备IO外部中断并绑定回调函数
@@ -145,7 +144,7 @@ mr_device_ioctl(pin_device, MR_CTRL_SET_CONFIG, &pin_config);
/* 定义回调函数 */
mr_err_t pin_device_cb(mr_device_t device, void *args)
{
mr_pos_t number = *(mr_pos_t *)args; /* 获取中断源 */
mr_off_t number = *(mr_off_t *)args; /* 获取中断源 */
/* 判断中断源B13 */
if (number == PIN_NUMBER)
@@ -158,38 +157,37 @@ mr_err_t pin_device_cb(mr_device_t device, void *args)
mr_device_t pin_device = mr_device_find("pin");
/* 以可读可写的方式打开 */
mr_device_open(pin_device, MR_OPEN_RDWR);
mr_device_open(pin_device, MR_DEVICE_OFLAG_RDWR);
/* 设置B13引脚为上升沿触发模式 */
struct mr_pin_config pin_config;
pin_config.number = PIN_NUMBER;
pin_config.mode = MR_PIN_MODE_IRQ_RISING;
mr_device_ioctl(pin_device, MR_CTRL_SET_CONFIG, &pin_config);
mr_device_ioctl(pin_device, MR_DEVICE_CTRL_SET_CONFIG, &pin_config);
/* 设置回调函数 */
mr_device_ioctl(pin_device, MR_CTRL_SET_RX_CB, pin_device_cb);
mr_device_ioctl(pin_device, MR_DEVICE_CTRL_SET_RX_CB, pin_device_cb);
```
----------
## 读取PIN设备IO电平
## 读取PIN设备IO输入电平
```c
mr_ssize_t mr_device_read(mr_device_t device, mr_pos_t pos, const void *buffer, mr_size_t size);
mr_ssize_t mr_device_read(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size);
```
| 参数 | 描述 |
|:----------|:--------|
| device | PIN设备句柄 |
| device | PIN设备 |
| pos | 读取位置 |
| buffer | 读取数据 |
| size | 读取数据大小 |
| **返回** | |
| 实际读取的数据大小 | |
- 读取位置:需要读取的IO编号如读取B13则pos = 29。
PIN设备数据为int8格式。
- 读取位置需要读取的IO编号如读取B13则pos = 29,有效范围:>=0
- 读取数据PIN设备IO输入电平类型为int8。
使用示例:
@@ -200,39 +198,38 @@ PIN设备数据为int8格式。
mr_device_t pin_device = mr_device_find("pin");
/* 以可读可写的方式打开 */
mr_device_open(pin_device, MR_OPEN_RDWR);
mr_device_open(pin_device, MR_DEVICE_OFLAG_RDWR);
/* 设置B13引脚为浮空输入模式 */
struct mr_pin_config pin_config;
pin_config.number = PIN_NUMBER;
pin_config.mode = MR_PIN_MODE_INPUT;
mr_device_ioctl(pin_device, MR_CTRL_SET_CONFIG, &pin_config);
mr_device_ioctl(pin_device, MR_DEVICE_CTRL_SET_CONFIG, &pin_config);
/* 获取B13电平 */
mr_level_t pin_level = MR_LOW;
mr_level_t pin_level;
mr_device_read(pin_device, PIN_NUMBER, &pin_level, sizeof(pin_level));
```
----------
## 写入PIN设备IO电平
## 写入PIN设备IO输出电平
```c
mr_ssize_t mr_device_write(mr_device_t device, mr_pos_t pos, const void *buffer, mr_size_t size);
mr_ssize_t mr_device_write(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size);
```
| 参数 | 描述 |
|:----------|:--------|
| device | PIN设备句柄 |
| device | PIN设备 |
| pos | 写入位置 |
| buffer | 写入数据 |
| size | 写入数据大小 |
| **返回** | |
| 实际写入的数据大小 | |
- 写入位置:需要写入的IO编号如读取B13则pos = 29。
PIN设备数据为int8格式。
- 写入位置需要写入的IO编号如读取B13则pos = 29,有效范围:>=0
- 写入数据PIN设备IO输出电平类型为int8。
使用示例:
@@ -243,13 +240,13 @@ PIN设备数据为int8格式。
mr_device_t pin_device = mr_device_find("pin");
/* 以可读可写的方式打开 */
mr_device_open(pin_device, MR_OPEN_RDWR);
mr_device_open(pin_device, MR_DEVICE_OFLAG_RDWR);
/* 设置B13引脚为推挽输出模式 */
struct mr_pin_config pin_config;
pin_config.number = PIN_NUMBER;
pin_config.mode = MR_PIN_MODE_OUTPUT;
mr_device_ioctl(pin_device, MR_CTRL_SET_CONFIG, &pin_config);
mr_device_ioctl(pin_device, MR_DEVICE_CTRL_SET_CONFIG, &pin_config);
/* 设置B13为高电平 */
mr_level_t pin_level = MR_HIGH;

View File

@@ -2,46 +2,43 @@
----------
## 准备工作
## 拉取代码
在开始之前,请从 [gitee仓库](https://gitee.com/MacRsh/mr-library.git) 拉去最新代码。
在开始之前,请从 [gitee仓库](https://gitee.com/MacRsh/mr-library.git) 拉代码。
代码包含以下文件:
| 名称 | 描述 |
|:-----------|:------|
| mr_library | |
| -bsp | 板级支持包 |
| -device | 设备文件 |
| -document | 文档 |
| -driver | 驱动文件 |
| -include | 头文件 |
| -module | 组件 |
| -package | 软件包 |
| -src | 源文件 |
| 名称 | 描述 |
|:-----------|:--------|
| mr_library | |
| -bsp | 板级支持包 |
| -device | 设备文件 |
| -document | 文档 |
| -driver | 驱动文件 |
| -include | 头文件 |
| -module | 组件 |
| -package | 软件包 |
| -src | 源文件 |
选择工程所需的文件:
选择需的文件:
| 名称 | 描述 |
|:-----------|:-----|
| mr_library | |
| -include | 头文件 |
| -src | 源文件 |
| 使用设备框架时添加 | |
| -device | 设备文件 |
| -driver | 驱动文件 |
----------
## 配置工程
## 加载项目
1. `mr_library` 文件添加到项目中,并将文件路径添加到项目设置中。
2. 按需配置 `mrconfig.h` 文件中宏开关,裁剪框架
3. 引用 `mrlib.h` 文件。
1.上述文件添加到您的项目中,从 `bsp` 目录中选择芯片对应的驱动文件,并将其复制(替换)到 `driver` 目录中,并将上述文件路径添加到您的项目路径中。
2. 配置 `mrboard.h` 文件中宏定义完成芯片外设裁剪
3. 配置 `mrconfig.h` 文件中宏开关,裁剪不需要的功能
4. 引用 `mrlib.h` 头文件,开始使用。
使用设备框架时,请再完成以下步骤:
1.`bsp` 目录中选择芯片的驱动文件,并将它们放入 `driver` 目录中。
2.`mrboard.h` 文件指定位置处添加芯片头文件,修改宏定义完成外设裁剪。
3. 引用 `mrdrv.h` 头文件以使用设备框架部分。
----------
如使能了自动初始化功能,请查看自动初始化使用手册。