搜索
bottom↓
回复: 10

ucos-ii 2.85的宏定义为什么多了‘u’字?

[复制链接]

出0入0汤圆

发表于 2009-9-17 14:56:11 | 显示全部楼层 |阅读模式
奇怪了,为什么这个版本的宏定义都多了一个‘u’字
哪有关于这方面的说明啊?大家说说。。。

2.51版本的定义是这样的:
#define  OS_VERSION              251                    /* Version of uC/OS-II (Vx.yy mult. by 100)    */


而2.85版本的定义又是这样的:

#define  OS_VERSION                 285u                /* Version of uC/OS-II (Vx.yy mult. by 100)    */



*********************************************************************************************************
*                              TASK STATUS (Bit definition for OSTCBStat)
*********************************************************************************************************
*/
#define  OS_STAT_RDY               0x00u    /* Ready to run                                            */
#define  OS_STAT_SEM               0x01u    /* Pending on semaphore                                    */
#define  OS_STAT_MBOX              0x02u    /* Pending on mailbox                                      */
#define  OS_STAT_Q                 0x04u    /* Pending on queue                                        */
#define  OS_STAT_SUSPEND           0x08u    /* Task is suspended                                       */
#define  OS_STAT_MUTEX             0x10u    /* Pending on mutual exclusion semaphore                   */
#define  OS_STAT_FLAG              0x20u    /* Pending on event flag group                             */

#define  OS_STAT_PEND_ANY         (OS_STAT_SEM | OS_STAT_MBOX | OS_STAT_Q | OS_STAT_MUTEX | OS_STAT_FLAG)

/*
*********************************************************************************************************
*                           TASK PEND STATUS (Status codes for OSTCBStatPend)
*********************************************************************************************************
*/
#define  OS_STAT_PEND_OK              0u    /* Pending status OK, not pending, or pending complete     */
#define  OS_STAT_PEND_TO              1u    /* Pending timed out                                       */
#define  OS_STAT_PEND_ABORT           2u    /* Pending aborted                                         */

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2009-9-17 16:39:35 | 显示全部楼层
u嘛, 说明是指定类型, 可以表示的范围更大
#define  OS_VERSION              251         这个251是没有指定类型..

出0入0汤圆

发表于 2009-9-17 16:46:53 | 显示全部楼层
#define  OS_VERSION              251         
//这里251是int型

#define  OS_VERSION              251u   
//这里251u是unsigned int型


【1楼】 yajira  
这个251是没有指定类型..
---------------------------------------
只是没有显式指定类型。
字面值整型常量的类型,C语言标准有明确规定。

出0入0汤圆

 楼主| 发表于 2009-9-17 16:58:03 | 显示全部楼层
哦,想起来了,一直都是直接写数字,看来我的代码得规范起来啊,呵呵,谢谢

出0入0汤圆

发表于 2009-9-17 17:01:11 | 显示全部楼层
哈哈, 果然厉害..羞愧了....

出0入0汤圆

 楼主| 发表于 2009-9-17 17:01:58 | 显示全部楼层
查过,C标准如果写成:#define  OS_VERSION      251   
中的数字251在缺省情况下整型文字常量被当作是一个int 型的有符号值

出0入0汤圆

发表于 2012-7-16 16:05:22 | 显示全部楼层
heh ,学习了,看来的规范啊

出0入0汤圆

发表于 2012-7-19 08:18:54 | 显示全部楼层
本来也在纳闷这意思,受教了

出0入0汤圆

发表于 2013-1-8 09:40:26 | 显示全部楼层
markmark ucos定义数字后面的u 呵呵

出0入0汤圆

发表于 2013-1-8 10:12:48 | 显示全部楼层
如何定义简短的常量呢?
比如0~255的无符常量

出0入0汤圆

发表于 2013-1-15 11:06:08 | 显示全部楼层
哈哈,每次来OurAVR论坛都能很快轻松找到答案!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 21:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表