怎么提高cpu使用率

时间:2024-11-02 12:42:08

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在主程序中的利用率上去了,但串口数据发送速率(连续发送多个字节的速度下降了)变慢了。所以实际要根据应用确定采用何种程序实现方式

© 2025 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com