以下这个函数,我想大家都不会莫生!! memcpy,以前经常没有出现过什么问题。 今天在PIC用了,有一些问题!!!不知道是为什么??? 请大家指点一下!!!
以下是我的程序: #define RcvSize 4 uint8 rbuf[RcvSize] = {0}; uint8 RevCount = 0; uint8 RcvDataLen = 0; //发送变量定义 #define TraSize 16 uint8 tbuf[TraSize]= {0};
void RevOpe(void) { INTCONbits.GIE = false; memcpy(tbuf, rbuf, 4); memset(rbuf, 0x00, 4); RCSTAbits.CREN = true; INTCONbits.GIE = true; SendNumChar(tbuf, 4); }
但是这样会出现以下警告; F: est_cardSci.c:131:Warning [2054] suspicious pointer conversion
以下是PIC18关于这个函数的说明: memcpy memcpypgm memcpypgm2ram memcpyram2pgm 通用软件函数库 说明: 该函数将buf1 中前memsize 个字节与buf2 中前memsize 个字节进 行比较,然后返回一个值,表明其中一个缓冲区是小于、等于还是大于 功能: 将源缓冲区的内容复制到目标缓冲区。 头文件: string.h 函数原型: void * memcpy( void * dest, const void * src, size_t memsize ); rom void * memcpypgm( rom void * dest, const rom void * src, sizerom_t memsize ); void * memcpypgm2ram( void * dest, const rom void * src, sizeram_t memsize ); rom void * memcpyram2pgm( rom void * dest, const void * src, sizeram_t memsize ); 参数: dest 指向目标数组的指针。 src 指向源数组的指针。 memsize 从src 数组复制到dest 数组的字节数。 说明: 该函数将src 中前memsize 个字节复制到数组dest。如果src 与 dest 地址有重叠,则无法执行此操作(未定义)。 |