99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

聚豐項(xiàng)目 > RedScanBoxlite

RedScanBoxlite

RedScanBoxlite 是一款輕量化的條碼生成器.目前條碼的協(xié)議格式有多種,現(xiàn)在實(shí)現(xiàn)了對(duì) EAN-13 協(xié)議的支持.支持通過按鍵設(shè)置編碼數(shù)據(jù),然后一鍵快速生成對(duì)應(yīng)的條碼. 整個(gè)項(xiàng)目的開發(fā)多在 Linux 上完成. 軟件開發(fā)使用 vim + gcc + openocd. 硬件開發(fā)使用 librecad + Kicad. RedScanBox 則是一款支持解析條碼功能,同時(shí),支持更多協(xié)議條碼生成的設(shè)備.

iysheng iysheng

分享
0 喜歡這個(gè)項(xiàng)目
團(tuán)隊(duì)介紹

iysheng iysheng

團(tuán)隊(duì)成員

Red 嵌入式軟件開發(fā)工程師

分享
項(xiàng)目簡(jiǎn)介
RedScanBoxlite 是一款輕量化的條碼生成器.目前條碼的協(xié)議格式有多種,現(xiàn)在實(shí)現(xiàn)了對(duì) EAN-13 協(xié)議的支持.支持通過按鍵設(shè)置編碼數(shù)據(jù),然后一鍵快速生成對(duì)應(yīng)的條碼. 整個(gè)項(xiàng)目的開發(fā)多在 Linux 上完成. 軟件開發(fā)使用 vim + gcc + openocd. 硬件開發(fā)使用 librecad + Kicad. RedScanBox 則是一款支持解析條碼功能,同時(shí),支持更多協(xié)議條碼生成的設(shè)備.
硬件說(shuō)明

RedScanBoxlite 基于沁恒的 CH32V103R_NUCLE 板卡, 以擴(kuò)展版的方式實(shí)現(xiàn)了該項(xiàng)目.擴(kuò)展板上主要包括如下硬件模塊:

* 5 個(gè)按鍵,實(shí)現(xiàn) 上\下\左\右\返回\確認(rèn) 功能

* W25Q32 SPI FLASH 實(shí)現(xiàn)額外數(shù)據(jù)的存儲(chǔ)

* 24LC04 EEPROM 保存系統(tǒng)加密有關(guān)的數(shù)據(jù)

* JHD256160-G03BEW 并口顯示屏

* 擴(kuò)展版預(yù)留 UART 調(diào)試口

其中擴(kuò)展版的開發(fā) 硬件框圖:

hard_diagram.png

硬件開發(fā)在 Kicad 上完成, 3D 效果圖如圖所示:

擴(kuò)展板頂視圖:

擴(kuò)展版底視圖

hard1_simulate.png

軟件說(shuō)明

軟件說(shuō)明: RedScanBoxlite 使用 RT-Thread nano 操作系統(tǒng), 解碼模塊參考 zint 解碼庫(kù).線程間通訊使用多個(gè)信號(hào)量完成.

軟件流程圖:

soft_diagram.png

系統(tǒng)軟件的開發(fā)調(diào)試工作均在 Linux 上完成,主要總結(jié)有如下幾點(diǎn):

* 前期 rt-thread 的移植部分,前期走了很多彎路,最后定位到是線程棧設(shè)置太小導(dǎo)致.通過這一部分的工作,讓我對(duì) RT 的線程調(diào)度有了進(jìn)一步的理解.

* 在開發(fā)條碼生成的時(shí)候,對(duì)條碼的格式有了進(jìn)一步的了解,比如 EAN-13 這種目前比較通用的格式

* 在移植 zint 解碼庫(kù)時(shí)候,首先在 Linux 上提取關(guān)鍵的部分進(jìn)行測(cè)試,其中upcean.c文件實(shí)現(xiàn)了 EAN 條碼格式的解析,測(cè)試通過后直接移植到 RT-Thread nano 上進(jìn)行編譯.這也是后續(xù)對(duì)一些算法軟件庫(kù)移植的嵌入式設(shè)備的一個(gè)經(jīng)驗(yàn).

演示效果

系統(tǒng)的演示視頻放在了 bilibili 上,視頻如圖:


項(xiàng)目在 gitee 托管,地址是:  https://gitee.com/iysheng/red_scan_box.git

----------------------------------------------------------------------------------

其中,軟件的代碼在項(xiàng)目倉(cāng)庫(kù)的 submodule 倉(cāng)庫(kù)。具體的拉取過程示意如圖:

Image 3.png

在此闡述一下倉(cāng)庫(kù)的各個(gè)目錄及其內(nèi)容:

.

├── docs   -> 存使用到的開發(fā)板原理圖\數(shù)據(jù)手冊(cè)等文檔

│   ├── CH32V103DS0.PDF

│   ├── CH32V103EVT.ZIP

│   ├── CH32V103SCH.pdf

│   ├── CH32V103╞└╣└?х╦╡├?╩щ.pdf

│   ├── CH32xRM.PDF

│   └── 學(xué)習(xí)文檔.drawio

├── misc

│   ├── extend_board_skill.dxf   -> 擴(kuò)展版的 dxf 邊框文件

│   ├── hard0_simulate.png

│   ├── hard1_simulate.png

│   ├── hard_diagram.png

│   ├── hardware  -> 保存擴(kuò)展板硬件原理圖和 pcb 等文件

│   │   └── extend_board_ccd

│   │       └── extend_board

│   ├── soft_diagram.png

│   └── software

│       ├── LICENSE

│       └── rt-thread  -> 基于 RT-thread nano 開發(fā)的工程代碼

│           ├── AUTHORS

│           ├── bsp

│           ├── ChangeLog.md

│           ├── components

│           ├── docs

│           ├── include

│           ├── libcpu

│           ├── LICENSE

│           ├── README.md

│           ├── README_zh.md

│           └── src

├── notes ->  保存章節(jié)筆記目錄

│   ├── chapter0.md

│   └── chapter1.md

└── README.md


14 directories, 20 files


特別地 程序文件所在的目錄為 misc/software/rt-thread/bsp/ch32v103,具體如圖所示

Image 4.png

評(píng)論區(qū)(0 )