用374读U盘,调用贵公司的库,使用的是STM32+KEIL+库,参考的贵公司的例程,其中Register读写都正确, CH374LibInit( );CH374DiskConnect( );正常执行后。
问题:调用CH374DiskConnect()时;程序就死在里面了,如果把CH374DiskConnect()注释掉,在执行到CH374FileOpen()时有死了。 请问是什么原因呀?谢谢了
用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还没用过不清楚的。