当前位置:   article > 正文

NUC980+SX1302调试记录_nuc980配置spi1

nuc980配置spi1

从一个小白慢慢摸索。

一个完整的步骤是:搭建nuc980的开发环境,编译uboot、内核、文件系统。

焊接飞线spi的通信4根线,此次spi通信是使用nuc980 SPI1,SS为引脚为复用PB1

所以切记make linux-menuconfig时勾上SPI1,并勾上PB1为SS。

烧录uboot、内核、文件系统后。ls  /dev/spidev*。查看spi设备节点是否挂载。

挂载完成后,通过编译测试nuc980 demos的spidev_test.c文件。mosi与miso短接。执行后查看结果。

进一步确认硬件层面SPI1是否OK。用逻辑分析仪将SPI 4线焊接。用usbee suite软件,勾选spi模式。选择采集时间后,采集,然后执行nuc980中的spidev_test文件。查看采集结果是否出现spi通讯时序。至此SPI硬件层面确认OK。

下一步开始LORA的软件步骤。参考链接:分享一下从零搭建LoRaWAN服务器的经验(M-SX1302S+RaspberryPi),有需要的可以看看:
https://www.cnblogs.com/answerinthewind/p/13154904.html。

下载gw1302s工程项目,修改各文件的makefile的CC,CC最好是nuc980环境的交叉编译器一致。

这里我的编译工具链是用的arm-linux-gcc。在gw1302s文件中。查看各c文件,如果有com_path=“/dev/spidevx.x”(x.x)的。需对应自己的spi节点。修改完毕后。编译测试。进入chip_id

执行./chid -d /dev/spix.x 和libloragw文件 ./test_loragw_reg,测试应该是没有error的。

若出现读写错误。可能需要替换编译环境 /usr/include/spi/spidev.h/ 这里我是找到 gw1302s的libloragw/src里面中含有#include “linux/spi/spidev.h”的c文件,注释掉,然后#include “spidev.h”,把之前那个spidev_test.c的头文件拉到libloragw/inc,重新编译执行。发现读写OK了,这个问题一直找了好久才找到的。后面的就是参考上面的链接,配置pktw那个json,文件了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/516046
推荐阅读
相关标签
  

闽ICP备14008679号