DSP的異步串口擴展問題解決方案 BF561 SPORT口
![](http://uphotos.eepw.com.cn/fetch/20130729/151745_2_0.jpg)
?、蹟?shù)據(jù)的發(fā)送。SPORT1_STAT中的TXF位指示發(fā)送FIFO中是否有空位,其值為1表示FIFO已滿,為0表示FIFO中仍有空位。
(3)ioctl() 函數(shù)
![](http://uphotos.eepw.com.cn/fetch/20130729/151745_2_1.jpg)
ioctl()是設備驅動程序中對設備I/O通道進行管理的函數(shù)。所謂對I/O通道進行管理,就是對設備的一些特性進行控制,例如串口傳輸波特率的選擇。驅動程序中ioctl()通過傳入的參數(shù)cmd設置SPORTl口的發(fā)送時鐘頻率。cmd在用戶程序端由一些宏進行定義,該整數(shù)通過系統(tǒng)調用傳遞到內核中的驅動程序,再由驅動程序利用解碼宏從這個整數(shù)中得到用戶要設置的波特率,然后通過switch{case)結構進行相應的操作。![](http://uphotos.eepw.com.cn/fetch/20130729/151745_2_2.jpg)
![](http://uphotos.eepw.com.cn/fetch/20130729/151745_2_2.jpg)
主要實現(xiàn)流程如下:![](http://uphotos.eepw.com.cn/fetch/20130729/151745_2_3.jpg)
![](http://uphotos.eepw.com.cn/fetch/20130729/151745_2_3.jpg)
只要保證應用程序中由locil()的參數(shù)cmd的宏定義值與核心驅動中相應的解碼宏定義相符,便可在應用程序中通過ioctl()函數(shù)實現(xiàn)任意有效波特率的設置。
評論