| 
 
中级会员  
 
	积分309金钱309 注册时间2014-5-1在线时间75 小时 | 
 
10金钱 
| #define Length_Data 5 typedef struct
 {
 uint8_t Head;
 uint8_t Tail;
 uint8_t Length;
 uint8_t Tab[Length_Data];
 uint8_t Primary_Data[Length_Data];
 }packet;
 packet  an_packet_t;
 
 
 void  main(void)
 {
 packet  point;
 while (1)
 {
 Data_analysis(&point);
 }
 }
 
 void Data_analysis(packet* point)
 {
 if(point->Head == 0xaa && point->Length == 5 && point->Tail == 0x78)
 {
 memcpy(an_packet_t.Primary_Data,an_packet_t.Tab,Length_Data);
 memset(an_packet_t.Tab,0,Length_Data);
 HAL_GPIO_TogglePin(GPIOD,GPIO_PIN_1);
 HAL_Delay(500);
 }
 }
 
 
 这样的写法好像不对。错在哪里。有谁知道不?
 
 | 
 
最佳答案
查看完整内容[请看2#楼] memcpy和memset用法不对吧,memcpy(&an_packet_t.Primary_Data,&an_packet_t.Tab,Length_Data); |