你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 1093|回复: 3

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

[复制链接]

21

主题

1052

回帖

442

蝴蝶豆

论坛元老

最后登录
2020-7-12
发表于 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

主题

1110

回帖

125

蝴蝶豆

论坛元老

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

使用道具 举报

21

主题

1052

回帖

442

蝴蝶豆

论坛元老

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

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

使用道具 举报

29

主题

2129

回帖

127

蝴蝶豆

论坛元老

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

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版