打印
[STM32F1]

串口如何发送数组,为何一次显示一个数据?

[复制链接]
808|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
将心明月|  楼主 | 2020-11-4 21:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,想要的效果是单片机发送十六进制的A3  55  44  80  03  00  05到串口助手,结果显示的却是一次显示一个数据,求解,代码如下~
/****************************************************************************/
int main(void)
{               
        u16 t;  
//        u16 len;        
//        u16 times=0;
        int a[7]={0XA3,0X55,0X44,0X80,0X03,0X00,0X05};
        int i=0;
        delay_init();                     //延时函数初始化         
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
        uart_init(115200);         //串口初始化为115200
        LED_Init();                             //LED端口初始化

        for(t=0;t<7;t++)
        {                                                                  
                    LED0=0;        
                        delay_ms(300);                 
                        USART_SendData(USART1, a[i] );//向串口1发送数据
            while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
                        i++;
            LED0=1;
                        delay_ms(300);
        }         
}
/****************************************************************************/




使用特权

评论回复
沙发
月亮一键变蓝| | 2023-1-14 09:57 | 只看该作者
你的delay咋还能在发送的函数里呢?

使用特权

评论回复
板凳
她已醉| | 2023-1-14 10:29 | 只看该作者
是因为delay导致的吧

使用特权

评论回复
地板
将爱藏于深海| | 2023-1-14 11:02 | 只看该作者
属实啊,你延时太久了,被认为是2次数据了

使用特权

评论回复
5
故意相遇| | 2023-1-14 11:34 | 只看该作者
将延时去掉就好了

使用特权

评论回复
6
白马过平川| | 2023-1-14 12:06 | 只看该作者
你发数据不能加delay这么大的,300ms,不行

使用特权

评论回复
7
春日负喧| | 2023-1-14 12:38 | 只看该作者
去掉delay_ms(300);试试

使用特权

评论回复
8
风凉| | 2023-1-14 13:10 | 只看该作者
发数据就正常操作嘛,你不能在发送数据的时候还控制灯的

使用特权

评论回复
9
西洲| | 2023-1-14 13:43 | 只看该作者
将代码里的delay去掉就好了

使用特权

评论回复
10
捧一束彼岸花| | 2023-1-14 14:15 | 只看该作者
因为你加了600msdelay,被上位机认为是2次数据了

使用特权

评论回复
11
一只眠羊| | 2023-1-14 14:47 | 只看该作者
你可以弄个协议,就是发送完成才算是一整包数据,这样就好了

使用特权

评论回复
12
SantaBunny| | 2023-2-3 19:27 | 只看该作者
你可以自己写一个连续发送的函数:只要发送前9个数据后,TI清零就成。

使用特权

评论回复
13
朝生| | 2023-2-10 15:17 | 只看该作者
你这程序问题还真不少。

使用特权

评论回复
14
Pretext| | 2023-2-10 15:20 | 只看该作者
是一直只接收到一个字符,还是开机就只接收一个字符就不再接收了?

使用特权

评论回复
15
芯路例程| | 2023-2-10 15:21 | 只看该作者
你把延时和灯的控制去了,然后循环中的i改成t。

使用特权

评论回复
16
SantaBunny| | 2023-2-11 10:11 | 只看该作者
可以弄个协议,发送完成就算是一整包数据了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

10

帖子

0

粉丝