res = disk.drv[pdrv]->disk_read(buff, sector, count);
我不确定上述陈述的含义。 这是来自FATFS开源驱动程序,我正在尝试udnerstand它是如何工作的。我正在使用STM32 SPI接口。
答案 0 :(得分:2)
如果你问一个关于哪个特定部分让你困惑的问题,你的学习经历可能会更大......但是让我们分解一下:
disk.drv
表示"获取与drv
"的disk
成员对应的成员(指向数组的指针,在本例中)。
disk.drv[pdrv]
表示"获取由pdrv
"索引的数组元素。
disk.drv[pdrv]->disk_read
表示"获取与disk_read
" disk.drv[pdrv][0]
对应的成员(函数指针)。
disk.drv[pdrv]->disk_read(buff, sector, count);
表示"使用buff
,sector
和count
作为参数"来调用该函数。
res = disk.drv[pdrv]->disk_read(buff, sector, count);
表示"将该函数调用的返回值分配给res
"。
似乎整个陈述的目的是从驱动器中读取一大块数据。
有问题吗?