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

注册于 7 months ago

回答
972
文章
22
关注者
63

rt_thread_mdelay(x);    // x = 12*3600*1000
sta = !sta;
rt_pin_write(sta);

你确定不是在串口驱动里添加了 rt_kprintf ?

先看这里的简单说明 rt-thread 使用宝典(2021-1210更新)

队列嘛,只用调用一个就够了,不需要用 switch 搞区分,rt_mq_recv 第三个参数是函数等待(阻塞)时间,你设定了阻塞时间,那么时间 timeout 的时候没有消息就会从 rt_mq_recv 函数返回,uwRet 的值就是 -RT_ETIMEOUT。所以这样就会出现没有往消息队列发送数据,但是它会一直运行的现象。

第三个参数是 -1 或者 RT_WAITING_FOREVER 的时候就会永久阻塞,只有给消息队列发消息才会从阻塞中返回。

register 和 probe 是两码事,probe 才是真正的 spi 通信过程。

“Probe SPI flash W25Q256 by SPI ... success.” 这句说明 probe 成功了,并没有失败。

“Device (SPI_FLASH_NAME) was not found” 这句说没找到 “SPI_FLASH_NAME” 设备。你写错了 dfs_mkfs 第二个参数。

去它干啥,又不影响你的项目代码。
你添加的online包,取消掉就可以了。
每个 bsp 目录下都有个 Kconfig 文件,文件内容类似下面

mainmenu "RT-Thread Configuration"

config BSP_DIR
    string
    option env="BSP_ROOT"
    default "."

config RTT_DIR
    string
    option env="RTT_ROOT"
    default "../../.."

config PKGS_DIR
    string
    option env="PKGS_ROOT"
    default "packages"
 
source "$RTT_DIR/Kconfig"
source "$PKGS_DIR/Kconfig"
source "../libraries/Kconfig"
source "board/Kconfig"

这个文件决定了 menuconfig 首页菜单项,去到 “source "$PKGS_DIR/Kconfig"” 这一行你就看不到 "RT-Thread online packages"了

不知道,这个是你想要的吗?感觉没必要啊

fn 是 char* 这个没疑问的。
然后看看 fno.fname 怎么变成 unsigned short* 的。
fno.fname 定义的类型是 TCHAR,而 TCHAR 定义如下,当 FF_LFN_UNICODE == 1 的时候,它就是 unsigned short;FF_LFN_UNICODE == 2 的时候,它也是 char

#if FF_USE_LFN && FF_LFN_UNICODE == 1     /* Unicode in UTF-16 encoding */
typedef WCHAR TCHAR;
#define _T(x) L ## x
#define _TEXT(x) L ## x
#elif FF_USE_LFN && FF_LFN_UNICODE == 2    /* Unicode in UTF-8 encoding */
typedef char TCHAR;
#define _T(x) u8 ## x
#define _TEXT(x) u8 ## x
#elif FF_USE_LFN && FF_LFN_UNICODE == 3    /* Unicode in UTF-32 encoding */
typedef DWORD TCHAR;
#define _T(x) U ## x
#define _TEXT(x) U ## x
#elif FF_USE_LFN && (FF_LFN_UNICODE < 0 || FF_LFN_UNICODE > 3)
#error Wrong FF_LFN_UNICODE setting
#else                                    /* ANSI/OEM code in SBCS/DBCS */
typedef char TCHAR;
#define _T(x) x
#define _TEXT(x) x
#endif

端口21 这不是 ftp 服务器的吗?用 ftp 客户端软件连接试试

出现这个错误,说明驱动和你的 U盘还是有兼容性问题的。

可以看我的第一篇文章,里面有我当初调试做的笔记,已经两外两位大佬给出的两种解决方案,一共三种,都可以尝试一下。

其实,这三种方案可以结合起来的,不冲突

回到
顶部

发布
问题

投诉
建议