国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何用MCU播放SD卡視頻?——合宙Air105最新demo帶你輕松上手

合宙LuatOS ? 2022-05-31 10:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

近期好些小伙伴看到SD卡視頻播放效果覺得很不錯,詢問有沒有相關教程。

今天我們將以合宙高性能超值款MCU——Air105開發板為例進行講解

在進行之前先說一下原理,原理很簡單——就是通過MCU,將SD卡中的視頻字節流數據讀出來在LCD上繪制。

01相關準備工作


硬件準備:

Air105開發板

LCD擴展板

Micro SD讀寫卡模塊

SD卡

排線、面包板若干

注:Air101/Air103開發板也可同樣準備,目前demo音頻支持尚在開發中,敬請期待。

9788c476-e035-11ec-b80f-dac502259ad0.jpg

軟件準備:

開始準備視頻字節流數據,我們需要用到FFmpeg這款開源和跨平臺的多媒體軟件。官方下載win版本的壓縮包,獲得其中的ffmpeg.exe。

參見https://www.ffmpeg.org/

97bb6c5a-e035-11ec-b80f-dac502259ad0.png

02 視頻文件制作


文件準備:

首先準備好一段要播放的視頻,和之前的ffmpeg.exe放到一起。

97e79cf8-e035-11ec-b80f-dac502259ad0.png

Windows PowerShell命令輸入:

Windows PowerShell輸入如下命令,即可將視頻轉為160x128分辨率的字節流文件:

.\ffmpeg-imwsy.mp4-r20-vfscale=160:128-pix_fmtrgb565be-vcodecrawvideomwsy.rgb

9806bf3e-e035-11ec-b80f-dac502259ad0.png

然后將生成的mwsy.rgb放在SD卡中:

98499926-e035-11ec-b80f-dac502259ad0.png

03 編寫播放代碼


代碼很簡單,首先初始化LCD,之后初始化并掛載SD,然后就是讀視頻向LCD進行draw。


手機上下滑動或橫屏查看:

sys.taskInit(function()
--初始化lcd
spi_lcd = spi.deviceSetup(5,pin.PC14,0,0,8,48*1000*1000,spi.MSB,1,1)
log.info("lcd.init",
lcd.init("st7735",{port = "device",pin_dc = pin.PE08 ,pin_rst = pin.PC12,pin_pwr = pin.PE09,direction = 3,w = 160,h = 128,xoffset = 1,yoffset = 2},spi_lcd))
--初始化sd
local spiId = 2
local result = spi.setup(
spiId,--串口id
255, -- 不使用默認CS腳
0,--CPHA
0,--CPOL
8,--數據寬度
400*1000 -- 初始化時使用較低的頻率
)
local TF_CS = pin.PB3
gpio.setup(TF_CS, 1)
--fatfs.debug(1) -- 若掛載失敗,可以嘗試打開調試信息,查找原因
fatfs.mount("SD", spiId, TF_CS, 24000000)
local data, err = fatfs.getfree("SD")
if data then
log.info("fatfs", "getfree", json.encode(data))
else
log.info("fatfs", "err", err)
end

local video_w = 160
local video_h = 128
local rgb_file = "mwsy.rgb"

local buff_size = video_w*video_h*2
local file_size = fs.fsize("/sd/"..rgb_file)
print("/sd/"..rgb_file.." file_size",file_size)

local file = io.open("/sd/"..rgb_file, "rb")
if file then
local file_cnt = 0
local buff = zbuff.create(buff_size)
repeat
if file:fill(buff) then
file_cnt = file_cnt + buff_size
lcd.draw(0, 0, video_w-1, video_h-1, buff)
sys.wait(20)
end
until( file_size - file_cnt < buff_size )
local temp_data = file:fill(buff,0,file_size - file_cnt)
lcd.draw(0, 0, video_w-1, video_h-1, buff)
sys.wait(30)
file:close()
end

while 1 do
sys.wait(1000)
end

end)

最新demo源碼:

https://gitee.com/openLuat/LuatOS/tree/master/demo/video_play/Air105

04視頻播放效果


988cc930-e035-11ec-b80f-dac502259ad0.gif

好了,享受不一樣的時光~

