JQRR_7669
JQRR_7669 - 认证专家

注册于 10 months ago

回答
145
文章
4
关注者
9

可以使用syswatch软件包,加入软件包就ok了。

外接上拉电阻一般用1k,如果太大的话,需要降低速率才行。

此问题应该归结为boot的问题比较合理。因为boot和应用在设计上是完全分离的,boot应该能保证跳到任何应用程序都可以正确执行。

应用程序默认是从芯片复位状态开始运行,所以boot在跳到应用之前应该将芯片状态尽可能地恢复到复位状态,如时钟、外设、中断等,这样才能保证跳到应用程序后正确运行。

信号量有name,在不同模块中可以通过查找信号量名字获得句柄,然后就可以使用了。

sys_work是提供处理简单事务的工作队列线程,用于处理一些短时的临时性的事务,比如偶尔临时需要读取一次传感器数据,专门为此次读取建个线程来处理此事务,太麻烦,资源消耗也大,这时就可以把此类临时性事务丢给工作队列去处理。
你遇到的这个问题,表面是sys_work线程出问题了,实质上不是sys_work的问题,是sys_work执行的某项事务处理函数的问题,处理函数中出现了死循环。

数据+crc一块算计算结果就是0,这样检查crc校验比只计算数据crc然后再比较,要简单

设备的句柄结构中有个指针user可用来挂接用户数据,可以把需要的参数挂在它下面。看看用到的设备user指针是不是空的,是空就可以用

在shell中使用list_device命令查看下,设备列表中有adc没有

这一段错误

    buf[0] = reg; //cmd
    buf[1] = (rt_uint8_t)data>>16;
    buf[2] = (rt_uint8_t)data>>8;
    buf[3] = (rt_uint8_t)data;

从邮箱原理来说是行不通的。不过可以变通来使用,可以每个接收者一个邮箱,发送时同时给三个发送

rtconfig由studio生成和管理,不要手工修改,如果要添加模块和组件在setting工具中配置添加,如果setting工具中没有相关配置选项,则可在board.h中添加

发布
问题

分享
好友