📄 software.h
字号:
/*********************************************************************
网上收集: 免费共享:慧净电子
目 的: 建立xxxx操作库
目标系统: 基于任何兼容C51的微处理器
应用软件: Keil C
版 本: Version 2.0
收集时间: 2008-08-08
开发人员: 慧净网上收集整理(感谢能放在网上共享的朋友们,功德无量,有你们,中国会更强大)
说 明: 版权:慧净助学产品(包括程序源码,硬件资源)没有版权,欢迎复制共享,功德无量,为中国自动化与单片事业作一点功劳。部分源码技术资料、软件、来源网络,如有伤害到你的利益请来邮:hjmcu@163.com 我们的助学会员会定期删除,谢谢你的理解与支持。
助学小店:http://shop37031453.taobao.com/
慧净空间:http://hi.baidu.com/hjmcu
助学QQ: 121350852
*********************************************************************/
/*01010101010101010101010101010101010101010101010101010101010101010101
----------------------------------------------------------------------
版本更新记录:
----------------------------------------------------------------------
入口参数说明:
----------------------------------------------------------------------
待定参数说明:
----------------------------------------------------------------------
对外变量说明:
----------------------------------------------------------------------
对外函数说明:
----------------------------------------------------------------------
10101010101010101010101010101010101010101010101010101010101010101010*/
#ifndef Software_H
#define Software_H
#include <math.h>
#include <string.h>
/* 兼容一般程序员的常用写法 */
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 bit 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;
/* 一般程序定义的默认值 */
//#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 )
/*--------------------------------------------------------------------
函数全称:数据拆字
函数功能:自己看~
注意事项: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<len;i++)
{
y=dat/j;
dataElem[i]=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 51
输 入:
返 回:
--------------------------------------------------------------------*/
#define converseHexToInt(hex) ( ( ((hex)/10) <<4 ) + ((hex)%10) )
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -