这个 PI_THREAD(X) 被定义为 void*X(void * dummy),它是一个有自己名字的函数。返回 void* 和 void* 作为参数。我看不出它与线程有什么关系。
这个宏的用法,
/*
* softPwmThread:
* Thread to do the actual PWM output
*********************************************************************************
*/
static PI_THREAD (softPwmThread)
{
int pin, mark, space ;
pin = newPin ;
newPin = -1 ;
piHiPri (50) ;
for (;;)
{
mark = marks [pin] ;
space = range [pin] - mark ;
if (mark != 0)
digitalWrite (pin, HIGH) ;
delayMicroseconds (mark * 100) ;
if (space != 0)
digitalWrite (pin, LOW) ;
delayMicroseconds (space * 100) ;
}
return NULL ;
}
在 Linux 中,线程与 pthread 对象相关,对吧?这个 void*X(void* dummy) 与线程有什么关系?