374调库函数 进入死循环

用374读U盘,调用贵公司的库,使用的是STM32+KEIL+库,参考的贵公司的例程,其中Register读写都正确, CH374LibInit( );CH374DiskConnect( );正常执行后。

问题:调用CH374DiskConnect()时;程序就死在里面了,如果把CH374DiskConnect()注释掉,在执行到CH374FileOpen()时有死了。 请问是什么原因呀?谢谢了

库函数是不会出现死机的情况, 程序应该停在了 头文件中 查询中断xQueryInterrupt() 的那个地方。检查中断引脚的定义是否正确,以及中断引脚的连接是否正常


问题找到了,好像是缓冲区没有定义好的,谢谢了


我想请教楼主一个问题,我也是用的STM32F103+CH374T来做USBHOST的,用的总线进行控制,FSMC_A2接在A0上,FSMC_NE4接在CS上,程序里这样定义 #define CH374_BASE_ADDR 0x6C000000 #define CH374_IDX_PORT (*((volatile u32 *) (CH374_BASE_ADDR + 0x08))) /* CH374索引端口的I/O地址 */ #define CH374_DAT_PORT (*((volatile u32 *) (CH374_BASE_ADDR ))) /* CH374数据端口的I/O地址 */ 时序是这样的 p.FSMC_AddressSetupTime = 1; p.FSMC_AddressHoldTime = 0; p.FSMC_DataSetupTime = 2; p.FSMC_BusTurnAroundDuration = 0; p.FSMC_CLKDivision = 0; p.FSMC_DataLatency = 0; p.FSMC_AccessMode = FSMC_AccessMode_A; 老是初始化失败,而且读REG_SYS_INFO最后两位的值也不对,楼主能不能把你的这两块定义给我看看。


你的A0引脚是接在总线的地址线的第几脚?还有你拿示波器去看下A0、CS,WR,RD上面有没有信号?


A0连在FSMC_A2上,索引地址不就是偏移0x08吗?用100M的示波器看 这些信号都是高电平,比较奇怪。但是测试SRAM能通过测试。


我现在就想确认一下,我的时序和索引地址有没有错。如果没有错,那我就可以放心找别的错误。


索引有没有错,这个你自己算一下。信号都是高电平,显然不对。总线上没有出来任何信号。


我是使用的SPI模式,使用STM32的SPI1接口,数据已经可以正常读取了,FSMC还没用过不清楚的。


只有登录才能回复,可以选择微信账号登录