DSP的異步串口擴(kuò)展問題解決方案 BF561 SPORT口

③數(shù)據(jù)的發(fā)送。SPORT1_STAT中的TXF位指示發(fā)送FIFO中是否有空位,其值為1表示FIFO已滿,為0表示FIFO中仍有空位。
(3)ioctl() 函數(shù)

ioctl()是設(shè)備驅(qū)動(dòng)程序中對設(shè)備I/O通道進(jìn)行管理的函數(shù)。所謂對I/O通道進(jìn)行管理,就是對設(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)程序中,通過對數(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)換器
- 電源管理
- 信號放大器
評論