• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 模擬技術 > 設計應用 > 頻譜儀多種內核通信機制的方案設計

    頻譜儀多種內核通信機制的方案設計

    作者: 時間:2012-04-12 來源:網絡 收藏
    0,0,0); TEXT-INDENT: 0px; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">

      其中,“.owner=THIS_MODULE”表示結構屬于本模塊,然后是open、read等各函數的對應關系。由于初始化在hpi_init函數中實現,所以open函數并沒有特別的操作,主要是在終端輸出信息。函數release主要是申請中斷資源的釋放,使用free_irq函數。下面主要講解read函數,write函數與之類似,不再詳述。

      ssize_t hpi_read(struct file*file,char*buf,size_t count,loff_t*offp)

      其中,參數file是打開文件的標識符;參數buf和count就是要向buf指向的地址存放count字節的數據;參數offp是文件讀取的位置,默認為文件頭,不用設置。

      在read函數的最開始有如下代碼:

      wait_event interruptible(hpi_wait,ev_start);

      down(sem);

      ……

      up(sem);

      其中wait_event_interruptible函數會阻塞進程,使其進入等待隊列。直到DSP的數據準備好后,發來中斷。HPI設備注冊的中斷處理函數handler會將變量ev_start置1,同時喚醒hpi_wait等待隊列。read函數繼續執行之后的代碼,即開始從DSP的HPID寄存器讀取數據到參數buf指向的地址。讀取完成后向DSP指定地址寫入0xffffffff,表示讀取完成。



    關鍵詞: 頻譜儀 內核通信

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 平塘县| 沙湾县| 神木县| 安图县| 澄江县| 从化市| 高要市| 天水市| 闵行区| 德庆县| 长阳| 星座| 卓尼县| 抚州市| 万州区| 东海县| 金溪县| 苍山县| 买车| 繁峙县| 右玉县| 连江县| 射洪县| 湖北省| 定安县| 肥西县| 桦南县| 仁寿县| 长岛县| 新建县| 南岸区| 莱芜市| 沙田区| 宣威市| 尚志市| 湖口县| 义马市| 隆林| 尼木县| 德安县| 开原市|