Jacksi
Jacksi
This guy hasn't written anything yet

注册于 1 year ago

回答
18
文章
6
关注者
2

问题可以描述的再具体一些么,cJSON 不能获取对象大小,只能将对象序列化成字符串,然后你用 rt_strlen() 就能获取字符串大小了。
你想要配合 kawaii-mqtt 使用,需要知道 mqtt_publish 函数对 msg 做了些什么,可以在文档里看看,或者跟踪下代码。

可以尝试做一些比较有趣的东西,在这个过程中你会使用内核部分的内容,加深印象。当你需要通信时,你会很自然地去接触RTT的设备框架(UART,I2C,SPI),当然最后可以把你做的东西贡献成一个软件包,这样你又会对RTT的构建系统,ENV有一个比较全面的认识。


这里能够直接配置 system workqueue 线程栈大小。

RT-Thread里的软件包用的是阿里云物联网平台3.x版本的SDK,可以去看下相关API的接收。另外上述payload里存储的是你上报消息的字符串,通过IOT_MQTT_Publish_Simple()函数接口发出去。

2021希望RT-Thread越来越流行,生态越来越完善,也希望自己能做更多的贡献。

我自己写了GT1151的软件包,对接了RT-Thread的TOUCH设备框架,代码地址如下:https://github.com/Jackistang/GT1151 。等RT-Thread那边更新之后你可以再使用试试看,我自己测试使用没有问题。ART-PI导入软件包,编译下载即可直接使用。

使用了串口空闲中断,其实也会出现拆包的现象。因为无法保证对端发送数据是一帧完整的发过来,也有可能拆成几包发过来,串口就是个字节流的设备。还是需要自己在帧协议方面处理下。

vespress-a9qemu确实有Lcd驱动,但不是默认参与编译的,需要手动配置一下。默认情况下只有定义了 PKG_USING_GUIENGINE 这个宏,也就是使用 GUIENGINE 这个软件包,lcd驱动才会参与编译。这个在 drivers 目录下的 KConfig 和 SConscript 文件里能看到。
image.png
image.png
因此默认没开启 GUIENGINE,所以不会编译 drv_clcd.c 这个文件。若需要使用其他 LCD 软件包,就比如:LITTLEVGL2RTT 这个软件包,可以修改 drivers 目录下的 KConfig 文件,如下图所示:
image.png
这样再打开配置目录就能够看到 lcd 驱动配置了。
image.png

可以参考下我提交的一个PR,有我自己写的移植port文件,也有读不出来数据的一种解决方法。
https://github.com/greedyhao/rc522_rtt/pull/2
有问题欢迎来问我。

我找到了解决办法,在“过滤器和定制”里“过滤器”选项下选中的“RTT Excluded Resource”取消选中即可,操作如下图,最终成功显示了排除在构建外的文件夹。
image.png
image.png
image.png
image.png
最新版的Studio默认选中了这个选项,之前的版本应该都没有选中“RTT Excluded Resource”。

我在STM32F103的平台上实验了你的代码,没有复现你说的这种情况,应该是IO电平抖动导致的,可以将GET_PIN(C, 4)上拉或下拉,这样应该能解决问题。

回到
顶部

发布
问题

投诉
建议