做電子發(fā)燒友技術(shù)探索官,分享你的原創(chuàng)電子行業(yè)文章!
本期小編繼續(xù)為大家分享一些優(yōu)秀專欄原創(chuàng)技術(shù)文章,供大家一起學(xué)習(xí)交流。
本期推薦
專欄作者:嵌入式技術(shù)
專欄介紹:精通STM32開發(fā)(寄存器、HAL庫)、PCB電路設(shè)計(jì)、Linux下進(jìn)程、線程、網(wǎng)絡(luò)編程等。
Linux下基于GTK人臉識(shí)別界面設(shè)計(jì)
GTK(GIMP Toolkit)是一套源碼以LGPL許可協(xié)議分發(fā)、跨平臺(tái)的圖形工具包。最初是為GIMP寫的,已成為一個(gè)功能強(qiáng)大、設(shè)計(jì)靈活的一個(gè)通用圖形庫,是GNU/Linux下開發(fā)圖形界面的應(yīng)用程序的主流開發(fā)工具之一。當(dāng)然,GTK也是支持跨平臺(tái)的,支持Unix類的系統(tǒng)、Windows,甚至手機(jī)平臺(tái)。
GTK是使用C語言寫的,所以其原生API都是面向C的,同時(shí)GTK的一大特點(diǎn)是,在C語言層面實(shí)現(xiàn)了面向?qū)ο蟮奶匦浴TK是完全免費(fèi)的,而且基于LGPL協(xié)議,這可以保證私有軟件通過鏈接使用GTK可以不把軟件源代碼開放,對(duì)商業(yè)應(yīng)用較友好,這跟GPL協(xié)議是不一樣的。也正是LGPL協(xié)議,使得早些年Gnome(基于GTK編寫)風(fēng)頭勝過KDE(基于QT編寫)。(開發(fā)流程如下圖)
>>>點(diǎn)此查看全文
Linux下基于SDL庫貪吃蛇游戲
SDL(Simple DirectMediaLayer)是一套開放源代碼的跨平臺(tái)多媒體開發(fā)庫,使用C語言寫成。SDL提供了數(shù)種控制圖像、聲音、輸出入的函數(shù),讓開發(fā)者只要用相同或是相似的代碼就可以開發(fā)出跨多個(gè)平臺(tái)(Linux、Windows、MacOS X等)的應(yīng)用軟件?,F(xiàn)SDL多用于開發(fā)游戲、模擬器、媒體播放器等多媒體應(yīng)用領(lǐng)域。
實(shí)現(xiàn)原理
貪吃蛇游戲?qū)崿F(xiàn)方式很多,可以通過鏈表方式實(shí)現(xiàn),也可以通過結(jié)構(gòu)體數(shù)組方式實(shí)現(xiàn)。結(jié)構(gòu)體主要用來保村蛇身的坐標(biāo)位置和長(zhǎng)度。移動(dòng)蛇身則通過不斷遍歷結(jié)構(gòu)體數(shù)組,刷新屏幕窗口即可。
>>>點(diǎn)此查看全文
Linux下V4L2框架基于SDL庫本地USB攝像頭監(jiān)控
1.攝像頭框架編程步驟
(1)打開攝像頭設(shè)備(/dev/video0 、/dev/video1 );
(2)設(shè)置圖像格式:VIDIOC_S_FMT(視頻捕獲格式、圖像顏色數(shù)據(jù)格式、圖像寬和高);
(3)申請(qǐng)緩沖區(qū):VIDIOC_REQBUFS(緩沖區(qū)數(shù)量、緩沖映射方式、視頻捕獲格式);
(4)將緩沖區(qū)映射到進(jìn)程空間:VIDIOC_QUERYBUF(要映射的緩沖區(qū)下標(biāo)、緩沖映射方式、視頻捕獲格式);
(5)將緩沖區(qū)添加到隊(duì)列中:VIDIOC_QBUF(映射的緩沖區(qū)下標(biāo)、緩沖映射方式、視頻捕獲格式);
(6)開啟攝像頭采集:VIDIOC_STREAMON (視頻捕獲格式) (7)從采集隊(duì)列中取出圖像數(shù)據(jù),通過SDL圖像渲染;
>>>點(diǎn)此查看全文
Linux下IIC子系統(tǒng)和觸摸屏驅(qū)動(dòng)
I2C( Inter-Integrated Circuit)總線是由 PHILIPS 公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。是微電子通信控制領(lǐng)域廣泛采用的一種總線標(biāo)準(zhǔn)。具有接口線少,控制方式簡(jiǎn)單,器件封裝形式小,通信速率較高等優(yōu)點(diǎn)。
I2C特性
(1)只要求兩條總線線路一條串行數(shù)據(jù)線SDA,一條串行時(shí)鐘線SCL;
(2)每個(gè)連接到總線的器件都可以通過唯一的地址和一直存在的簡(jiǎn)單的主機(jī)/從機(jī)關(guān)系軟件設(shè)定地址,主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器;
(3)它是一個(gè)真正的多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳輸可以通過沖突檢測(cè)和仲裁防止數(shù)據(jù)被破壞;
(4)串行的 8 位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s,快速模式下可達(dá)400kbit/s,高速模式下可達(dá) 3.4Mbit/s;
(5)片上的濾波器可以濾去總線數(shù)據(jù)線上的毛刺波保證數(shù)據(jù)完整;
(6)連接到相同總線的IC數(shù)量只受到總線的最大電容400pF;
IIC是屬串行通訊總線,同步傳輸、半雙工。
I2C 總線上的每一個(gè)設(shè)備都可以作為主設(shè)備或者從設(shè)備,而且每一個(gè)設(shè)備都會(huì)對(duì)應(yīng)一個(gè)唯一的地址(可以從I2C 器件的數(shù)據(jù)手冊(cè)得知),主從設(shè)備之間就通過這個(gè)地址來確定與哪個(gè)器件進(jìn)行通信,在通常的應(yīng)用中,我們把 CPU 帶 I2C 總線接口的模塊作為主設(shè)備,把掛接在總線上的其他設(shè)備都作為從設(shè)備。
>>>點(diǎn)此查看全文
Linux下基于HTTP網(wǎng)頁視頻監(jiān)控
超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)是一個(gè)簡(jiǎn)單的請(qǐng)求-響應(yīng)協(xié)議,它通常運(yùn)行在TCP之上。它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。請(qǐng)求和響應(yīng)消息的頭以ASCII形式給出;而消息內(nèi)容則具有一個(gè)類似MIME的格式。這個(gè)簡(jiǎn)單模型是早期Web成功的有功之臣,因?yàn)樗归_發(fā)和部署非常地直截了當(dāng)。
HTTP的發(fā)展是由蒂姆·伯納斯-李于1989年在歐洲核子研究組織(CERN)所發(fā)起。HTTP的標(biāo)準(zhǔn)制定由萬維網(wǎng)協(xié)會(huì)(World Wide Web Consortium,W3C)和互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)進(jìn)行協(xié)調(diào),最終發(fā)布了一系列的RFC,其中最著名的是1999年6月公布的 RFC 2616,定義了HTTP協(xié)議中現(xiàn)今廣泛使用的一個(gè)版本——HTTP 1.1。
HTTP 是一個(gè)基于 TCP/IP 通信協(xié)議來傳遞數(shù)據(jù)( HTML 文件, 圖片文件, 查詢結(jié)果等)。工作于客戶端-服務(wù)端架構(gòu)上,默認(rèn)端口號(hào)為 80,但是你也可以改為 8080或其它端口號(hào)。HTTP協(xié)議永遠(yuǎn)都是客戶端發(fā)起請(qǐng)求,服務(wù)器回送響應(yīng)。
>>>點(diǎn)此查看全文
更多熱點(diǎn)文章閱讀
-
電子技術(shù)
+關(guān)注
關(guān)注
18文章
909瀏覽量
56165 -
電子發(fā)燒友論壇
+關(guān)注
關(guān)注
4文章
197瀏覽量
1120
原文標(biāo)題:嵌入式Linux開發(fā)秘籍!工程師大佬親歷分享項(xiàng)目樣例
文章出處:【微信號(hào):gh_9b9470648b3c,微信公眾號(hào):電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論