在线时间0 小时
UID308716
ST金币0
蝴蝶豆0
注册时间2011-7-28
新手上路
- 最后登录
- 1970-1-1
|
a0a.1 0b0c
使用电子罗盘,串口发送和接受。
关键代码如下:
USART_SendData(USART2, c); 开始测距
while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET );
unsigned char c;
while(1)
{
if(USART_GetFlagStatus(USART2, USART_FLAG_RXNE) == SET)
{
c=USART_ReceiveData(USART2);
return c;
}
}接受测得数据
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; // 发送使能+接收使能
USART_Init(USART2, &USART_InitStructure);
USART_ClearFlag(USART2, USART_IT_RXNE);
USART_Cmd(USART2, ENABLE); //USART2总开关:开启
使用的是查询模式。
为题是在while(1)里面死循环了。
问什么我USART_GetFlagStatus(USART2, USART_FLAG_RXNE)不是1.确定当发送c的时候有返回值
|
|