iriss 发表于 2023-6-15 17:57:07

使用f_write中設定buff的size問題

剛剛開始碰sd卡
用stm32cube 開發
sdio接口選sd 4 bits wide bus及還有 句選fatfs

想請問這樣我用f_write(buff)語法時,
這個緩衝區buff,其size預設時要是512 還是可以是512*4

因為我看disk_writes內容
它會用size判斷是要single 還是 muti 寫入
這樣上面size是否可以為512*4

感謝!!



eric2013 发表于 2023-6-16 11:05:50

f_write是应用层,你调用多大都可以。

iriss 发表于 2023-6-16 18:11:05

感謝您的回覆,

我還有個困惑,

我單一時間的數據約700,
希望資料寫入時要完整的資料
這樣在f_write的buff size設計700

這樣應該要是多快寫入, 但第二塊也不到512, 與sd卡讀寫數據的最小單位為512發生衝突??






iriss 发表于 2023-6-16 18:11:59

我有個困惑

iriss 发表于 2023-6-16 18:18:21

eric2013 发表于 2023-6-16 11:05
f_write是应用层,你调用多大都可以。

感謝您的回覆

我還有個困惑,
我有一筆單一時間資料約700
想要一次完整寫入
f_write(buff) size能設計700?
這樣不是會啟用多塊寫入,但第二快不到512大小
這樣不是與sd卡讀寫數據最小單位512條件 衝突??

eric2013 发表于 2023-6-17 08:56:52

iriss 发表于 2023-6-16 18:18
感謝您的回覆

我還有個困惑,


这就好比是我们每次写1个字节,会不会出现每次1个字节就占用512字节块,那SD卡很快就用完了。

对于这个问题,文件系统会处理的,继续往后写也好,或者写完后,开辟新块也好,具体看他的玩法了。
页: [1]
查看完整版本: 使用f_write中設定buff的size問題