求原子哥看一下下面这个程序

2019-07-21 02:36发布

unsigned char uart_recByte(void)
{
                uint16_t Data,i=130;
          while(i&&(!USART_GetFlagStatus(USART1,USART_FLAG_RXNE)))
                {
                        i--;
                }
                Data=USART_ReceiveData(USART1);
                return (Data & 0xff);
       
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
mickey丶初夏
1楼-- · 2019-07-22 03:35
有没有好点的接收字节的函数写法呢
s2333
2楼-- · 2019-07-22 05:36
 精彩回答 2  元偷偷看……
哆啦A梦p
3楼-- · 2019-07-22 07:13
 精彩回答 2  元偷偷看……
mickey丶初夏
4楼-- · 2019-07-22 10:26
s2333 发表于 2019-4-19 17:00
你这样写需要根据波特率来计算需要等待的时间来确定i值,属于原地延时等待,实时性不好

对,就是这个原因,有没有好点的写法
mickey丶初夏
5楼-- · 2019-07-22 16:22
哆啦A梦p 发表于 2019-4-19 17:30
针对你现在的程序,简单修改了下
unsigned char uart_recByte(void)
{

好的,我试试,谢谢
mickey丶初夏
6楼-- · 2019-07-22 17:22
哆啦A梦p 发表于 2019-4-19 17:30
针对你现在的程序,简单修改了下
unsigned char uart_recByte(void)
{

修改之后,完全读不出数据了,读出来的数据直接是0

一周热门 更多>