关于USART_SendData函数发送的数据类型

2019-07-21 06:59发布


USART_SendData(USART1,1);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET); 
USART_SendData(USART1,2);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET); 

这样显示拐角符号  ?     ?       ?
发送其他数也会显示不同的符号,或数字
如果发送字符‘a’  ’b’会正确显示

这个函数只能发送单个字符或数字?  发送数字以什么规则与显示对应??

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
本帖最后由 刺客_奋斗的菜鸟 于 2017-7-12 15:14 编辑
super910906 发表于 2017-7-12 10:54
memcpy(&Rec_Ctl.Parameter[0],&RxTmpBuf[6],9);
USART3_SendCommand((uint8_t *)&Rec_Ctl,22);
Rec_Ct ...
我是这样写的:
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){
    }
}
但是打印出来的内容不是我对结构体成员赋的值。

一周热门 更多>