pub_func.c

来自「小区巡检系统,MSPF437,里面主要参考的内容为TI单片机的低功耗处理,仅供参」· C语言 代码 · 共 109 行

C
109
字号
#include "pub_func.h"

void _delay(unsigned short t)
{
    while(t--);
}

/* clear watch-dog
*/
//void _clr_wdt(void)
//{
//}

/* judge data
*/
unsigned char is_data(unsigned char *buff,unsigned char data,unsigned char len)
{
    unsigned char ii;

    for(ii=0;ii<len;ii++)
    {
        if(buff[ii]!=data)
        return ERROR;
    }
    return OK;
}

/* judge data
*/
unsigned char is_equal(unsigned char *buff1,unsigned char *buff2,unsigned char len)
{
    unsigned char ii;

    for(ii=0;ii<len;ii++)
    {
        if(buff1[ii]!=buff2[ii])
        return ERROR;
    }
    return OK;
}

/* check sum
*/
unsigned char  sys_do_checksum(unsigned char *ptr, unsigned char len)
{
    unsigned char sum = 0,ii;
    
    //length
    for(ii=0;ii<len;ii++)
    {
        sum += *(ptr ++);
    }
    
    return sum;
}

/* fine item
*/
unsigned char find_item(const unsigned char *item_table,unsigned char item)
{
    unsigned char i=0;

    while(*(item_table+i)!=ERROR)
    {
        if(*(item_table+i)==item)
        {
            return i;
        }
        i++;
    }
    return ERROR;
}

unsigned long Hex2BcdLong(unsigned long hex)
{
    unsigned long temp;
    unsigned long ret;
    unsigned char ii;

    ret=0;
    for(ii=0;ii<8;ii++)
    {
        ret>>=4;
        temp=hex%10;
        temp<<=28;
        ret|=temp;
        hex=hex/10;
    }
    return(ret);
}

unsigned long Bcd2HexLong(unsigned long bcd)
{
    unsigned long temp;
    unsigned long ret;
    unsigned char ii;

    ret=0;
    for(ii=0;ii<8;ii++)
    {
        temp=bcd&0xF0000000;
        temp>>=28;
        ret=ret*10+temp;
        bcd<<=4;
    }
    return(ret);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?