MCU与模块串口通讯,然后MCU去解析串口数据。
我把串口数据存放在指针fd中,
uint8_t* fd;
*fd++= UARTCharGet(UART0_BASE);//获取串口数据
windows下有个read函数ssize_t read(uint8_t* fd, void *buf, size_t count),从fd中读取count个字节存放在buf中,并返回读出的字节数,如果字节数不足count,则返回当前读取的字节数。
我是这样写的:
ssize_t read(uint8_t* fd, void *buf, size_t count)
{
size_t i;
for(i=0;i<count;i++)
{
if(strcmp(fd+i,"")==0)
{
memcpy(buf, fd, i);
return i;
}
}
memcpy(buf, fd, count);
return count;
}
ssize_t readCount;
readCount = read(fd, buffer, BUFFER_SIZE);
fd = fd+readCount;
从fd中读取BUFFER_SIZE个字节存放到buffer中。
请问大家指针的用法是否正确?
|