Linux應(yīng)用開發(fā)舉例分析

這篇文章主要講解了“Linux應(yīng)用開發(fā)舉例分析”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linux應(yīng)用開發(fā)舉例分析”吧!

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都做網(wǎng)站、泰安網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、泰安網(wǎng)絡(luò)營銷、泰安企業(yè)策劃、泰安品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供泰安建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:bm7419.com

開發(fā)案例說明

本文檔涉及的開發(fā)案例位于產(chǎn)品資料“4-軟件資料\Demo\tl-linux-application\”路徑下的base-demos和python-demos目錄。

base-demos目錄存放Linux常用開發(fā)案例,案例bin目錄存放可執(zhí)行文件,案例src目錄存放源碼。python-demos目錄存放Python開發(fā)案例,案例腳本文件無需編譯,可直接運(yùn)行。

如需重新編譯Linux常用開發(fā)案例,請將對應(yīng)案例src目錄復(fù)制到Ubuntu工作目錄下,進(jìn)入src目錄執(zhí)行如下命令加載Linux Processor SDK環(huán)境變量,并執(zhí)行make命令進(jìn)行案例編譯。編譯完成后,將在當(dāng)前目錄下生成可執(zhí)行文件。

Host#source /home/tronlong/ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05/linux-devkit/environment-setup

Host#make

Linux應(yīng)用開發(fā)舉例分析

圖 1 

 Linux常用開發(fā)案例

 tl_led_flash案例

  •  案例功能

本案例通過向評估底板用戶指示燈LED設(shè)備節(jié)點(diǎn)反復(fù)交替寫入1、0數(shù)值,實(shí)現(xiàn)LED閃爍效果。LED點(diǎn)亮與熄滅時(shí)間均為0.5s。

程序流程如下圖所示:

Linux應(yīng)用開發(fā)舉例分析

圖 3

  •  操作說明

將本案例bin目錄下的可執(zhí)行程序tl_led_flash復(fù)制到評估板文件系統(tǒng),并在可執(zhí)行程序所在目錄執(zhí)行如下命令運(yùn)行程序,即可看到評估底板LED以0.5s的時(shí)間間隔進(jìn)行閃爍。同時(shí),串口終端打印系統(tǒng)全部LED設(shè)備信息和程序當(dāng)前控制的LED設(shè)備信息。

Target#./tl_led_flash -help

Target#./tl_led_flash -n 3

Linux應(yīng)用開發(fā)舉例分析

圖 4

  •  關(guān)鍵代碼

預(yù)定義LED數(shù)組。程序由此數(shù)組獲取LED信息,數(shù)組信息必須為系統(tǒng)已有LED信息,否則程序運(yùn)行報(bào)錯(cuò)。

Linux應(yīng)用開發(fā)舉例分析

圖 5

LED亮滅操作和時(shí)間間隔。

Linux應(yīng)用開發(fā)舉例分析

圖 6

 tl_key_test案例

  •  案例功能

本案例通過監(jiān)聽用戶按鍵設(shè)備節(jié)點(diǎn)狀態(tài),檢測按鍵事件。

程序流程如下圖所示:

Linux應(yīng)用開發(fā)舉例分析

圖 7

用戶按鍵設(shè)備節(jié)點(diǎn)為“/dev/input/event1”。獲取按鍵事件后進(jìn)行按鍵鍵值匹配,再進(jìn)行事件處理。

  •  操作說明

將本案例bin目錄下的可執(zhí)行程序tl_key_test復(fù)制到評估板文件系統(tǒng),在可執(zhí)行程序所在目錄執(zhí)行如下命令運(yùn)行程序,串口終端將打印提示信息。再按下評估板用戶按鍵,程序?qū)z測到按鍵事件,并打印按鍵狀態(tài)信息。

Target#./tl_key_test -help

Target#./tl_key_test -d /dev/input/event1

Linux應(yīng)用開發(fā)舉例分析

圖 8

  •  關(guān)鍵代碼

定義按鍵。

Linux應(yīng)用開發(fā)舉例分析

圖 9

監(jiān)聽按鍵事件。

Linux應(yīng)用開發(fā)舉例分析

圖 10

循環(huán)監(jiān)聽。

