串列埠驅動分析-初始化
1.串列埠驅動程式結構
/linux-tq2440/drivers/serial/samsung.c
2.串口驅動中的重要資料結構
在之前一篇中的tty_write,位於:
static
const
struct file_operations tty_fops =;
tty_ldisc_ops線路規程的函式指標:
struct tty_ldisc_ops tty_ldisc_n_tty =;
tty_operations的變數:
static
const
struct tty_operations uart_ops =;
uart驅動程式結構:
struct ua
rt_driver
封裝了tty_driver,使得底層的uart驅動無需關心tty_driver
uart埠結構:
struct uart_port
用於描述乙個uart埠(直接對應於乙個串列埠)的i/o埠或者io記憶體位址等資訊。
uart相關操作函式結構:
struct uart_ops
uart狀態結構: struct uart_state 裝置私有資訊結構體,
在uart_open()中:
tty->driver_data = state;
在其他uart_***()中:
struct uart_state *state = tty->driver_data;
就可以獲取裝置私有資訊結構體。
uart資訊結構: struct uart_info
3.分析**流程
在tq2440中只需要註冊uart_register_driver就行了
而在240中初始化uart_port、闖將屬性檔案、初始化動態頻率調節
參考資料:
0
給主人留下些什麼吧!~~
串列埠的初始化和使用
新增全域性變數 handle hcomport 函式oninitdialog中的 bool cmycomdlg oninitdialog else msdn msdn library mobile and embedded development windows embedded windows e...
初始化 指定初始化
id alloc 物件的誕生過程,主要是從作業系統獲得一塊足夠大的記憶體,以存放該類的全部例項變數,並將其指定為存放記憶體物件的實力變數的位置。alloc方法同時將這塊記憶體全部設定為0。結果是 bool變數初始化為no,所有的int型別變數為0,float變數為0.0,所有的指標為nil.obje...
初始化 1 預設初始化 列表初始化
初始化的基本概念 事實 初始化和賦值是兩個完全不同的操作。初始化,是建立變數時賦予其乙個初始值。賦值,是把物件的當前值擦除,用乙個新值代替。列表初始化 p39 作為c 11新標準的一部分,用花括號 來初始化變數得到了全面應用。出於某些原因,這種初始化的方式叫做列表初始化。現在,無論是初始化物件還是某...