在使用freertos的过程中,由于没有注意到中断中使用系统函数的问题导致单片机死机。
注意点: 1:首先要将中断的嵌套设置为抢占优先级。
2:将freertos系统内核中断(configKERNEL_INTERRUPT_PRIORITY)的优先级设置成最低。
3:将freertos的最大系统调用中断优先级(configMAX_SYSCALL_INTERRUPT_PRIORITY)设置为合适的优先级,比如11。
4:如果有用户中断函数调用到freertos提供的系统函数,一定要使用带FromISR的freertos提供的系统函数,并且这个用户中断的优先级一定要在
configKERNEL_INTERRUPT_PRIORITY和
configMAX_SYSCALL_INTERRUPT_PRIORITY的优先级之间。
5:其他没有调用到freertos提供的系统函数的中断的优先级没有特别要求。