完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
#ifndef Software_H
#define Software_H #include #include /* 兼容一般程序员的常用写法 */ typedef unsigned char uchar; typedef unsigned int uint; typedef unsigned long ulong; typedef signed char schar; typedef signed int sint; typedef signed long slong; /* 为方便移植,建议使用下面写法 */ typedef unsigned char bool; typedef unsigned char uint8; typedef unsigned int uint16; typedef unsigned long uint32; typedef signed char sint8; typedef signed int sint16; typedef signed long sint32; typedef signed char int8; typedef signed int int16; typedef signed long int32; /* 下面写法一般不推荐 */ //typedef unsigned char ubyte; //typedef unsigned int uword; //typedef unsigned long udword; //typedef signed char ***yte; //typedef signed int sword; //typedef signed long sdword; /* 一般程序定义的默认值 */ //#define NULL 0 //#define EOF -1 //#define TRUE 1 //#define FALSE 0 //#define YES 1 //#define NO 0 //#define ON 1 //#define OFF 0 //#define ENABLE 1 //#define DISABLE 0 //#define CRR 1 //#define ERR 0 //#define RIGHT 1 //#define WRONG 0 //#define SUCCESS 1 //#define FAILURE 0 //#define PI 3.1415926 //3.1415926535897932 /* 如果你手头上的RAM实在很紧,不如尝试下面的define~ */ //#define _CALLOC(a) ( (a *)calloc(n,sizeof(a)) ) //#define _MALLOC(a) ( (a *)malloc(sizeof(a)) ) //#define _MIN(a,b) ( (a) 《 (b) ? (a) : (b) ) //#define _MAX(a,b) ( (a) 》 (b) ? (a) : (b) ) //#define _EXCHANGE(a,b) { int t; t=a; a=b; b=t; } //#define _TOLOWER(c) ( (c)+32 ) //#define _TOUPPER(c) ( (c)-32 ) //#ifndef BIT //#define BIT(x) ( 1《《(x) ) //#endif /*-------------------------------------------------------------------- 程序全称:数据拆字程序 程序功能: 注意事项:D《=999999,C《=6 提示说明:调用speaData(12,2),得到dataElem[0]=2,dataElem[1]=1 输 入: 返 回:无 --------------------------------------------------------------------*/ uint8 dataElem[6]; void speaData(uint32 dat,sint8 len) { uint8 i; uint32 j,y; for(i=0,j=1;i { y=dat/j; dataElem=y%10; j*=10; } } /*-------------------------------------------------------------------- 程序全称:十进制强制转换为十六进制 程序功能: 注意事项: 提示说明:调用changeIntToHex(33),return 0x33 输 入: 返 回: --------------------------------------------------------------------*/ #define changeIntToHex(dec) ( ( ((dec)/10) 《《4 ) + ((dec)%10) ) /*-------------------------------------------------------------------- 程序全称:十进制化为十六进制,并以十进制格式返回 程序功能: 注意事项:传参必须为 unsigned 类型,否则移位结果可能吓你一跳 提示说明:调用converseIntToHex(33),return 21 输 入: 返 回: --------------------------------------------------------------------*/ #define converseIntToHex(dec) ( ( ((dec)》》4) *10 ) + ((dec)%16) ) /*-------------------------------------------------------------------- 程序全称:十六进制强制转换为十进制 程序功能: 注意事项:传参必须为 unsigned 类型,否则移位结果可能吓你一跳 提示说明:调用changeHexToInt(0x33),return 33 输 入: 返 回: --------------------------------------------------------------------*/ #define changeHexToInt(hex) ( ( ((hex)》》4) *10 ) + ((hex)%16) ) /*-------------------------------------------------------------------- 程序全称:十六进制化为十进制,并以十六进制格式返回 程序功能: 注意事项: 提示说明:调用converseHexToInt(0x33),return 0x51 输 入: 返 回: --------------------------------------------------------------------*/ #define converseHexToInt(hex) ( ( ((hex)/10) 《《4 ) + ((hex)%10) ) #endif |
|
|
|
只有小组成员才能发言,加入小组>>
856 浏览 0 评论
1185 浏览 1 评论
2560 浏览 5 评论
2893 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2751 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1181浏览 3评论
213浏览 2评论
481浏览 2评论
397浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
478浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-14 13:10 , Processed in 1.045007 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号