今天就講解到這里,快拿出開發板動手試試。合宙MCU系列demo持續更新中,敬請關注!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    147

    文章

    18924

    瀏覽量

    398018
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    猛!MCU模組:Air1601/1602雙星出擊!

    在嵌入式開發中,你是否曾面臨這樣的困境:高清UI渲染依賴昂貴高端芯片、圖像處理頓、多網通信協同復雜、工業級穩定設計繁瑣……Air1601/Ai
    的頭像 發表于 02-13 14:05 ?453次閱讀
    猛!<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>MCU</b>模組:<b class='flag-5'>Air</b>1601/1602雙星出擊!

    高效接入語音交互:模組音頻方案如何選?

    本文特別分享4G模組選型與硬件設計要點,為開發者提供實用參考。 一、模組音頻支持概況 從主芯片是否原生支持音頻功能來看,4G模組大致可分為兩類: 1.1 主芯片支持音頻功能 比如:經典老
    的頭像 發表于 02-08 14:59 ?606次閱讀
    高效接入語音交互:<b class='flag-5'>合</b><b class='flag-5'>宙</b>模組音頻方案如何選?

    SD NAND、TFSD的應用領域大揭秘

    在如今這個數據爆炸的時代,各類存儲設備猶如繁星般閃耀,而SD NAND、TFSD更是其中的佼佼者。它們看似相似,實則各有千秋,在不同的領域和場景中發揮著獨特的作用。今天,就讓我們
    的頭像 發表于 11-30 15:16 ?954次閱讀
    <b class='flag-5'>SD</b> NAND、TF<b class='flag-5'>卡</b>、<b class='flag-5'>SD</b><b class='flag-5'>卡</b>的應用領域大揭秘

    迅為Hi3403開發板極速啟航 | 手把手帶你玩轉核心例程,輕松上手AI視覺!

    迅為Hi3403開發板極速啟航 | 手把手帶你玩轉核心例程,輕松上手AI視覺!
    的頭像 發表于 11-19 13:56 ?1715次閱讀
    迅為Hi3403開發板極速啟航 | 手把手<b class='flag-5'>帶你</b>玩轉核心例程,<b class='flag-5'>輕松</b><b class='flag-5'>上手</b>AI視覺!

    解鎖存儲密碼:SD NAND、TFSD的應用全景

    在數據洪流的時代,存儲介質就如同數字世界的基石,支撐著各類設備的正常運轉。SD NAND、TFSD,雖同屬NAND Flash存儲介質家族,卻因各自獨特的“個性”,在不同領域綻放
    的頭像 發表于 10-29 14:24 ?650次閱讀

    MCU200T上SD讀寫流程

    SD MCU200T對應管腳表 SD管腳 FPGA管腳 sd_miso F16
    發表于 10-29 07:04

    如何使用 M487 微控制器 (MCU) 通過 DAC 在 SD 播放 WAV 文件聲音?

    使用 M487 微控制器 (MCU) 通過 DAC 在 SD 播放 WAV 文件聲音
    發表于 08-20 06:05

    SDIO SD電路設計速成攻略:核心步驟+調試技巧 !

    Digital Input Output)是一種基于SD標準擴展的通用接口,不僅可以應用于存儲(如TF/SD),也可以連接其他外部設
    的頭像 發表于 08-15 14:32 ?702次閱讀
    SDIO <b class='flag-5'>SD</b><b class='flag-5'>卡</b>電路設計速成攻略:核心步驟+調試技巧 !

    SD—雷龍 SD NAND

    一、SD介紹 1.基本介紹 本質:nand flash + 控制芯片 1.SD ,Secure Digital Card,稱為安全數字
    的頭像 發表于 07-21 17:59 ?3746次閱讀
    <b class='flag-5'>SD</b><b class='flag-5'>卡</b>—雷龍 <b class='flag-5'>SD</b> NAND

    【嵌入式開發】SD—雷龍 SD NAND

    一、SD介紹 1.基本介紹 =本質:nand flash + 控制芯片= 1.SD ,Secure Digital Card,稱為安全數字
    發表于 07-21 17:56

    請問k230如何讀取sd播放其中的mp3音頻,他有庫支持嗎?

    k230如何讀取sd播放其中的mp3音頻,他有庫支持嗎?
    發表于 06-04 06:24

    科普|一文帶你認清SD、TF、SIM及eSIM,高手請忽略!

    1.定義SD是SecureDigitalCard的英文縮寫,直譯就是“安全數字”。一般用于數碼相機等,作外存儲器用。TF即是T-Flash
    的頭像 發表于 05-21 15:56 ?6409次閱讀
    科普|一文<b class='flag-5'>帶你</b>認清<b class='flag-5'>SD</b><b class='flag-5'>卡</b>、TF<b class='flag-5'>卡</b>、SIM及eSIM<b class='flag-5'>卡</b>,高手請忽略!

    技術篇:Air8101視頻錄制常見問題與SD讀寫性能及上傳阿里云教程詳解!

    本文將以Air8101開發板為例: 實現MP4視頻錄制,保存到SD以及通過HTTP POST上傳到阿里云OSS的功能。 ? 在工業監控、智能垃圾分類、無人售貨機開箱取物等等實際應用中
    的頭像 發表于 05-07 14:14 ?1143次閱讀
    技術篇:<b class='flag-5'>Air</b>8101<b class='flag-5'>視頻</b>錄制常見問題與<b class='flag-5'>SD</b><b class='flag-5'>卡</b>讀寫性能及上傳阿里云教程詳解!

    Air8101實踐指南:視頻錄制+SD存儲+上傳阿里云解析

    本文將以Air8101開發板為例:實現MP4視頻錄制,保存到SD以及通過HTTP POST上傳到阿里云OSS的功能。 ? 在工業監控、智能垃圾分類、無人售貨機開箱取物等等實際應用中,
    的頭像 發表于 05-06 14:18 ?952次閱讀
    <b class='flag-5'>Air</b>8101實踐指南:<b class='flag-5'>視頻</b>錄制+<b class='flag-5'>SD</b><b class='flag-5'>卡</b>存儲+上傳阿里云解析

    [上手體驗]雷龍SD NAND:比TF更小更耐用

    和SPI FLASH以及 NAND FLASH,基本沒聽說過SD NAND。查閱了雷龍官方介紹),得知SD NAND俗稱貼片式TF,雖然SD NAND 和TF
    發表于 03-08 14:28