请选择 进入手机版 | 继续访问电脑版
搜索

121

主题

128

帖子

665

积分

网站编辑

Rank: 8Rank: 8

积分
665
发表于 2021-7-28 14:05:04 430 浏览 0 回复

iTOP-6818开发板 Lora模块测试

本章介绍在iTOP-6818开发板最小linux系统上测试lora模块的步骤,非设备树系统可参考此文档,需要的资料在网盘“iTOP-6818-lora模块测试例程”文件夹内。本章需要的资料包在网盘“iTOP6818 开发板资料汇总(不含光盘内容) \09_iTOP-6818 开发板最小 linux_Qt_Ubuntu 扩展文档\lora模块测试” 下载。
1 硬件连接
测试中使用两块iTOP-6818开发板通信,将lora模块分别插在两个开发板的GPIO/CAN/485扩展口,如下图:
2 添加设备
进到源码目录,执行命令“vi kernel/arch/arm/plat-s5p6818/topeet/device.c”打开文件,以rc522为基准
添加lora模块。
搜索rc522,在后面添加如下内容:
#ifdef CONFIG_SPI_SX127X
static struct spi_board_info sx127x_plat_board[] __initdata = {
     [0] = {
          .modalias = "sx127x",
          .platform_data = NULL,
          .controller_data = &spi2_csi[1],
          .max_speed_hz = 400*1000,
          .bus_num = 2,
          .chip_select = 0,
          .mode = 0,
    },
};
#endif
添加完后如下图:
然后搜索“spi2_csi”数组,找到后添加宏定义判断
|| defined(CONFIG_SPI_SX127X)
在spi2_csi数组内添加如下内容:
[1]= {
.line = CFG_SPI2_COM_MODE,
.set_level = gpio_set_value,
.fb_delay = 0x2,
.hierarchy = SSP_MASTER,
},
完成后如下图:
继续搜索rc522,添加如下内容:
#if defined(CONFIG_SPI_SX127X)
                spi_register_board_info(sx127x_plat_board,ARRAY_SIZE(sx127x_plat_board));
                printk("plat: register sx127x\n");
#endif
添加完成后如下图:
保存后退出。
输入命令“vi kernel/arch/arm/plat-s5p6818/topeet/include/cfg_main.h”,修改成如下所示:
到此lora模块的设备注册信息添加完成。
3 添加驱动
进入源码的kernel/drivers/spi/路径下,将资料包中的lora模块驱动复制到此路径,如下图:
执行vi Makefile修改文件,在末尾添加以下信息:
obj-$(CONFIG_SPI_SX127X)               += sx127x.o
完成后如下图:
执行vi Kconfig修改文件,搜索rc522,添加如下内容:
config SPI_SX127X
        tristate "SX127X Module driver support"
        depends on EXPERIMENTAL
        help
          This supports SX127X Module drivers.
完成后如下图:
完成后保存退出,进入源码的kernel目录,执行”cp config_for_iTOP6818_linux .config”拷贝内核配置文件,执行“make  ARCH=arm  menuconfig”配置菜单选项,
Device Drivers
      -> SPI support (SPI [=y])
选择“SX127X Module driver support”,取消选择“RC522 Module driver support”,如下图所示。
保存退出,回到源码目录编译qt镜像。编译完成后将镜像烧写到开发板。
4.5.4 测试
将网盘“iTOP-6818-lora模块测试例程”文件夹内的lora_test拷贝到开发板,进到lora_test目录,发送端执行“./lorasend1 1 &”每隔30秒发送出一次100,并且打印出版本号为18,然后执行“./lorasend2 1 &”每隔30秒发送出一次200,如下图:
然后在另一个开发板执行接收程序“./lorares 0”,接收到发送方的id和发送内容,如下图:
数据正常说明通信成功。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

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