flashman2002
flashman2002
This guy hasn't written anything yet

注册于 2 years ago

回答
1135
文章
0
关注者
8

在gcc编译中是个警告,在此语句前面加了const即可。

sizeof是获取变量类型的长度,你这里是需要获取字符串的长度,应该使用strlen函数才对。

查看硬件定时器文档:

/* 设置定时器超时值为5s并启动定时器 */
    timeout_s.sec = 5;      /* 秒 */
    timeout_s.usec = 0;     /* 微秒 */
    rt_device_write(hw_dev, 0, &timeout_s, sizeof(timeout_s));

大概率是网络连接问题导致没有正确下载和安装以及生成工程。

如果不支持多AT客户端的话就需要你修改源码后提交PR了。

你需要定义必须是完全匹配才返回匹配成功的比较函数。

这个-2的error错误号并不是错误信息,它也表示此线程正在占用MCU时间片。

我个人的理解:
1、像终止其它线程一下可以rt_thread_delete;
2、模块大小受限于Flash的空间大小;RTMSymTab只是于模块名称长度相关;
3、是的运行于RTT的内核状态(其实RTT标准版内所有线程都运行在内核状态下);
4、是的,如果一个线程卡死,全系统必须重启。

你需要定义BSP_USING_I2C1或BSP_USING_I2C2或BSP_USING_I2C3。

你的recv线程中的比较ucValue[0] == ucValue[1]时有可能被线程send抢占了,所以比较结果不确定了。

建议在ucValue[0]ucValue[1]赋值或比较时需要加上rt_enter_critital()rt_exit_critical()之类的保护措施。

回到
顶部

发布
问题

投诉
建议