完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
由于这篇知识文章,我在 RTOS 任务中拥有完整的 IwIP 功能:
如何使用以太网和 LwIP 堆栈为 STM32H7 创建项目 我能够使用 main 中的 BSP_QSPI 测试函数擦除、写入和读取 QSPI 闪存。这会导致 IwIP 堆栈无法初始化。当我将 BSP_QSPI 测试函数重新定位到默认任务中时,它导致两者都停止工作。我尝试将它们分成不同的任务、更改任务优先级、启用 QUADSPI 全局中断和增加堆/堆栈的选项都无济于事。 希望这只是我忽略的一个愚蠢的解决方案。 BSP_QSPI测试函数: void qspi_test(){ uint32_t 地址 = 0; char * writeData = "我的时间 NEO!"; 字符数据[50] = {}; //擦除扇区 BSP_QSPI_EraseBlock(0, 地址, MT25TL01G_ERASE_4K); // 写入数据 BSP_QSPI_Write(0, (uint8_t*)writeData, 地址, 4096); // 读取数据 BSP_QSPI_Read(0,(uint8_t*)数据,地址,4096); printf("QSPI 设备: %srn", 数据); } BSP_QSPI 配置: BSP_QSPI_Init_t 初始化; init.InterfaceMode = MT25TL01G_SPI_MODE; init.TransferRate = MT25TL01G_STR_TRANSFER; init.DualFlashMode = MT25TL01G_DUALFLASH_DISABLE; 如果 (BSP_QSPI_Init(0, &init) != BSP_ERROR_NONE) { 错误处理程序(); } 任务: void IwIP_init(void *argument) { /* LWIP 的初始化代码 */ MX_LWIP_Init(); /* 用户代码开始 5 */ /* 测试QSPI模块的擦除、写入和读取 */ qspi_test(); /* 无限循环 */ 为了(;;) { 操作系统延迟(1); } /* 用户代码结束 5 */ } |
|
相关推荐
1个回答
|
|
我发现将我的 BSP_QSPI 配置更改为 QPI_Mode 和 Dual_Transfer 解决了这个问题。
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2452 浏览 1 评论
3159 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1726 浏览 1 评论
3544 浏览 6 评论
5905 浏览 21 评论
883浏览 4评论
1261浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
527浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1245浏览 3评论
1298浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-29 18:53 , Processed in 1.049176 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号