DSP的異步串口擴(kuò)展問題解決方案 BF561 SPORT口
③數(shù)據(jù)的發(fā)送。SPORT1_STAT中的TXF位指示發(fā)送FIFO中是否有空位,其值為1表示FIFO已滿,為0表示FIFO中仍有空位。
(3)ioctl() 函數(shù)
ioctl()是設(shè)備驅(qū)動(dòng)程序中對(duì)設(shè)備I/O通道進(jìn)行管理的函數(shù)。所謂對(duì)I/O通道進(jìn)行管理,就是對(duì)設(shè)備的一些特性進(jìn)行控制,例如串口傳輸波特率的選擇。驅(qū)動(dòng)程序中ioctl()通過傳入的參數(shù)cmd設(shè)置SPORTl口的發(fā)送時(shí)鐘頻率。cmd在用戶程序端由一些宏進(jìn)行定義,該整數(shù)通過系統(tǒng)調(diào)用傳遞到內(nèi)核中的驅(qū)動(dòng)程序,再由驅(qū)動(dòng)程序利用解碼宏從這個(gè)整數(shù)中得到用戶要設(shè)置的波特率,然后通過switch{case)結(jié)構(gòu)進(jìn)行相應(yīng)的操作。
主要實(shí)現(xiàn)流程如下:
只要保證應(yīng)用程序中由locil()的參數(shù)cmd的宏定義值與核心驅(qū)動(dòng)中相應(yīng)的解碼宏定義相符,便可在應(yīng)用程序中通過ioctl()函數(shù)實(shí)現(xiàn)任意有效波特率的設(shè)置。
結(jié)語
在SPORT口驅(qū)動(dòng)程序中,通過對(duì)數(shù)據(jù)幀結(jié)構(gòu)進(jìn)行轉(zhuǎn)換,輸出與UART異步數(shù)據(jù)相同的幀格式,用軟件實(shí)現(xiàn)UART,有效地解決了DSP的異步串口擴(kuò)展問題。
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論