我的用stm32通过CH374读写U盘扇区的程序已经调试完成; 经过简单测试,程序稳定,读写U盘底层没有出现问题,所以今天过来结贴,并感谢沁恒的技术人员特别是刘工这些天的帮助。
之前之所以失败是我程序移植的问题:在移植初期,有大量的未定义的错误出现,所以我选用了CH374HF9.H的头文件,包含了之后又出现了许多重复定义的错误,我的习惯是把结构体和宏定义都放在头文件里,所以删除了C文件宏定义和结构体。编译后没有错误,运行后出现了一楼的问题;昨天又仔细的检查了刘工传的文件与我移植后的程序,忽然发现USBDISK定义的结构体 BULK_ONLY_CMD 与CH374HF9.H的BULK_ONLY_CMD不一致?我程序内部使用的是CH374HF9.H的结构体,更改之。编译无错误,运行,一切OK!此结构体应该是下发至CH374的命令结构定义,此结构体定义不准确肯定会导致下发CH374的命令不准确,进而导致我一楼的错误。 查错过程中,刘工一直强调他提供的底层程序经过测试,没有任何问题,不需要任何修改,所以我一遍遍的移植,原来问题出在在删除重复定义的宏和结构体时没有仔细查看这些重复定义的异同点,导致了这个错误,希望后来人警之。