Pretty much as the title describes, OSA_TimeDelay doesn't appear to work in the i2c rtos demo. It doesn't hang like someone else had noticed in one of the k64 tower demos, instead it returns immediately. When I run the i2c comm demo instead, OSA_TimeDelay works fine.
Can anyone give me some guidance as to where I should look?
This is using KSDK 1.1.0 with KDS2.0
已解决! 转到解答。
Iva,
I just reinstalled KSDK because I had inadvertently modified some of the demo src files prior to making a copy of the originals. With a fresh reinstall it seems to be working fine.
If I happen to run into the problem again, I will make note of what change triggers it. That said the debugger error messages should give a clue about what is not right, if they don't,
then what's the point in displaying them?
Thanks,
Larry
Hi Larry,
I test both demos and they work without some problems.
I have focused on i2c_rtos_mqx_frdmk64f and make some modifications with OSA_TimeDelay() and made screenshot for you.
When I set OSA_TimeDelay(200) in task_master(task_param_t param)
I got the correct output
When I set OSA_TimeDelay(300) I also get correct output
Best Regards,
Iva
Iva,
I just reinstalled KSDK because I had inadvertently modified some of the demo src files prior to making a copy of the originals. With a fresh reinstall it seems to be working fine.
If I happen to run into the problem again, I will make note of what change triggers it. That said the debugger error messages should give a clue about what is not right, if they don't,
then what's the point in displaying them?
Thanks,
Larry
Iva,
I've narrowed it down some, though I don't really know what to make of it. There appears to be something wrong with the td_ptr. I've stepped through the _mqx function and the debugger display errors associated with the TIMEOUT structure within td_ptr. I've attached a screenshot.
When _time_delay gets called, the TIMEOUT displays the same errors so it is hard to know what is happening.