原来是我把数组弄错了SD_WriteMultiBlocks(0x00, Buffer_MultiBlock_Tx, BlockSize, NumberOfBlocks)和SD_WriteBlock(0x00, Buffer_Block_Tx, BlockSize)数组不同一个是Buffer_MultiBlock_Tx别一个是Buffer_Block_Tx,我把读写单个数据块改成读写多个数据块时,依然是对Buffer_Block_Tx操作,当然出现乱码了。 现在调通后又发现一个问题,我用pc通过调试助手向stm32的串口1发送数据,串口1收齐1024字节后写入到sd卡中,我再对单个数据块写时没有问题,一次发送1M大小的数据都能存到sd卡中,但是换了一次写两个数据块时就出错,发送三四百K大小的数据,发送完后程序就重启,我在每写两个数据块后喂一次狗还是没解决,望版主和高人指点一二呀!!!!
|