原子哥,STM32的串口发送函数USART_SendData()怎么发送一个结构体数据?
USART_SendData函数如下:
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)
{
/* Check the parameters */
assert_param(IS_USART_ALL_PERIPH(USARTx));
assert_param(IS_USART_DATA(Data));
/* Transmit Data */
USARTx->DR = (Data & (uint16_t)0x01FF);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我改成这样,但还是打印不出来我想需要的内容:
typedef __packed struct{
u8 num;
u8 data[2];
}Temp;
Temp tem;
int main(void)
{
u8 i,len;
tem.num = 0x10;
tem.data[0] = 0x50;
tem.data[1] = 0x30;
delay_init();
uart_init(38400);
while(1){
len = sizeof(tem);
i = 0;
while(len--){
i++;
USART_SendData(USART1,(u8)&tem+i);
while(USART_GetFlagStatus(USART1, USART_FLAG_TXE));
}
delay_ms(1000);
delay_ms(1000);
}
}
一周热门 更多>