一些背景知识:我正在阅读 Micrium 的 uC/OS-III 用户手册,并按照该指南使用 IAR Embedded Workbench IDE 使用 C 语言进行编程。
该代码来自为 uC-Eval-STM32F107 开发板编写的书中提供的一些示例。它正在创建一个新线程,并通过 void 指针传递参数。我熟悉 void 指针并将参数传递给线程。
调用内核函数来创建一个新线程:
OSTaskCreate( ... );
然后在函数定义中,他们做了一些我不知道如何描述的事情:
static void AppTaskStart (void *p_arg)
{
CPU_INT32U cpu_clk_freq;
CPU_INT32U cnts;
OS_ERR err;
CPU_TS ts;
p_arg = p_arg;
...
}
或者我还在其他示例中看到代码如下所示:
(void *)p_arg;
他们在做什么,为什么?