網站首頁 編程語言 正文
問題描述
最近在預裝有windows7 SP1系統的工控機上,開發了一款modbus數據監聽、處理的應用程序。主要功能就是監聽485線上modbus通信數據,處理數據,并上報到中心平臺,485數據通過USB串口轉485信號轉換模塊獲取。
調試過程中發現,工控機在接入被監聽485信號的情況下啟動,進入系統之后,采集程序會出現打不開串口設備的問題,并且,鼠標會不停的亂跳。
問題原因
起初懷疑是485數據發送頻率太快,系統處理不及時導致的。之后,否定了這種猜測,因為串口設備和鼠標是兩個不同的設備,設備應該不會相互干擾,唯一的可能就是U轉485模塊被系統識別成了“鼠標設備”。
果然,通過系統的“設備管理器”,證實了這種猜測,兩個U轉485模塊被識別成了Microsoft serial BallPoing,而且位置就是那兩個串口設備。
原來如此,由于串口上一直有485數據,系統啟動時候,誤認為這兩個串口發送的數據是鼠標數據,從而把串口設備識別成了鼠標設備,這也解釋了為什么應用程序打不開串口設備,因為這兩個串口設備已經被占用了!
解決方法
知道了問題原因,解決辦法就好說了,有以下幾種:
- 不要在系統啟動時,向串口發送數據,這樣串口設備很容易會被識別成“串口鼠標設備”。
- 如必須發送串口數據,比如本案例,監聽485數據,可以在系統啟動之后,將“Microsoft serial ballpoing”設備禁用,下次系統再啟動時候,就不會再將485串口識別成鼠標設備了;
- 禁用注冊表中sermouse的啟動項,打卡注冊表,sermouse注冊表的路徑如下:
“計算機\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sermouse”
Start各種值得含義如下:
- 0,則驅動由啟動引導器加載,應該跟“隨著開機,最先啟動”是同一回事;
- 1,則驅動由操作系統的I/O子系統加載,即- 在系統內核初始化時加載;
- 2,則驅動/服務在啟動后自動加載;
- 3,則驅動/服務就是按需手動加載;
- 4,驅動/服務就是被禁用的狀態
這里將Start的值置位4,禁用Sermouser驅動服務。
- 還有一種不太建議的方法,就是找到Microsoft serial ballpoing的驅動程序,然后刪掉,這樣可以從根本上解決問題。但是,驅動程序畢竟是系統程序,直接刪掉,可能會造成系統不穩定,所以,不太建議這么做。
原文鏈接:https://blog.csdn.net/lhl_blog/article/details/122542846
相關推薦
- 2022-08-27 asp.net中MVC的處理流程詳解_基礎應用
- 2023-02-05 flutter的導航和路由使用示例詳解_Android
- 2022-07-28 Golang配置管理庫?Viper的教程詳解_Golang
- 2022-10-09 Xshell連接不上虛擬機的解決辦法匯總_Linux
- 2022-08-07 python中pd.cut()與pd.qcut()的對比及示例_python
- 2022-09-03 Redis實現Session共享與單點登錄_Redis
- 2022-10-14 面試官:int(1) 和 int(10) 有什么區別?
- 2022-05-29 C#使用DirectX.DirectSound播放語音_C#教程
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支