一、MSP430中断可以打断任何正在进行的程序,这样就会导致一个十分隐蔽的函数重入。
二、函数访问了独一无二 的公共资源就会导致出现函数非可重入性。
三、避免函数重入的隐患,可以用以下办法:
1.写可重入性的函数。
2.进入不可重入性函数时,关中断,函数末尾开中断。
3.采用双缓冲区的结构,只在中断里复制后台A数据到前台B数据,复制时关中断,复制完开中断。
4.采用信号量(标志位)。在函数调用前将某个标志置1.当别的函数要调用时检查改标志。如果为1.则跳过该函数。
一、MSP430中断可以打断任何正在进行的程序,这样就会导致一个十分隐蔽的函数重入。
二、函数访问了独一无二 的公共资源就会导致出现函数非可重入性。
三、避免函数重入的隐患,可以用以下办法:
1.写可重入性的函数。
2.进入不可重入性函数时,关中断,函数末尾开中断。
3.采用双缓冲区的结构,只在中断里复制后台A数据到前台B数据,复制时关中断,复制完开中断。
4.采用信号量(标志位)。在函数调用前将某个标志置1.当别的函数要调用时检查改标志。如果为1.则跳过该函数。