久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1857|回復: 0
收起左側

iTOP-開發板-驅動-RS85模塊ioctl操作時間間隔修改

[復制鏈接]
ID:188759 發表于 2018-8-30 11:04 | 顯示全部樓層 |閱讀模式
本文檔介紹迅為RS485模塊測試例程,通過ioctl控制模塊數據傳輸方向的時間間隔修改 方法。
適用迅為iTOP-4412開發板丨4418開發板丨6818開發板丨IMX6開發板
本文檔以 iTOP-4412 開發板的 RS485 模塊為例,其它系列開發板 RS485 模塊在底板 上,硬件原理和驅動代碼是一模一樣的。如下圖所示,串口轉 RS485 的模塊為 “SN65HVD3082”,pin2 和 pin3 管腳,用于控制 RS485 發送和接收的方向。
news2018083001.jpg
在 RS485 的 C 測試例程中,ioctl 控制的 RS485 設備節點為“/dev/max485_ctl_pin” 設備節點賦值的代碼為:
設備節點賦值的代碼為:char *max485_ctl = "/dev/max485_ctl_pin";
如下圖所示,函數“prepare_to_send”和“prepare_to_recv”,RS485 模塊在準備發 送和接收數據前,都需要調用對應的發送準備函數和接收準備函數,其中控制發送和接收的, 就是 RS485 模塊“SN65HVD3082”的 pin2 和 pin3 管腳,控制 pin2 和 pin3 的高低就可以 控制方向。
如果用戶自己更新 RS485 的應用程序,會發現這個管腳高低電平切換最少需要 100ms, 不能短于這個時間。
news2018083002.jpg
ioctl 函數就涉及到 RS485 驅動,RS485 模塊的驅動是內核源碼下的 “drivers/char/max485_ctl.c”文件。RS485 驅動文件中,ioctl 相關代碼如下所示。
news2018083003.jpg
news2018083004.jpg
如上代碼所示,紅色部分是導致上層應用調用 ioctl 間隔至少 100ms,硬件管腳高低切換 至少為 100ms 的原因。
如果用戶切換數據發送和接收的狀態少于 100ms,可以將其 mdelay(100);注釋,然后重 新編譯內核鏡像燒寫到開發板。但是請務必注意的是,發送和接收之間切換的時候,請務必在 應用程序中根據實際情況給一定的延時,延時的大小,用戶需要根據自己實際應用來調整,否 則會出現丟數據的情況。

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人免费视频 | 伦理二区 | 一级黄色日本片 | 国产91丝袜 | 中文字幕 欧美 日韩 | 国产乱一区二区三区视频 | 亚洲视频自拍 | 一级免费视频 | www.av7788.com | 国产精品v | 欧美性猛交一区二区三区精品 | 亚洲精品久久久久久久不卡四虎 | 九九色九九 | 亚洲精选久久 | 国产一区二区三区四区在线观看 | 久久久国产网站 | 国产成人福利视频 | 一呦二呦三呦国产精品 | 国产 日韩 欧美 在线 | 色99视频 | 亚洲国产精品一区 | 国产精品成av人在线视午夜片 | 一区二区日韩 | 欧美一级在线观看 | 九九亚洲 | 国产欧美一区二区三区在线看 | 国产精选一区 | 久久久国产一区 | 粉嫩av久久一区二区三区 | 久久剧场| 国产精品欧美一区二区三区 | 久久精品一区 | 国产精品免费视频一区 | 人人爽日日躁夜夜躁尤物 | 99视频网| 久久蜜桃av一区二区天堂 | 国产一区二区三区四区hd | 国产乱码精品一区二区三区忘忧草 | 久久精品亚洲 | 国产精品一区二区视频 | 一区二区在线免费播放 |