写的都是阻塞的,不过应该影响不大。
由于监控下位机有个心跳数据需要取,所以每一秒发一条命令然后受到状态更新界面上一个CStatic。
现在,MFC程序刚刚启动时还好,资源管理器显示平均CPU占有12左右;
不过,啥也不干,就那么放着,一个小时左右后整个电脑都开始卡,这时显示平均CPU占用5左右。到后来,干脆整个程序界面都卡死了,就是Ctrl+Tab回不来了。但是至少后台在打印txt日志的行程还在运行。
从资源管理器来看,平均%5的CPU也不是很夸张啊,但为啥就界面卡死了呢?
而且刚刚运行的时候不是很卡,时间久了就卡了,是啥东西比如句柄用完了没释放导致的吗?
关于使用率高:
可以自己检查下(下面以腾讯电脑管家举例说明)
1、建议你重启一下系统看看还占用那么高不。
2、程序出错,应该是在完成退出任务时,有一项命令一直无法完成,所以就一直重复,导致cpu超高
3、开机启动项过多也会导致cpu使用率高,除杀毒软件、输入法外一般的程序都可以禁止开机启动,而且还存在不必要的服务和计划任务(打开电脑管家——电脑加速——优化启动项目)
4、你正在使用cpu使用率高的软件。这样的情况最好的方法是用其他同类cpu使用率低的软件替代该软件
5、你的电脑安装过多测试版驱动,尤其是显卡驱动,最好是选择微软认证的或者是官方发布的驱动来装。
6、安全软件运行照成(或多个安全软件,抢资源各种),推荐你可以试试腾讯电脑管家了,免费专业安全软件,杀毒管理二合一,占内存小,杀毒好,防护好,无误报误杀。也可以升级电脑管家到最新版试试。新版特别强化了资源占用,资源占用极低
7、有病毒木马,占用资源,杀毒吧。打开腾讯电脑管家——病毒查杀
调试方法如下:
1、排除驱动程序问题:找到串口芯片的驱动程序,在其中加入往寄存器写数据的函数,加入printk打印接收数据。若正常,则排除驱动程序;
2、排除芯片问题:将串口的RX和TX短接,运行minicom发数据,用示波器抓波形分析是否有数据传输。若正常,则排除芯片问题。
3、排除cat/echo的问题:若串口是同步模式打开,且数据未发送完则导致死等。此可能非常低。
最好研究下系统架构再分析。
以上就是关于咱写了个MFC读写串口的程序,但是越来越卡,可能是啥原因全部的内容,包括:咱写了个MFC读写串口的程序,但是越来越卡,可能是啥原因、电脑开多个串口 CPU占用率高,电脑卡。、linux中注册了串口设备ttyE0,但是对其cat和echo指令都卡住,无任何反应,求分析~~~等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)