串列埠驅動分析 初始化

2021-08-06 05:37:41 字數 1125 閱讀 9167

串列埠驅動分析-初始化

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新標準的一部分,用花括號 來初始化變數得到了全面應用。出於某些原因,這種初始化的方式叫做列表初始化。現在,無論是初始化物件還是某...