Linux應(yīng)用開發(fā)舉例分析

圖 11

 tl_uart_rw案例

  •  案例功能

本案例主要實(shí)現(xiàn)串口讀寫功能。

程序流程如下圖所示:

Linux應(yīng)用開發(fā)舉例分析

圖 12

RS232、RS485串口設(shè)備節(jié)點(diǎn)分別為“/dev/ttyS0”、“/dev/ttyS1”。串口初始化時(shí)將設(shè)置波特率、模式、數(shù)據(jù)位、停止位等參數(shù)。通過設(shè)備文件描述符對串口進(jìn)行讀寫操作。

  •  操作說明

使用RS232交叉串口母線、USB轉(zhuǎn)RS232公頭串口線,將評估板的RS232串口連接到PC機(jī)的USB接口,如下圖所示。

Linux應(yīng)用開發(fā)舉例分析

圖 13

將本案例bin目錄下的可執(zhí)行程序tl_uart_rw復(fù)制到評估板文件系統(tǒng),進(jìn)入可執(zhí)行程序所在目錄,執(zhí)行如下命令查看程序參數(shù)信息。

Target#./tl_uart_rw -h

Linux應(yīng)用開發(fā)舉例分析

圖 14

執(zhí)行如下命令進(jìn)行RS232串口數(shù)據(jù)讀操作。

Target#./tl_uart_rw -d /dev/ttyS0 -r -s 8

打開產(chǎn)品資料“\4-產(chǎn)品資料\Tools\Windows\”目錄下的串口調(diào)試工具SerialDebug.exe,打開PC機(jī)設(shè)備管理器,確認(rèn)RS232串口COM端口號(hào),并按照下圖步驟進(jìn)行操作或設(shè)置,從串口調(diào)試工具往RS232串口發(fā)送數(shù)據(jù)。調(diào)試串口終端將會(huì)打印從RS232串口讀取到的數(shù)據(jù)。

Linux應(yīng)用開發(fā)舉例分析

圖 15

Linux應(yīng)用開發(fā)舉例分析

圖 16

執(zhí)行如下命令進(jìn)行RS232串口數(shù)據(jù)寫操作,數(shù)據(jù)已在程序中定義。串口調(diào)試工具將會(huì)打印從RS232串口接收的數(shù)據(jù)。

Target#./tl_uart_rw -d /dev/ttyS0 -w -s 8

Linux應(yīng)用開發(fā)舉例分析

圖 17

Linux應(yīng)用開發(fā)舉例分析

圖 18

使RS232轉(zhuǎn)RS485模塊、USB轉(zhuǎn)RS232公頭串口線,將評估板的RS485串口連接到PC機(jī)的USB接口,如下圖所示。

Linux應(yīng)用開發(fā)舉例分析

圖 19

RS232轉(zhuǎn)RS485模塊與評估板上RS485串口連接方法如下:

  1. RS232轉(zhuǎn)RS485模塊485+端子,連接評估板RS485串口A端子。

  2. RS232轉(zhuǎn)RS485模塊485-端子,連接評估板RS485串口B端子。

  3. RS232轉(zhuǎn)RS485模塊GND端子,連接評估板RS485串口GND端子。

執(zhí)行如下命令進(jìn)行RS458串口數(shù)據(jù)讀寫操作。RS485串口測試步驟與現(xiàn)象與RS232類似,命令中的設(shè)備節(jié)點(diǎn)由ttyS0改成ttyS1即可。

Target#./tl_uart_rw -d /dev/ttyS1 -r -s 8 //RS485串口數(shù)據(jù)讀操作

Target#./tl_uart_rw -d /dev/ttyS1 -w -s 8 //RS485串口數(shù)據(jù)寫操作

  •  關(guān)鍵代碼

串口初始化函數(shù)。

Linux應(yīng)用開發(fā)舉例分析

圖 20

串口讀寫函數(shù)。

Linux應(yīng)用開發(fā)舉例分析

圖 21

Linux應(yīng)用開發(fā)舉例分析

圖 22

回環(huán)測試。

Linux應(yīng)用開發(fā)舉例分析

圖 23

相關(guān)邏輯。

Linux應(yīng)用開發(fā)舉例分析

