testMSC.lua 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. module(..., package.seeall)
  2. --[[
  3. U盘功能测试程序:
  4. 注意: 1. U盘的盘符固定为:/usbmsc0
  5. 2. 开机可以先mount,如果mount失败就使用格式化format,一般mount之后需要等待2秒左右再对文件进行操作
  6. 3. 读写接口都是标准的
  7. 4. lua写文件和PC端并不能同步显示,需要重新插拔一下USB
  8. ]]
  9. require"audio"
  10. function MscTask()
  11. sys.wait(5000)
  12. --挂载U盘,返回值0表示失败,1表示成功
  13. if io.mount(io.USBMSC) == 0 then
  14. io.format(io.USBMSC)
  15. end
  16. --第一个参数2表示U盘
  17. --第二个参数1表示返回的总空间单位为KB
  18. local MscTotalSize = rtos.get_fs_total_size(2)
  19. log.info("usb storage total size "..MscTotalSize.." B")
  20. --第一个参数2表示U盘
  21. --第二个参数1表示返回的总空间单位为KB
  22. local MscTotalSize = rtos.get_fs_free_size(2)
  23. log.info("usb storage free size "..MscTotalSize.." B")
  24. --遍历读取U盘根目录下的最多10个文件或者文件夹
  25. if io.opendir("/usbmsc0") then
  26. for i=1,10 do
  27. local fType,fName,fSize = io.readdir()
  28. if fType==32 then
  29. log.info("sd card file",fName,fSize)
  30. elseif fType == nil then
  31. break
  32. end
  33. end
  34. io.closedir("/usbmsc0")
  35. end
  36. --向U盘根目录下写入一个pwron.mp3
  37. io.writeFile("/usbmsc0/pwron.mp3",io.readFile("/lua/pwron.mp3"))
  38. --播放U盘根目录下的pwron.mp3
  39. audio.play(0,"FILE","/usbmsc0/pwron.mp3",audiocore.VOL7,function() sys.publish("AUDIO_PLAY_END") end)
  40. sys.waitUntil("AUDIO_PLAY_END")
  41. --卸载U盘,返回值0表示失败,1表示成功
  42. --io.unmount(io.USBMSC)
  43. end
  44. sys.taskInit(MscTask)