中断快进快出
不要使用如下函数
标准I/O函数
scanf,fopen, fclose,fread, fwrite等。
动态内存分配函数
malloc,``free,calloc,realloc 。
可能会阻塞,因为涉及到内存管理,可能会引起内存碎片或长时间的等待。
系统调用
sleep,usleep,nanosleep,pause
会导致进程进入睡眠状态,这在ISR中是不允许的。
信号相关函数
signal,sigaction等。
线程相关函数
pthread_create,pthread_join,pthread_mutex_lock,``pthread_mutex_unlock等。
数据库