次のようなメイン関数があります。
int main(){
....
Protocol SPI_conn;
SPI_conn.omap_SPI_init();
....
pthread_create(&rt_OneStep0_thread, NULL, rt_OneStep0, NULL);
....
}
ここで、SPI_conn はクラス Protocol のオブジェクトであり、omap_SPI_init() は同じクラスのメソッドです。私のスレッド関数は次のようになります。
extern "C" void * rt_OneStep0(void *)
{
while (1) {
sem_wait(&step0_semaphore);
SPI_do();
sem_wait(&step0_semaphore);
}
}
SPI_do() もプロトコル クラスの関数です。私の質問は、オブジェクト SPI_conn をメソッド SPI_do で使用するにはどうすればよいかということです。通常は参照でいいのですが、ここでは rt_OneStep0(void*) をこのように定義する必要がありますよね?
あなたの助けに本当に感謝します!