搜索
查看: 1547|回复: 3

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

[复制链接]

该用户从未签到

21

主题

1073

帖子

442

蝴蝶豆

论坛元老

最后登录
2021-5-10
发表于 2018-4-26 15:11:57 | 显示全部楼层 |阅读模式
DreamOS-RT 采用了一种类似于 POSIX 和 Arduino 的驱动程序架构。
由于 LoRa 模块本体的工作模式以透传为主,因此模块的 DreamOS-RT 驱动程序直接继承基本串口驱动,使用的 POSIX 文件访问 API 接口。但由于模块配置的需要,在文件访问 API 和串口 termios ioctl 以外,在增加几个 LoRa ioctl 命令:
  1. #define IOCTL_LORA_BASE 0x4500
  2. #define IOCTL_LORA_SET_CONFIGURATION (IOCTL_LORA_BASE + 0xc0)
  3. #define IOCTL_LORA_GET_CONFIGURATION (IOCTL_LORA_BASE + 0xc1)
  4. #define IOCTL_LORA_GET_VERSION (IOCTL_LORA_BASE + 0xc3)
  5. #define IOCTL_LORA_RESET (IOCTL_LORA_BASE + 0xc4)
复制代码
注意上面列举的 ioctl 配置参数当中没有串口接口速率相关的配置内容。这部分配置与基类的 termios ioctl 重合,故省略。

考虑到 LoRa 模块的 I/O 配置要求,故采用这样的 open 函数:
  1. int open_lora(USART *usart, pin_t m1, pin_t m0, pin_t irq);
复制代码
传入的三个 GPIO 管脚,用来控制 M1、M0 两路控制,以及 AUX 中断信号。

回复

使用道具 举报

该用户从未签到

20

主题

1130

帖子

125

蝴蝶豆

论坛元老

最后登录
2019-5-4
发表于 2018-4-26 16:03:42 | 显示全部楼层
DreamOS-RT 又是啥东西?
回复 支持 反对

使用道具 举报

该用户从未签到

21

主题

1073

帖子

442

蝴蝶豆

论坛元老

最后登录
2021-5-10
 楼主| 发表于 2018-4-26 17:14:42 | 显示全部楼层
anobodykey 发表于 2018-4-26 16:03
DreamOS-RT 又是啥东西?

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

使用道具 举报

  • TA的每日心情
    奋斗
    2021-4-15 11:47
  • 签到天数: 537 天

    [LV.9]

    29

    主题

    2176

    帖子

    127

    蝴蝶豆

    论坛元老

    最后登录
    2024-4-24
    发表于 2018-7-14 12:30:35 | 显示全部楼层
    看你们玩的这么hapapy,我也想要
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-4-29 20:16 , Processed in 0.183308 second(s), 37 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表