91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

AT32講堂015 | AT32 MCU實現QR Decode的應用程序

雅特力 AT32 MCU ? 2022-07-24 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

二維碼、條形碼相信大家都非常熟悉了,條碼技術已經廣泛應用于我們生活當中。微信掃二維碼、支付寶二維碼付款、商品條形碼、超市儲物柜條形碼等。但是由于二維碼復雜度,目前識別二維碼的設備還不夠豐富。對此本文檔利用帶浮點運算的、大容量SRAM、高主頻芯片AT32F403A,調用雅特力提供的Artery_QR二維碼解碼庫在AT-START-F403A開發板上來實現二維碼、CODE128\CODE39\I25\EAN13條碼掃描識別。

一維條形碼、二維碼簡介

一維條形碼

一維條碼是由一組規則排列的條、空以及對應的字符組成的標記,“條”指對光線反射率較低的部分,“空”指對光線反射率較高的部分,這些條和空組成的數據表達一定的信息,并能夠用特定的設備識讀,轉換成與計算機兼容的二進制和十進制信息。條形碼可以標出物品的生產國、制造廠家、商品名稱、生產日期、圖書分類號、郵件起止地點、類別、日期等許多信息,因而在商品流通、圖書管理、郵政管理、銀行系統等許多領域都得到廣泛的應用。一維條碼只是在一個方向(一般是水平方向)表達信息,而在垂直方向則不表達任何信息,雖然提高信息錄入的速度,減少差錯率,但是其空間利用率較低,數據容量較小。

二維碼

二維碼(2-dimensional bar code)是用某種特定的幾何圖形按一定規律在平面(二維方向上)分布的黑白相間的圖形記錄數據符號信息的;在代碼編制上巧妙地利用構成計算機內部邏輯基礎的“0”、“1”比特流的概念,使用若干個與二進制相對應的幾何形體來表示文字數值信息,通過圖象輸入設備或光電掃描設備自動識讀以實現信息自動處理。

二維碼由于自身設計特點,可包含更多的信息量,編碼信息范圍更廣,并且由于二維碼具有一定的校 驗功能等。同時還具有對不同行的信息自動識別功能、以及處理圖形旋轉變化點,二維碼譯碼更加準確,其誤碼率為千萬分之一。下圖為QR二維碼構造框圖。

圖1. QR碼符號的結構d312c4d4-0938-11ed-9ade-dac502259ad0.png

1) 位置探測圖形、位置探測圖形分隔符:用于對二維碼的定位,對每個QR碼來說,位置都是固定存在的,只是大小規格會有所差異;這些黑白間隔的矩形塊很容易進行圖像處理的檢測。

2) 定位圖形:這些小的黑白相間的格子就好像坐標軸,在二維碼上定義了網格。3) 格式信息:表示該二維碼的糾錯級別,分為L、M、Q、H;4) 數據區域:使用黑白的二進制網格編碼內容。8個格子可以編碼一個字節。5) 版本信息:即二維碼的規格,QR碼符號共有40種規格的矩陣(一般為黑白色),從21x21(版本1),到177x177(版本40),每一版本符號比前一版本每邊增加4個模塊。6) 糾錯碼字:用于修正二維碼損壞帶來的錯誤。

QR二維碼解碼流程

了解了QR二維碼的構造,下面我們來了解解碼流程,QR二維碼的解碼流程如下圖2所示。圖2. QR碼譯碼步驟d3414f70-0938-11ed-9ade-dac502259ad0.png1) 定位并獲取符號圖像。深色與淺色模塊識別為“0”與“1”的陣列。2) 識讀格式信息(如果需要,去除掩模圖形并完成對格式信息模塊的糾錯,識別糾錯等級與掩模圖形參考)。3) 識讀版本信息,確定符號的版本。4) 用掩模圖形參考,從格式信息中得出對編碼區的位圖進行異或處理消除掩模。5) 根據模塊排列規則,識讀符號字符,恢復信息的數據與糾錯碼字。6) 用與糾錯級別信息相對應的糾錯碼字檢測錯誤,如果發現錯誤,立即糾錯。7) 根據模式指示符和字符計數指示符將數據碼字劃分成多個部分。8) 最后,按照使用的模式譯碼得出數據字符并輸出結果。二維碼的解碼流程具體實現的步驟和方法是比較復雜,涉及到了QR二維碼的標準規則及相對應的算法,知識點很多,大家感興趣的話可以自己多去網上查閱資料了解。

QR decode快速使用方法

硬件資源

1) LCD 93412) 外接Buzzer(PE15)3) Arduio4) AT-START-F403A V1.0實驗板5) USB6) Sensor BF39017) USER key圖3. 硬件資源圖d35ed1b2-0938-11ed-9ade-dac502259ad0.png