圖 24

 tl_can_echo案例

  •  案例功能

本案例使用canutils工具包的canecho程序,實(shí)現(xiàn)CAN接口數(shù)據(jù)接收并重發(fā)功能。

canutils工具包內(nèi)含5個(gè)獨(dú)立的程序,分別為canconfig、candump、canecho、cansend、cansequence。各程序功能簡述如下:

  1. canconfig:用于配置CAN接口參數(shù),比如波特率、模式等。

  2. candump:從CAN接口接收數(shù)據(jù)并以十六進(jìn)制形式打印到標(biāo)準(zhǔn)輸出,亦可輸出到指定文件。

  3. canecho:從CAN接口接收數(shù)據(jù),并將接收到的數(shù)據(jù)對外發(fā)送。

  4. cansend:向指定CAN接口發(fā)送數(shù)據(jù)。

  5. cansequence:向指定CAN接口發(fā)送自動(dòng)重復(fù)遞增數(shù)字,或指定接收模式并校驗(yàn)接收的遞增數(shù)字。

本案例僅使用canecho功能,如需實(shí)現(xiàn)其他功能,可自行下載canutils工具包并從中獲取對應(yīng)功能程序源碼。下載鏈接:https://public.pengutronix.de/software/socket-can/canutils/。

程序流程如下圖所示:

Linux應(yīng)用開發(fā)舉例分析

圖 25

  •  操作說明

使用USB轉(zhuǎn)CAN模塊連接評估板CAN0接口和PC機(jī)USB接口,如下圖所示。

Linux應(yīng)用開發(fā)舉例分析

圖 26

參照調(diào)試工具安裝文檔安裝USB轉(zhuǎn)CAN驅(qū)動(dòng)和ECAN Tools調(diào)試軟件,雙擊打開ECAN Tools軟件,選擇設(shè)備類型,然后點(diǎn)擊“打開設(shè)備”。

Linux應(yīng)用開發(fā)舉例分析

圖 27

打開ECAN Tools,界面如下圖所示。

Linux應(yīng)用開發(fā)舉例分析

圖 28

進(jìn)入評估板文件系統(tǒng),使用文件系統(tǒng)自帶的canconfig工具設(shè)置波特率,并啟動(dòng)CAN0接口。

Target#canconfig can0 stop

Target#canconfig can0 bitrate 125000

Target#canconfig can0 start

Linux應(yīng)用開發(fā)舉例分析

圖 29

將本案例bin目錄下的可執(zhí)行程序tl_can_echo復(fù)制到評估板文件系統(tǒng),進(jìn)入可執(zhí)行程序所在目錄,執(zhí)行如下命令查看程序參數(shù)信息。

Target#./tl_can_echo -help

Linux應(yīng)用開發(fā)舉例分析

圖 30

執(zhí)行如下命令綁定CAN0接口,并接收由ECAN Tools發(fā)出的數(shù)據(jù),然后將接收到的數(shù)據(jù)重新發(fā)送出去。在ECAN Tools中輸入數(shù)據(jù)并點(diǎn)擊發(fā)送按鈕,可看到有兩幀數(shù)據(jù),一幀是發(fā)送數(shù)據(jù),另一幀是接收數(shù)據(jù)。

Target#./tl_can_echo -v can0

Linux應(yīng)用開發(fā)舉例分析

圖 31

Linux應(yīng)用開發(fā)舉例分析

圖 32

可按"Ctrl+Z"暫停程序,并執(zhí)行如下命令退出程序。

Target#  killall -9 tl_can_echo

 Linux應(yīng)用開發(fā)舉例分析

圖 33

  •  關(guān)鍵代碼

使用socket監(jiān)聽CAN接口。

Linux應(yīng)用開發(fā)舉例分析

圖 34

將從CAN接口接收到的數(shù)據(jù)重新發(fā)送出去。

Linux應(yīng)用開發(fā)舉例分析

圖 35

感謝各位的閱讀,以上就是“Linux應(yīng)用開發(fā)舉例分析”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Linux應(yīng)用開發(fā)舉例分析這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

本文名稱:Linux應(yīng)用開發(fā)舉例分析
鏈接URL:http://bm7419.com/article8/jjioop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站制作外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)