怎么提高cpu使用率
操作方法
- 01
CPU使用率不能手动提高,因为CPU是由操作系统来调度的。你想提高CPU使用率是不可能的。因为CPU使用率不是程序控制的,操作系统会根据你程序的需求分配CPU的使用率,需要的多,就分配的多,需要的少,就分配的少。如果你的CPU占用率没到90%,那就说明游戏根本不需要那么多的CPU。 在串口发送数据时,如何提高CPU利用率 经典的51单片机串口数据发送函数是: void uart_putc(unsigned char c) { SBUF = c; while(!TI); TI = 0; } 很显然,每发送一个字节,CPU在while(!TI)语句会浪费很多时间,特别是数据密集发送更是超级浪费。因为51单片机没有“正在发送”状态指示标志,所以只能检测是否发送完成标志来取定下一步工作。 通过比较,在22.1184M时钟晶振下12T指令模式,115200bps时while(!TI)语句耗时相当于 unsigned char j; for(j=73;j>0;j--); 循环延时量。这相当于CPU运行上百条指令。 通过设定标志位,配合中断,可以把这段时间节约出来。 unsigned char tx_success = 0; void uart_putc(unsigned char c) { while(tx_success);//如果前一次发送正在进行,则需要等待 SBUF = c; tx_success=1;//标志发送正在进行 } //串口接收中断 void serial_int(void) interrupt 4 { if (RI) { RI = 0; } else tx_success=0;//发送结束中断,清楚发送标志位 } 这样虽然CPU在主程序中的利用率上去了,但串口数据发送速率(连续发送多个字节的速度下降了)变慢了。所以实际要根据应用确定采用何种程序实现方式