在线时间381 小时
UID3433535
ST金币0
蝴蝶豆442
注册时间2017-10-24
论坛元老
- 最后登录
- 2020-7-12
|
a0a.1 32b0c
DreamOS-RT 采用了一种类似于 POSIX 和 Arduino 的驱动程序架构。
由于 LoRa 模块本体的工作模式以透传为主,因此模块的 DreamOS-RT 驱动程序直接继承基本串口驱动,使用的 POSIX 文件访问 API 接口。但由于模块配置的需要,在文件访问 API 和串口 termios ioctl 以外,在增加几个 LoRa ioctl 命令:- #define IOCTL_LORA_BASE 0x4500
- #define IOCTL_LORA_SET_CONFIGURATION (IOCTL_LORA_BASE + 0xc0)
- #define IOCTL_LORA_GET_CONFIGURATION (IOCTL_LORA_BASE + 0xc1)
- #define IOCTL_LORA_GET_VERSION (IOCTL_LORA_BASE + 0xc3)
- #define IOCTL_LORA_RESET (IOCTL_LORA_BASE + 0xc4)
复制代码 注意上面列举的 ioctl 配置参数当中没有串口接口速率相关的配置内容。这部分配置与基类的 termios ioctl 重合,故省略。
考虑到 LoRa 模块的 I/O 配置要求,故采用这样的 open 函数:
- int open_lora(USART *usart, pin_t m1, pin_t m0, pin_t irq);
复制代码 传入的三个 GPIO 管脚,用来控制 M1、M0 两路控制,以及 AUX 中断信号。
|
|