简单的结构体与指针学习应用,用来保存和调用分析串口Buffer接收到的数据

STEP1::定义用来接收串口数据的buffer

u8 USART_RX_BUF[USB_USART_REC_LEN]; 	//接收缓冲,最大USART_REC_LEN个字节.

STEP2::定义一个结构体

typedef __packed struct _Stm32Packet 
{
	u32		count;         //结构总长度
	u8		kind;	       //message kind
	u16		index;	       //message index
	u32		timeout;
	u32 	        stateValue;
	u8 		version[4];
	u8 		reserve[20];
        u16	      checksum;      //校验位
} SStm32Packet;

STEP3::然后定义一个SStm32Pack类型的结构体P,

 SStm32Packet* p;
 p = (SStm32Packet*)USART_RX_BUF;//串口接收到的数据存放在USART_RX_BUF中,按照SStmPack 里面的数据成员格式存放

 此时,p指向串口USART_RXBUF的第一个元素,具体就是USART_RXBUF[0]的地址。

STEP4::那么现在,如果你想知道刚刚从串口接收到的数据中,是那种信息,直接判断kind就可以了。

p->kind;

同理,想知道校验位

p->checksum;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值