CH376FileOpen 概率性返回失败 0xFA

【芯片型号】:CH376T

【写文件过程】:CH376FileOpen -> CH376GetFileSize ->CH376ByteLocate->CH376ByteWrite->CH376FileClose

大概每隔800ms将向文件/22033122.TXT(每隔1小时创建1个新文件,数据记录写入最新文件中)写入20字节的一条记录,发现程序运行 2 天,串口日志出现 2 次 CH376FileOpen 失败,其他时间全部正常写入。UART串口通信方式。

请问如何解决或者定位文件打开失败问题?

PS:系统串口要输出日志,不用用于ch376中断到来的检测。目前中断检测使用INT脚。

【串口日志如下】:


Create new file /22033122.TXT


[22:57:37.942]收←◆CH376FileOpen Error: 0xFA

sys_open_file Error: 0xFA


[22:57:38.049]收←◆sys_store_info error is 0xfe! 

sys software check fault = 1 




您好,报错0x42是指定路径的文件没有找到,可能是文件名称错误。您可以使用逻辑分析仪查看,是否为串口一部通信的时候,在关于路径的某个数据出现了错了,从而导致打开文件失败。


打开文件报错0x42,这个是正常的,此时指定文件确实不存在,然后再创建指定名称的文件。程序设计如此。


问题是  大部分情况下打开文件写入数据都正常, 少数情况打开文件时报错 0xFA。定位思路也是使用逻辑分析仪查看问题出现时,查看串口数据哪里存在异常吗?


一般打开文件报错0xFA,是因为什么原因导致呢?


您好,0xFA为通讯长时间无应答的异常中断,和三种可能性有关,

  1.  中断等待时间确实超时。随着文件数量增多, U 盘中已使用容量增多,都会导致打开、创建、开始
    写时间(找到空余区域) 加长。

  2. 物理硬件问题导致丢中断情况或 CH37x 报中断异常

  3. 控制器软件底层接口操作多次导致误清中断。


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