完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用cube生成了个freertos的工程,默认任务是通过这个函数创建的: MX_FREERTOS_Init(); 这个函数里,有两句: osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128); defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); 第一句中的osThreadDef是个宏定义: #define osThreadDef(name, thread, priority, instances, stacksz) const osThreadDef_t os_thread_def_##name = { #name, (thread), (priority), (instances), (stacksz) } 其中的 ##name,这是什么用法? os ThreadDef_t是个结构体: typedef struct os_thread_def { char *name; ///< Thread name os_pthread pthread; ///< start address of thread function osPriority tpriority; ///< initial thread priority uint32_t instances; ///< maximum number of instances of that thread function uint32_t stacksize; ///< stack size requirements in bytes; 0 is default stack size } osThreadDef_t; ------------------------------------------------------------ 以下图片是QQ群里一位朋友分享的。 |
|
相关推荐
11个回答
|
|
|
|
|
|
签到签到签到签到
|
|
|
|
##用来连接前后两个参数,把它们变成一个字符串。
举例说: #define Com(x,y) x##y int n = Com(123,456); 结果就是n=123456; char* str = Com("asdf", "adf")结果就是 str = "asdfadf"; 你给出的宏 #是预编译的象征有了这个编译器就知道他是在预编译前需要做的事 如包含文件 #include< > #define N 100//在编译前将N全部替换为100 |
|
|
|
进来学习一下!!
|
|
|
|
学习学习
|
|
|
|
字符串连接吧
|
|
|
|
|
|
|
|
看书去先
|
|
|
|
|
|
|
|
好多人都是不看书就编程的,能看懂吗
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
991 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
970 浏览 2 评论
2080 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1177 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 05:14 , Processed in 0.756148 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号