OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3891|回复: 4

串口发送数组的问题

[复制链接]

12

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2016-9-6
在线时间
18 小时
发表于 2016-9-14 11:07:44 | 显示全部楼层 |阅读模式
1金钱
我想通过串口直接发送出去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;               
                }
               
        }
}


最佳答案

查看完整内容[请看2#楼]

USART_SendData(USART1,TEXT_Buffer[t]); 这句的后面加while(USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG)==RESET);
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
309
金钱
309
注册时间
2014-5-1
在线时间
75 小时
发表于 2016-9-14 11:07:45 | 显示全部楼层
USART_SendData(USART1,TEXT_Buffer[t]);
这句的后面加while(USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG)==RESET);
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11548
金钱
11548
注册时间
2014-4-1
在线时间
1316 小时
发表于 2016-9-14 11:17:27 | 显示全部楼层

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




回复

使用道具 举报

12

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2016-9-6
在线时间
18 小时
 楼主| 发表于 2016-9-27 10:49:01 | 显示全部楼层
goodzero0409 发表于 2016-9-14 11:07
USART_SendData(USART1,TEXT_Buffer[t]);
这句的后面加while(USART_GetFlagStatus(USART_TypeDef* USARTx ...

已解决,非常感谢您的帮助
回复

使用道具 举报

12

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2016-9-6
在线时间
18 小时
 楼主| 发表于 2016-9-27 10:49:39 | 显示全部楼层
xuande 发表于 2016-9-14 11:17
发送一个字节以后,
必须检测标志,前面发走了再发下一个。不能不管不顾地填数据。

非常感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-12 17:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表