注:1.該demo是基于AT32F403A的硬件條件,若使用者需要在AT32其他型號上使用,請修改相應配置即可。

2.供電部分:使用電源供電,或USB線供電(勿使用Link單獨供電)。

QR USB HID keyboard Demo使用

1) 打開QR decode project源程序,編譯后下載到實驗板。2) 由于該demo運行占用了169K的SRAM,所以在使用demo前需開啟芯片的擴展SRAM功能(擴展為224KB),為了方便用戶使用,demo已經在啟動文件中開啟了此項功能。

d39a459e-0938-11ed-9ade-dac502259ad0.png

3) 連接USB線到PC,通過上位機可以識別到該設備:HID Keyboard Device(標準鍵盤輸入模式,無須驅動)4) 根據LCD顯示信息,查看BF3901初始化是否成功,并按下USER key按鍵,開啟QR解碼偵測。5) 將攝像頭BF3901對準二維碼,LCD顯示當前抓取的攝像頭圖像,此時芯片一直在運算QR解碼。6) 若芯片一直沒有解析到二維碼,一維碼數據,則會一直運行下去,直到解析到數據,如圖4所示。蜂鳴器會響一下,并且將解析到數據通過USB傳輸到PC,如圖5所示。Ps. QR decode默認只偵測二維碼,若要偵測全部圖碼等,需開啟宏定義:Detect_all。圖4. LCD顯示解析數據d3b63c72-0938-11ed-9ade-dac502259ad0.png

圖5. USB傳到PC數據

d3d3452e-0938-11ed-9ade-dac502259ad0.png

