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’会正确显示
这个函数只能发送单个字符或数字? 发送数字以什么规则与显示对应??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
程序是这样的
while(1)
{
for(i=0;i<5;i++)
{ USART_SendData(USART1,j);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC));
delay(2);
}
}
memcpy(&Rec_Ctl.Parameter[0],&RxTmpBuf[6],9);
USART3_SendCommand((uint8_t *)&Rec_Ctl,22);
Rec_Ctl,这是一个发送应答结构体,其实结构体跟数组的逻辑是一样的,只要把结构体的赋值做好,直接调发送函数去发就好了,强转化成uint8_t类型的就行了。
我是这样写的:
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){
}
}
但是打印出来的内容不是我对结构体成员赋的值。
一周热门 更多>