我想用以下函数启动一个线程:
void walkThread(void const *argument)
{
Gait* gait = const_cast<Gait*>(static_cast<const Gait*>(argument));
gait->print();
for(;;)
{
osDelay(1000);
}
}
void Gait::print()
{
printf("%i\r\n", m_stopped);
}
演员似乎给了我一个不好的步态地址。打印功能应打印“0”(m_stopped已初始化),但它会打印一个随机数。
我通过将“this”作为参数来启动这样的线程。
osThreadDef(WalkThread, walkThread, osPriorityNormal, 0, configMINIMAL_STACK_SIZE+500);
osThreadCreate(osThread(WalkThread), this);
这里有什么不对吗?我应该去别的地方看看吗?