在.h文件中定义
typedef struct
{
char buffer[10];
}__attribute__ ((packed)) Envmsg ;
.c定义结构体并填充
Envmsg env;
Envmsg *Env =&env;
void add_struct()
{
sprintf(env.buffer,"%d %d %d",hum,tem,m_Lux);
}
我发送的是湿度、温度、光照。
stm32串口发送
void sendenv(u8 *str,u8 len)
{
static u8 i;
add_struct(); //调用填充
for(i=0;i<len;i++)
{
USART_SendData(USART1,str[i]); //通过串口1发送数据
while( USART_GetFlagStatus(USART1,USART_FLAG_TC)!= SET); //等待发送完成
}
}
main函数调用
sendenv((u8*)&env,sizeof(Envmsg));