[讨论] System_printf函数打印时间问题

wangyu   2016-3-28 08:35 楼主
专家好,我在6678多核程序中,如果不加打印时间,程序运行一个循环需要3.8ms,加一个printf打印语句,程序运行一个循环差不多50ms,

于是我将printf换成System_printf函数,程序运行一个循环需要30ms,不是说BIOS中sysem_printf函数打印很省时间吗,怎么我的还是那么长时间

单独测试system_printf和system_flush两个函数指令周期为5200,如果核时钟1G,才5.2us,相差为啥这么大,求分析

注:以上时间都是示波器测定的

回复评论 (1)

虽然我不懂什么dsp,但是可以大概猜测system_flush是刷新缓冲区的意思,如果缓冲区没有数据,那么可能不需要等待时间,直接返回,所以不会有什么延时。
但是如果缓冲区有数据,可能要等待数据发送完毕之后函数才能返回。

因此,你可以测试一下,你的这些测试结果,是否跟发送的数据长度有成正比。如果是,那就证明我的猜测是对的。串口发送的数据的速度,你懂的。
点赞  2016-3-28 09:47
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复