TI中文支持网
TI专业的中文技术问题搜集分享网站

关于System_printf在定时器中断服务程序中调用时会出现异常

查看bios用户手册时,编写基于bios的Timer定时器程序发现了在tickFxn函数中调用System_printf函数时发生了

ti.sysbios.gates.GateMutex: line 97: assertion failure: A_badContext: bad calling context. See GateMutex API doc for details.
xdc.runtime.Error.raise: terminating execution

而将System_printf("Current period = %d\n",Timer_getPeriod(mytimer));这句放入到Task中是可以运行的;

有个问题是通过调用Timer_getPeriod函数来获取定时器的周期,是需要等到定时器的时间到了触发才能准确的获取其周期,但是在定时器中断服务程序tickFxn函数中不能调用这个函数,请问如何获取定时器周期并打印出来,还有就是在定时器中断服务程序是不是真的不能调用System_printf函数,如果不能调用的话,那是否可以通过相应的措施弥补这一缺憾呢。

谢谢

Thomas Yang1:

你可以直接调用TSCL/TSCH函数来获取准确的core cycle统计

Gangping Li:

回复 Thomas Yang1:

你好,请问一下在定时器中断函数是不是确定不能使用类似于打印的函数(System_printf,printf等等)

赞(0)
未经允许不得转载:TI中文支持网 » 关于System_printf在定时器中断服务程序中调用时会出现异常
分享到: 更多 (0)