【RTT&英飞凌PSoC6评估板】WIFI和SPI测试
[复制链接]
本次进行SPI总线和wifi测试,测试使用的是RW007 wifi模块,这款模块使用的是SPI总线连接,而不是wifi常见到QSPI,这样RW007的连接可以更灵活,更适合嵌入式应用,这款模块的资料很少,从购买的商店提供的资料也多是STM32的芯片例程,所以很长时间也没有测试成功。RW007也为RT出品的模块,但是Psoc例程的驱动却不是该开发板地,编译后烧写到板子直接死机,串口没有任何反应,不过在EE的管管的帮助下去协调了RT后,得到的参考例程,基于PSoC™ 62 with CAPSENSE™ evaluation kit 的光照监测仪的启发下测试终于成功。
借用例程案例的原理图
确定了例程使用的开发板和测试用的板子是一样地,RW007的模块通过转接板可以直接使用,也就免去了很多麻烦。
历程使用了一个传感器“光敏GL5528”,这款传感器使用的是模拟输出,使用了ADC引脚,但是我这里没有该设备,显示使用的是I2C的模块,但是我这里接线麻烦也没有使用。这些设备的驱动都不会影响板子的测试,所以测试只接了一块RW007模块。
例程是放在 上的
使用git下载程序到本地,使用RT-studio直接导入项目,
导入后,打开项目
可以看到设置的内容。RW007的驱动已经被集成到RT中了
只是不明白:在SPI的设置里没有RW007的设置。这一点和我测试的方法不一样,是不是这就是问题的关键呢?
wifi的设置都是默认地。
例程不支持keil,只能使用ARM GCC,这个也不是什么坏处,GCC的编译优化是做的非常好的。keil的新编译器都在向clang兼容了。
打开程序,需要修改一下onenet.c文件中的onenet_init()函数,将wifi的SSID和password为可以连接到AP的配置就可以了
int onenet_init(void) {
int argc = 3;
char *argv[] = {
"mqtt_demo_start",
"ssid",
"123456"
};
rt_thread_delay(rt_tick_from_millisecond(5 * 1000));
onenet_mq = rt_mq_create("onenet_mq", 50, 3, RT_IPC_FLAG_FIFO);
mqtt_demo_start(argc, argv);
}
INIT_APP_EXPORT(onenet_init);
使用RT-studio,构建程序,烧录到开发板。开发板rest一下就可以运行了。
程序输出:
可以看到已经连接成功,获得的IP地址192.168.1.105
使用ping命令可以ping通了。
|