打印
[STM32F1]

串口状态就不对

[复制链接]
675|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gongche|  楼主 | 2021-6-7 21:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
103VET6的串口接一个GPRS模块实现远程网络通信和短消息通信,为了控制串口的操作时序,定义了一个结构变量:
typedef                struct
{
//        Uint08                TcpLinkSta                                                                        :8;
        Uint08                Port                                                                                :8;
//        Uint32                TcpLinkSearchDelay                                                        :32;        
//        Uint08                TcpLinkSearch                                                                :8;
}        GprsType;


程序在标记为MYS的CPU芯片上一切正常;当在标记为PHL的芯片上,操作GPRS的时候,串口状态就不对了,当把结构变量的其它3个域屏蔽(如上)或者串口不接GPRS模块(没有返回数据)时,串口没有问题。

使用特权

评论回复
沙发
gongche|  楼主 | 2021-6-7 21:26 | 只看该作者
程序上有个逻辑漏洞造成!当选择其中一种通信协议的时候导致串口不停发送数据。

使用特权

评论回复
板凳
heweibig| | 2021-6-7 21:28 | 只看该作者
没看明白,跟踪下程序就知道了;

使用特权

评论回复
地板
xxrs| | 2021-6-7 21:32 | 只看该作者
为何这么做,反正就是串口嘛,你发送对应指令不就行了。

使用特权

评论回复
5
supernan| | 2021-6-7 22:03 | 只看该作者
不用结构体试试看,是不是结构体操作不正确。

使用特权

评论回复
6
xxrs| | 2021-6-7 22:05 | 只看该作者
寄存器状态是什么样的

使用特权

评论回复
7
gongche|  楼主 | 2021-6-7 22:08 | 只看该作者
嗯,预料中的结果,多谢大家啦

使用特权

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

本版积分规则

768

主题

9410

帖子

2

粉丝