串口发送数组的问题

2019-07-20 19:54发布

我想通过串口直接发送出去1234,这组数,但是发送出来的结果是这样的24242131324242131314242131314242313142424。。。。。。不懂为什么无限的乱序发送。代码如下:
const u8 TEXT_Buffer[]={"1234"};
#define SIZE sizeof(TEXT_Buffer)
int main(void)
{
        u8 t;
        u8 len;       
        u16 times=0;  
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//éèÖÃÏμí3ÖD¶ÏóÅÏ輶·Ö×é2
        delay_init(168);                //Ñóê±3õê¼»ˉ
        uart_init(115200);        //′®¿ú3õê¼»ˉ2¨ìØÂêÎa115200
        LED_Init();                                  //3õê¼»ˉóëLEDᬽóμÄó2¼t½ó¿ú  
        USART_RX_STA=1;
        while(1)
        {
                USART_RX_STA=1;
                if(USART_RX_STA==1)
                {                                       
                                for(t=0;t<SIZE;t++)
                         {
                                 USART_SendData(USART1,TEXT_Buffer[t]);
                                 
                         }
                         USART_RX_STA=0;               
                }
               
        }
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
goodzero0409
1楼-- · 2019-07-21 01:34
USART_SendData(USART1,TEXT_Buffer[t]);
这句的后面加while(USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG)==RESET);
xuande
2楼-- · 2019-07-21 02:57

发送一个字节以后,
必须检测标志,前面发走了再发下一个。不能不管不顾地填数据。




娇娇
3楼-- · 2019-07-21 08:43
 精彩回答 2  元偷偷看……
娇娇
4楼-- · 2019-07-21 11:28
xuande 发表于 2016-9-14 11:17
发送一个字节以后,
必须检测标志,前面发走了再发下一个。不能不管不顾地填数据。

非常感谢

一周热门 更多>