/***************************************************************************** * uart.h: Header file for NXP LPC17xx Family Microprocessors * * Copyright(C) 2009, NXP Semiconductor * All rights reserved. * * History * 2009.05.27 ver 1.00 Prelimnary version, first Release * ******************************************************************************/ #ifndef _CLIB_H_ #define _CLIB_H_ #include #include #include "../clib/type.h" //#include "../clib/Clib.h" //#include "../debug/debug_drv.h" //extern char guc_send[128]; extern unsigned char code cguHex2Char[16][2]; typedef struct { vU16 up_point; vU16 down_point; }TS_up_down_p_; extern U8 Lc_Hex2Char(U8 CharStr); //extern void Lc_int2str(U32 ui_in,UN_TYPE len,UN_TYPE point,char *d); // input: 123456d // output: '1' '2' '3'.... //对应的点阵 为 0123456789. ,最后为空格,专为显示点阵类的数值使用 //extern void Lc_int2number(U32 ui_in,UN_TYPE len,UN_TYPE point,char *d); //extern U32 L2_fun_number_show(int i,char str[4]); #if 0 struct _s_temp_ { U8 d[16]; }; extern struct _s_temp_ s_temp22; extern U8 s_temp[16]; extern U32 ul2fun2[10]; extern void Lc_Byte_cp(BYTE *src,BYTE *dis, int len); extern void L1_buf22ui(volatile BYTE in[],vU32 *ui_t2,vU32 *ui_t3); extern void Lc_2ui2buf(vU32 ui_t2,vU32 ui_t3,volatile BYTE out[]); extern void Lc_int2str_3(U32 ui_in,char *d); extern U32 Lc_abs(vU32 a,vU32 b,vU32 *diff); extern void Lc_int2str_4(U32 ui_in,char *d); extern void Lc_sint2str_3(int i_in,char *d); #define Lc_WEI(WEIx,WEIn) (U8)((WEIx/ul2fun2[WEIn])%10); #define Lc_eee(WEIn) ul2fun2[WEIn] #endif extern char *Lc_int2a(vS32 value, char *string, UN_TYPE radix); extern void Lc_int2D(vS16 value, char *string,char bits); extern char *strstr(const char *str1, const char *str2); extern unsigned char catch_protocol (const char d_src[],char d_protocol[]) ; #define Lc_delay_1us() L0_delay_1us() extern void Lc_delay_us(vU16 i); extern void Lc_delay_ms(vU16 i); extern void Lc_delay_nop(U8 i); //////////////// extern void Lc_uc_hex(char ww); extern void Lc_us_hex(U16 ww); //extern void Lc_print(void (*L0pf_send_uc)(char ww), char *dat,...); extern void Lc_print(char *dat4,...); extern void Lc_print_NC(char *dat,...); extern void Lc_print_buf(char *dat4,...); extern void L3_us_big(U16 *d); extern void L3_ui_big(vU32 *d); extern void Lc_buf_copy_uc(U8 *d,const U8 *s,U16 num); ///void L2_line_algo_media(U8 *buf,vU16 len); extern vU8 Lc_U8_media3(vU8 a,vU8 b,vU8 c); extern vS32 Lc_S32_media3(vS32 a,vS32 b,vS32 c); extern vS32 Lc_S32_media(vS32 val[],S16 num); extern void Lc_array_sort(S32 arr[],int n); /// 0x11 0x22 ---> 0x31 0x31 0x32 0x32 '1' '1' '2' '2' extern void Lc_hex2ascii(U8 *buf,U16 len,U8 *ascii); extern void crc16(unsigned char *CRC,void *dat,unsigned int len) /*reentrant*/; //extern void crc16_irq(unsigned char *CRC,void *dat,unsigned int len); extern void crc16qq(unsigned char *CRC,void *dat,unsigned int len) /*reentrant*/; extern int isBigEndianOrder(void); extern U32 ntohl(U32 dat); extern U32 htonl(U32 dat); extern U16 ntohs(U16 dat); extern U16 htons(U16 dat); extern U32 Lc_abs(vS32 a,vS32 b); extern void Lc_encrypt_id(U8 *enc_dst, U8 *enc_src, U32 enc_key, U8 src_len); extern int libc_strlen(char *str); extern S32 Lc_vS32_avg(vS32 *d, U8 n); extern vS32 Lc_vS32_media(vS32 *d, U8 n); extern void Lc_U16_shift_media3(vU16 *m); extern void Lc_despiking_shift3_U16(vU16 *m); #endif /* end __UART_H */ /***************************************************************************** ** End Of File ******************************************************************************/