关于matlab和stm32串口通信的问题
首先下载程序到STM32,打开串口工具,显示单片机可以向串口发送数据打开MATLAB,初始化串口,再打开,结果发现此时无法打开串口PS.用的是同一个COM口...
首先下载程序到STM32,打开串口工具,显示单片机可以向串口发送数据
打开MATLAB,初始化串口,再打开,结果发现此时无法打开串口
PS.用的是同一个COM口 展开
打开MATLAB,初始化串口,再打开,结果发现此时无法打开串口
PS.用的是同一个COM口 展开
4个回答
展开全部
没大看明白你说的问题。串口是独占使用的,你在MATLAB打开了,串口调试工具里面就打不开了,反之亦然。老版本的matlab比如6.5打开串口后,即使fclose掉,也会占用该串口,必须关闭MATLAB才行。新版的fclose之后就释放了,其他程序可以使用。
追问
总算搞定了,其实是我已经连接上,不过软件有问题,得重启一次才行。
对了,为什么我用单片机输入(0x35),串口工具显示的是5
但是matlab里面显示的确实53,输入(“35”)显示的是248
谢谢啦!
追答
MATLAB里用fread读串口数据,读到16进制会自动转成10进制,0x35就是十进制53。如果要用matlab发送16进制数据,可以用fwrite直接输入相应的十进制向量。比如你要发送0x6B EF 3A,可以写成fwrite(instrid,[107 239 58])
串口助手是你设置的问题,输出格式应该选HEX,你选的是ASCII,ASCII码0x35就是字符“5”。
读取字符串的话应该用fscanf,不要用fread
2012-02-24
展开全部
你是不是 要 先 退出下载程序,关闭串口,释放串口
再 打开MATLAB?
串口的使用 通常 是 独占的!
同一个COM口 不可能被2 个程序同时 打开
再 打开MATLAB?
串口的使用 通常 是 独占的!
同一个COM口 不可能被2 个程序同时 打开
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能同时对同一个串口操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-01-19
展开全部
你好,能把你的这个代码转我一份吗?2233812067@qq.com,多谢!最近用到这个,没调出来!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询