出出啊
出出啊
It is Not the Mountain We Conquer, but Ourselves

注册于 6 months ago

回答
902
文章
19
关注者
55

看情况,如果读写都可以是一条汇编语句完成的,完全没有影响。多条汇编完成的也分以下几种情况。
如果是一个写,一个读,读的时候是判断固定值,比如 while 等待某个变量被置1。这种情况也可以不加锁。
多个写必须加锁,这种可能出现结果并不是两种中的任何一种。
一边写,另一边读走并且可能有多种值,变量的值不定可能引起后续业务逻辑不同的,这种情况可能引起后续代码跟预期的不一样。

灰的就是没参加编译,去 dfs 目录下打开那几个 sconscript 脚本文件,看看是哪个宏定义开关让他们没有被添加

环形缓冲区,一个代表写位置,一个代表读位置,做比较是因为不能读没有写的数据。
其实,这个清零操作,是环形缓冲区从尾移到头的操作。

没记错的话,是修改 “C:RT-ThreadStudioplatformenv_releasedenvtoolsscriptscmds” 这个路径下的 .config 文件

#
# Automatically generated file; DO NOT EDIT.
# RootMenu
#

#
# Env config
#
# CONFIG_SYS_AUTO_UPDATE_PKGS is not set
# CONFIG_SYS_CREATE_MDK_IAR_PROJECT is not set
CONFIG_SYS_PKGS_DOWNLOAD_ACCELERATE=y

可以用 env 切换到这个目录下执行 menuconfig 进行修改

gm 是英国时间,没有做时区转换。
北京是东 8 区,比英国时间快 8 个小时

一个文件至少占用一个块,一个块容不下它就再增加一个块。4000 多文件,也就是至少 16 M了。

使用MDK下载应用程序,找不到目标,烧写 bootloader 就能找到目标?
应用程序有很严重的bug吧,把芯片写乱了。先去掉 bootloader 单独调试应用部分程序吧,应用程序没问题了再整合起来

你那个函数怎么定义的,来一行函数名定义的代码。

哪个文件包含了 finsh_config.h ? 这个文件可能不是必须的,尝试改改去掉它,或者把它里面重复定义的宏删掉。

无法使用uart2进行发送数据了

什么意思?发送失败?系统崩溃?
这个八成是你的代码问题引起的。

去掉这个文件,不让他参与编译

这是你的 shell 断开了和板子的连接。板子复位了吧,有看门狗?

rt_timer_create 返回 RT_NULL 了?把定时器的回调函数改简单些。多加 printf ,确定是哪儿出错了。
目测 Power_Detect 这个函数没毛病。

项目右键属性,c++ 属性里,交叉工具链设置,添加库依赖路径和库名字。详细见下面链接
https://club.rt-thread.org/ask/question/432780.html

回到
顶部

发布
问题

投诉
建议