原子哥,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 struct{
u8 num;
u8 data[2];
}Temp;
Temp tem;
int main(void)
{
u8 i,len;
tem.num = 10;
tem.data[0] = 50;
tem.data[1] = 30;
...................// 此处串口初始化省略
len = sizeof(tem);
while(len--){
USART_SendData(USART1,(u8)&tem+i);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC));
}
while(1){
}
}
但是打印出来的内容不是我对结构体成员赋的值。
一周热门 更多>