以前的项目用的acc5和华大最早的ddl库, 就这么用了4年了感觉还是要更新一下了,keil都要慢慢放弃Acc5了嘛。 然后转成ACC6环境后还能更方便导入到vs或者CL里面。
刚开始觉得就是改几个兼容相关的代码就行了,结果发现错误一大堆,直接编译不过, 老老实实全部一点点重写, 总算爬出坑了。
说一个大坑,freertos的节拍器接口要这么写:
void app_freertos_tick_if()
{
uint32_t ulReturn;
if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) /* ---任务调度已开启--- */
{
ulReturn = taskENTER_CRITICAL_FROM_ISR();
xPortSysTickHandler();
taskEXIT_CRITICAL_FROM_ISR(ulReturn);
}
}
然后这个放入主程序的1ms中断里面。
|