打印
[STM32F1]

串口发送数组总是重复发送最后一个数组元素

[复制链接]
489|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yinxiangh|  楼主 | 2020-12-10 20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
串口发送数组总是重复发送最后一个数组元素

使用特权

评论回复
沙发
yszong| | 2020-12-10 20:44 | 只看该作者

然后呢?你是怎么应对这个的呢        

使用特权

评论回复
板凳
yinxiangh|  楼主 | 2020-12-10 20:50 | 只看该作者
用STM32串口收发数据,发送数组的时候总是重复发送最后一个数组元素,不管数组里有几个字节,用的中断接收和发送,部分程序如下:
u8 buf[]={0x01,0x02,0x03};
u8 TXD3_cnt;//发送计数
void USART3_IRQHandler(void)
{
        if(USART3->SR&(1<<5))//接收到数据
        {
                if(USART3->DR=='K')
                {
                        ZS_GZ=~ZS_GZ;
                        UART3_smode();
                }
        }
        else if(USART3->SR&(1<<6))//数据包发送完成
        {
                GZ_BD=~GZ_BD;
                if(buf[TXD3_cnt]!='\0')
                {
                        USART3->DR=buf[TXD3_cnt];
                        TXD3_cnt++;
                }
                else
                {
                        TXD3_cnt=0;
                        UART3_rmode();
                }               
        }
}
串口调试助手接收到的数据:01 02 03 03
不管数组里面是什么数,接收到的总是重复最后一个数

使用特权

评论回复
地板
langgq| | 2020-12-10 20:57 | 只看该作者
程序好像也没啥问题

使用特权

评论回复
5
gongche| | 2020-12-10 21:01 | 只看该作者
好像是if语句那有点问题 但是要详细看看你的数组里边都是什么数据

使用特权

评论回复
6
wenfen| | 2020-12-10 21:04 | 只看该作者
估计还是程序问题的概率大

使用特权

评论回复
7
zwll| | 2020-12-10 21:08 | 只看该作者
用示波器看看波形

使用特权

评论回复
8
dingy| | 2020-12-10 21:12 | 只看该作者
是不是循环存入的时候出问题了呢

使用特权

评论回复
9
liuzaiy| | 2020-12-10 21:20 | 只看该作者
看着不像是程序的问题啊

使用特权

评论回复
10
morrisk| | 2020-12-10 21:23 | 只看该作者
那接收正常吗

使用特权

评论回复
11
kangzj| | 2020-12-10 21:26 | 只看该作者
单步运行 监测一下

使用特权

评论回复
12
langgq| | 2020-12-10 21:30 | 只看该作者
百分之九十九代码的问题 楼主还是好好跑跑代码吧

使用特权

评论回复
13
zhuww| | 2020-12-10 21:34 | 只看该作者
就是数据超出了吗           

使用特权

评论回复
14
huwr| | 2020-12-10 21:41 | 只看该作者
单步调试看看是什么样   

使用特权

评论回复
15
zhuhuis| | 2020-12-10 21:45 | 只看该作者
你发送的数据不对吗?            

使用特权

评论回复
16
chuxh| | 2020-12-10 21:48 | 只看该作者
这个判断的有问题     

使用特权

评论回复
17
dingy| | 2020-12-10 21:51 | 只看该作者
重复发送最后一个数组吗?字符串对吗  

使用特权

评论回复
18
wangpe| | 2020-12-10 21:55 | 只看该作者
使用for循环发送数据可以的。   

使用特权

评论回复
19
bqyj| | 2020-12-10 22:01 | 只看该作者
如果是使用指针呢?这个有问题吗                 

使用特权

评论回复
20
wenfen| | 2020-12-10 22:04 | 只看该作者
判断以后就不要再次发送了。  

使用特权

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

本版积分规则

723

主题

7134

帖子

2

粉丝