中级会员
- 积分
- 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);
|