/***************************************************************************** * uart.h: Header file for NXP LPC17xx Family Microprocessors * * Copyright (c) 2023 CCSENS * All rights reserved. * * History * 2009.05.27 ver 1.00 Prelimnary version, first Release * ******************************************************************************/ #ifndef _c_lib_H_ #define _c_lib_H_ #include #include #include "c_type51.h" // #include "c_delay.h" #include "c_crc.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 U8 Lc_strStartsWith(U8 *s1,U8 *s2); //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 10 void Lc_sint2str_2_1(int i_in,char *d); void Lc_int2str_2(U32 ui_in,char *d); void Lc_uc2str_2(U8 ui_in,char *d); extern void Lc_int2str_2_2(U32 ui_in,char *d); extern void Lc_int2str_3(U32 ui_in,char *d); extern void Lc_int2str_3(U32 ui_in,char *d); 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 int Lc_strlen(const char *str); extern void Lc_despiking_shift3_U16(vU16 *m); extern int libc_strlen(char *str); extern char *Lc_int2a(vS32 value, char *string, UN_TYPE radix); extern void Lc_int2D(vS16 value, char *string,char bits); extern int hexToDec(const char *source); extern int getIndexOfSigns(char ch); extern unsigned char hex_to_char(unsigned char hex); 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 U8* Lc_strcpy(U8* dst,const char* str); //////////////// 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 u8 Lc_ocr8(const u8 *d,u8 len); 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); extern void Lc_buf_copy_us(U16 *d,const U16 *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 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 void Lc_encrypt_id1(U8 *enc_dst, U8 *enc_src, U8 enc_key[], U8 src_len); extern int Lc_strlen(char *str); extern U32 Lc_vU32_avg(U32 *d, U8 n); extern U32 Lc_vS32_media(U32 *d, U8 n); extern int Lc_memset(U8 *buf,U8 c,U16 len); extern void Lc_for_int8(U8 i); extern void Lc_for_int16(U16 i); #endif /* end _c_lib_H_ */ /***************************************************************************** ** End Of File ******************************************************************************/