關于雅特力雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創新趨勢的芯片設計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發與創新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內核,締造M4業界最高主頻288MHz運算效能,并支持工業級別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當多元的終端產品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業縫紉機、伺服驅控、電競周邊市場、斷路器、ADAS、T-BOX、數字電源、電動工具等終端設備應用,廣泛地覆蓋5G物聯網、消費、商務及工控等領域。

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

    關注

    146

    文章

    17983

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用 USB CDC 下載應用程序固件,用時過長是為什么?

    ,如果我使用 USB CDC 下載應用程序固件,則需要 1 分 50 秒。你知道問題是什么嗎? 原來的: MacBook----UART over USB----(kitprog3)MCU
    發表于 07-14 07:10

    AT32 IAP using the USART

    對于AT32 MCU,除了出廠固化的bootloader,用戶也可以在應用程序中編寫自己的bootloader程序,用于最終產品的固件更新。此功能稱為
    發表于 07-11 10:51

    AT32的ERTC與RTC的區別

    AT32單片機系列中包含兩種實時時鐘(RTC)模塊:標準的RTC和增強型RTC(ERTC)。以下是兩者的區別: 功能豐富性 RTC :提供基本的計數功能,以秒為單位遞增,范圍從0x00000000到
    發表于 07-11 10:48

    首日速遞 | 雅特力閃耀2025慕尼黑上海電子展,全方位展現智能“芯”實力

    4月15日,慕尼黑上海電子展(electronicaChina2025)在上海新國際博覽中心盛大啟幕。雅特力攜多款AT32系列MCU新品及完整應用方案矩陣,重磅亮相本屆展會,通過四大核心展區,全面
    的頭像 發表于 04-16 00:15 ?422次閱讀
    首日速遞 | 雅特力閃耀2025慕尼黑上海電子展,全方位展現智能“芯”實力

    AWTK-WEB 快速入門(5) - C 語言 WebSocket 應用程序

    導讀WebSocket可以實現雙向通信,適合實時通信場景。本文介紹一下使用C語言開發AWTK-WEB應用程序,并用WebSocket與服務器通訊。用AWTKDesigner新建一個應用程序先安裝
    的頭像 發表于 02-19 11:49 ?452次閱讀
    AWTK-WEB 快速入門(5) - C 語言 WebSocket <b class='flag-5'>應用程序</b>

    基于HPM_SDK_ENV開發應用程序的升級處理

    基于HPM_SDK_ENV開發應用程序的方式HPM_SDK_ENV是先楫半導體MCU的Windows集成開發環境,其包含HPM_SDK,工具鏈,依賴工具(cmake,ninja,openocd等
    的頭像 發表于 02-08 13:38 ?1016次閱讀
    基于HPM_SDK_ENV開發<b class='flag-5'>應用程序</b>的升級處理

    TAS2521應用程序參考指南

    電子發燒友網站提供《TAS2521應用程序參考指南.pdf》資料免費下載
    發表于 12-10 13:49 ?0次下載
    TAS2521<b class='flag-5'>應用程序</b>參考指南

    AWTK-WEB 快速入門(1) - C 語言應用程序

    導讀AWTK可以使用相同的技術棧開發各種平臺的應用程序。有時我們需要使用Web界面與設備進行交互,本文介紹一下如何使用C語言開發AWTK-WEB應用程序。用AWTKDesigner新建一個應用程序
    的頭像 發表于 11-27 11:46 ?716次閱讀
    AWTK-WEB 快速入門(1) - C 語言<b class='flag-5'>應用程序</b>

    QR 雜談

    ①對 諧振與電流模式 的解讀。 ②衰減震蕩的利用,是不是 “QR” 的賣點?! ③在軟開關電源電路中,源 (或射) 極電阻會否導致潛在的不穩定?!
    發表于 10-03 01:47

    STM32轉AT32代碼轉換

    1.引言在嵌入式開發中,我們經常會遇到更換單片機芯片的事情,若芯片是同一廠家的還好說,若是不同廠家的則需要重新寫,重新調,重新去學習其底層驅動程序,比較費時費力。如:ST32轉AT32、ST32轉
    的頭像 發表于 09-28 08:09 ?767次閱讀
    STM32轉<b class='flag-5'>AT32</b>代碼轉換

    AT32講堂088 | 雅特力AT32F402/F405時鐘配置

    簡介時鐘是芯片正確高效運行的基礎,正確的時鐘配置是芯片能正確運行的必要條件,其重要性不言而喻。AT32各系列產品的時鐘配置部分可能存在細微的差異和需要注意的事項,本文檔就著重針對各系列的情況來詳細
    的頭像 發表于 09-15 08:08 ?1025次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>088 | 雅特力AT32F402/F405時鐘配置

    AT32講堂087 | 雅特力AT32 IDE快速入門指南

    新建項目新項目向導AT32ID提供支持雅特力MCU的C語言項目模板,方便用戶快速創建項目。菜單欄【File】>【New】>【CProject】。新建項目向導的對話框將出現。在對
    的頭像 發表于 09-15 08:08 ?1406次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>087 | 雅特力<b class='flag-5'>AT32</b> IDE快速入門指南

    在TM4C MCU上用FreeRTOS開發通用應用程序應用說明

    電子發燒友網站提供《在TM4C MCU上用FreeRTOS開發通用應用程序應用說明.pdf》資料免費下載
    發表于 09-11 14:15 ?0次下載
    在TM4C <b class='flag-5'>MCU</b>上用FreeRTOS開發通用<b class='flag-5'>應用程序</b>應用說明

    雅特力AT32 MCU的隨機數生成

    概述產品和生態系統安全性的需求比以往任何時候都更加重要。真隨機數是所有安全系統的核心,其質量會影響設計的安全性。因此在沒有內置硬件TRNG的AT32的微控制器系列中,如何提高隨機數的有效,來符合
    的頭像 發表于 08-30 12:26 ?1292次閱讀
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的隨機數生成

    AT32講堂085 | 雅特力AT32 MCU HICK時鐘校準

    簡介AT32系列MCU內部都有提供適合運行的內部高速時鐘(HICK),其本質就是內置于芯片的RC振蕩器。在25℃下,其典型值頻率8MHz的精度由工廠校準到±1%,在-40到105℃,該內部高速時鐘
    的頭像 發表于 08-30 12:26 ?1257次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | 雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK時鐘校準
    主站蜘蛛池模板: 亚欧精品一区二区三区 | 青青青青久久精品国产h | 米奇影院777 | tv电影天堂| 在线一区二区三区 | 国产三级日产三级韩国三级 | 欧美一级别 | 天天爱天天操天天射 | 狠狠色狠狠色综合日日32 | 国产香蕉视频在线观看 | 日本一区二区三区四区在线观看 | 午夜国产高清精品一区免费 | 69xxxx日本老师| 欧美日韩亚洲国内综合网俺 | 久久成人国产精品青青 | 三级视频网站在线观看播放 | 高清色本在线www | 国产高清亚洲 | 2017av在线 | 波多野结衣一级特黄毛片 | 乱人伦xxxx国语对白 | 扒开末成年粉嫩的小缝强文 | 亚洲一区免费在线观看 | caoporn成人免费公开 | 亚洲成在人线久久综合 | 免费公开视频人人人人人人人 | 国产性大片黄在线观看在线放 | 色多多最新地址福利地址 | 日本加勒比官网 | 亚洲男人天堂2020 | 手机看片神马午夜片 | 日本一区二区视频在线观看 | 狠狠干网址 | 伊人久久大香线焦在观看 | 伊人www | 天天操夜夜操免费视频 | ak福利午夜在线观看 | 午夜在线视频国产 | 伊人久久亚洲综合天堂 | 大黄香蕉| 亚洲国产网 |