原子哥的SDIO+DMA 在while(((DMA2->LISR&(1<<27))==RESET)&&timeout)这里while有没有人测试用时的

2019-07-20 06:03发布

F407,原子哥的DMA+SDIO+FATFS;  C10 TF卡,格式化卡族为 16K,单次写入TF卡16K,多次写入,每次用时9MS左右,但是偶尔会出现用时几百ms的情况,实测时间浪费在while(((DMA2->LISR&(1<<27))==RESET)&&timeout)timeout--处;
为了保证时间性,于是,有种想法,如果在while(((DMA2->LISR&(1<<27))==RESET)&&timeout)timeout--;处用时超过15ms,则强制退出该次写入,继续后续写入,但是强制退出后,之后会出现连续几次写入16k存在80-200ms的超时,之后又恢复正常;
问:有谁有 (连续写入TF卡的,但又能保证每次时间都在一定范围来的,允许超时丢数据)  的经验来交流下;
谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。