新聞中心
隨著linux在嵌入式系統(tǒng)上的大量應(yīng)用,Linux系統(tǒng)下對串口通信設(shè)備的驅(qū)動技術(shù)和應(yīng)用也成為嵌入式開發(fā)工程師關(guān)注的焦點。

串口又稱串行通信,是將數(shù)據(jù)以字節(jié)為單位,一個接一個地進行發(fā)送的過程,它是把電腦機需要傳輸?shù)淖止?jié)、比特,和比特組放到一起,然后按位傳送的通信方式。串口比較適合多終端應(yīng)用,可用于終端到機器之間建立無線連接,因此被大量運用于嵌入式系統(tǒng)、PLC控制器、智能家居、安防監(jiān)控,汽車監(jiān)控等行業(yè)。
在Linux系統(tǒng)下,串口驅(qū)動的實現(xiàn)主要通過基于設(shè)備樹的u-boot(uboot)驅(qū)動和基于Linux內(nèi)核的內(nèi)核驅(qū)動,兩者編程開發(fā)難度不同、運行效果也各有千秋。
以開發(fā)智能家居系統(tǒng)為例,它需要與傳感器、智能家具等設(shè)備進行數(shù)據(jù)通訊,傳感器設(shè)備的信號傳輸一般采用串口或者zigbee網(wǎng)絡(luò),因此開發(fā)它的控制器,首先在Linux內(nèi)核中添加串口驅(qū)動,使得Linux系統(tǒng)能夠識別控制器的串口控制器,然后再開發(fā)程序以實現(xiàn)設(shè)備控制及信號傳輸?shù)裙δ?,實現(xiàn)智能家居系統(tǒng)。
串口驅(qū)動的開發(fā)過程一般包括一下幾個步驟:
1、驅(qū)動注冊:在內(nèi)核中注冊驅(qū)動,使得內(nèi)核能夠識別設(shè)備型號等信息,如:
driver_register(&stm32_uart_driver);
2、中斷初始化:為設(shè)備分配中斷號,==并實現(xiàn)中斷服務(wù)函數(shù),為實現(xiàn)串口收發(fā)備分配中斷。
irq_request_register(irq_num, irq_handler, 0);
3、串口參數(shù)設(shè)置:==根據(jù)硬件參數(shù)配置串口,如:
uart_set_param(UART_BAUDRATE, 9600);
4、程序開發(fā):==利用置標(biāo)文件及夾具函數(shù)和相關(guān)函數(shù)實現(xiàn)上層數(shù)據(jù)發(fā)送和讀取,如:
uart_read(rx_buf, rx_length);
uart_write(tx_buf, tx_length);
通過以上步驟,串口驅(qū)動的開發(fā)和應(yīng)用便可實現(xiàn),它的實現(xiàn)對嵌入式開發(fā)來說,對在Linux系統(tǒng)開發(fā)智能家居等項目具有重要意義。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)站題目:Linux串口驅(qū)動研究及應(yīng)用(linux串口驅(qū)動)
網(wǎng)站路徑:http://m.fisionsoft.com.cn/article/coohojp.html


咨詢
建站咨詢
