大家好、
感谢大家在我之前的问题中向我提出建议。
现在、我要使用 SPI 通信将数据写入 SD 卡。以下代码对数据的写入非常完美、我将使用5个并行中断和 SD 卡数据在 while 循环中连续写入。 在这里、我遇到的问题是、当数据写入 SD 卡时、我的其他中断将在几毫秒后停止、并且它将立即开始。 在这里、我想要的是、当数据写入 SD 卡时、我不想干扰我的其他中断。 我附上以下代码。
//********* SDCARD
iFResult = f_mount (0、&g_sFatfs);
if (iFResult!= FR_OK)
{
退货(1);
}
iFResult = f_open (&g_sFileObject、filename、fa_write|fa_open_always| fa_read);
iFResult=f_lseek (&g_sFileObject、f_size (&g_sFileObject));
操作
{
iFResult = f_write (&g_sFileObject、buf2、sizeof (buf2)-1、& ui32BytesWrite);
iFResult = f_sync (&g_sFileObject);
}while (ui32BytesWrite!= sizeof (buf2)-1);
iFResult = f_write (&g_sFileObject、new_line、sizeof (new_line)-1、& ui32BytesWrite);
iFResult = f_sync (&g_sFileObject);
iFResult = f_write (&g_sFileObject、new_line、sizeof (new_line)-1、& ui32BytesWrite);
iFResult = f_sync (&g_sFileObject);
操作
{
iFResult = f_write (&g_sFileObject、buf1、sizeof (buf1)-1、& ui32BytesWrite);
iFResult = f_sync (&g_sFileObject);
}while (ui32BytesWrite!= sizeof (buf1)-1);
iFResult = f_write (&g_sFileObject、new_line、sizeof (new_line)-1、& ui32BytesWrite);
iFResult = f_sync (&g_sFileObject);
while (1)
{
strcat (buf_Rz、buffer2);
iFResult = f_sync (&g_sFileObject);
iFResult = f_write (&g_sFileObject、new_line、sizeof (new_line)-1、& ui32BytesWrite);
iFResult = f_sync (&g_sFileObject);
for (g=0;g<=2;g++)
{
for (h=1;h<=500;h++)
{
SysCtlDelay (16000);
}
}
iFResult = f_write (&g_sFileObject、buf_Rz、sizeof (buf_Rz)- 1、& ui32BytesWrite);
iFResult = f_sync (&g_sFileObject);
}
在调试我的代码后、我发现了这个
iFResult = f_sync (&g_sFileObject); 是给我的其他中断造成问题
请建议我如何解决此问题。
谢谢、
此致、
Srinu.V

