maxtch 发表于 2018-4-26 15:11:57

【LoRa 模块免费送】LoRa 通讯之二:驱动设计

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 中断信号。

anobodykey 发表于 2018-4-26 16:03:42

DreamOS-RT 又是啥东西?

maxtch 发表于 2018-4-26 17:14:42

anobodykey 发表于 2018-4-26 16:03
DreamOS-RT 又是啥东西?

这个是我已经用了好几年的开发框架,只适用于 GCC + newlib。还没有到 RTOS 的水准,但做一个 RTOS 是目标。驱动程序架构之前一直在变,但近两个版本逐渐稳定下来了。

stm1024 发表于 2018-7-14 12:30:35

看你们玩的这么hapapy,我也想要
页: [1]
查看完整版本: 【LoRa 模块免费送】LoRa 通讯之二:驱动设计