专家好,我在6678多核程序中,如果不加打印时间,程序运行一个循环需要3.8ms,加一个printf打印语句,程序运行一个循环差不多50ms,
于是我将printf换成System_printf函数,程序运行一个循环需要30ms,不是说BIOS中sysem_printf函数打印很省时间吗,怎么我的还是那么长时间
单独测试system_printf和system_flush两个函数指令周期为5200,如果核时钟1G,才5.2us,相差为啥这么大,求分析
注:以上时间都是示波器测定的
虽然我不懂什么dsp,但是可以大概猜测system_flush是刷新缓冲区的意思,如果缓冲区没有数据,那么可能不需要等待时间,直接返回,所以不会有什么延时。
但是如果缓冲区有数据,可能要等待数据发送完毕之后函数才能返回。
因此,你可以测试一下,你的这些测试结果,是否跟发送的数据长度有成正比。如果是,那就证明我的猜测是对的。串口发送的数据的速度,你懂的。