新手上路,关于STM32F407ZGT6串口调试的问题

2019-07-20 21:59发布

本帖最后由 天风海雨 于 2016-5-29 09:20 编辑

新手上路,求大神指教,我最近在用这个F407做一个项目,用到了它的串口,代码很简单,就是按照例程写的,然而用原子哥的XCOM可以正常通信,用我自己原来的串口调试助手SComAssistant却不能通信(可以收到单片机发的,但发过去,单片机没反应,没有接收到),用本人自己写的C#上位机,也接收不到,不知道为什么,以前这两个东西都可以用于51和Arduino单片机,难道是stm32不能用吗
我自己的上位机代码“private void btnTransmit_Click(object sender, EventArgs e)
        {
            if (btnOpenPort.Text == "关闭串口")
            {
                if (tbData.Text == "")
                {
                    MessageBox.Show("请输入数据!");
                }
                else
                {
                    serialPort.Write(tbData.Text);//串口写入数据/命令
                }
            }
            else
            {
                MessageBox.Show("发送失败!请打开串口!");
            }
        }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
天风海雨
1楼-- · 2019-07-20 23:20
问题已经找到了,一般的串口调试助手只是单纯的发一个字符,而XCOM是发一个字符加' ',因此把上位机代码改成下面这样就可以正常通信了。
        private void btnTransmit_Click(object sender, EventArgs e)
        {
            if (btnOpenPort.Text == "关闭串口")
            {
                if (tbData.Text == "")
                {
                    MessageBox.Show("请输入数据!");
                }
                else
                {
                    serialPort.Write(tbData.Text + " ");//串口写入数据/命令
                }
            }
            else
            {
                MessageBox.Show("发送失败!请打开串口!");
            }
        }
Lone
2楼-- · 2019-07-21 03:53
 精彩回答 2  元偷偷看……
Lone
3楼-- · 2019-07-21 05:08
这个问题估计是你的串口软件问题
天风海雨
4楼-- · 2019-07-21 06:44
Lone 发表于 2016-5-29 11:25
这个问题估计是你的串口软件问题

我的串口软件发送一个a,显示发送了一个字符,而用XCOM,却显示3个。就是XCOM界面下方的S后面的数字变成3,如果发送ab,则显示4,奇怪
Lone
5楼-- · 2019-07-21 08:53
 精彩回答 2  元偷偷看……

一周热门 更多>