从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章主要介绍Component中kprintf怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
成都创新互联基于分布式IDC数据中心构建的平台为众多户提供遂宁联通机房 四川大带宽租用 成都机柜租用 成都服务器租用。
调试程序时,最常用的一个手段是打印一些调试语句,而最常用的打印函数应该就是printf()了。printf()的作用是向标准输出设备输出格式化的调试语句。这个标准输出设备默认是PC Console或串口
也可以修改,例如改为文件或管道
logMsg()在ISR中执行时,通过底层的msgQSend(logMsgQId, msg, sizeof(msg), NO_WAIT,MSG_PRI_NORMAL)将调试语句发送给优先级为0的任务tLogTask
不过要想使用logMsg(),需要在usrRoot()调用logInit()之后;使用printf(),需要在usrRoot()调用usrSerialInit()或usrPcConsoleInit()之后。
这个组件只是给开发人员提供了两个函数kputs()和kprintf()。这两个函数的声明分别类似于ANSI定义的puts和printf(),其作用也差不多,它俩就是打印语句,用来调试的。
可以看到,在usrInit()阶段的sysHwInit()之后、usrCacheEnable()之前,就可以使用kprintf()了,这可比printf()/logMsg()的可用时机提前了很多。
另外,logMsg()在调用msgQSend()时用的NO_WAIT方式,因此有可能会丢弃部分消息
来看一个输出到RAM保留区的例子
最后,对比一下它们仨
printf()
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图