使用cubeMX生成的FreeRTOS工程,由于程序中要使用PID算法,所以要精准控制云台、底盘任务的运行周期,从网上看到的教程说使用osDelayUntil()这个函数,于是我用了。 然后!! 我的工程一共有6个任务,其中云台底盘的优先级是最高的,就是cubemx里选的最高的,并且用osDelayUntil()这个函数控制任务周期,用了之后发现只有这两个任务在跑,其他的都死了,后续测试中发现 如果我都用这个函数,只有优先级最高的两个任务(而且他俩必须同优先级,也就是说优先级最高的)才能运行,现在云台很不稳定,就是PID周期控制的不严格,希望大佬们帮帮,大佬们要是需要我的代码 就私聊我,代码没办法公开。。谢谢谢谢 |
可以先运行2个任务,一个高优先级任务,一个低优先级任务,延迟时间等参数是否合理等等。