关于matlab和stm32串口通信的问题

首先下载程序到STM32,打开串口工具,显示单片机可以向串口发送数据打开MATLAB,初始化串口,再打开,结果发现此时无法打开串口PS.用的是同一个COM口... 首先下载程序到STM32,打开串口工具,显示单片机可以向串口发送数据
打开MATLAB,初始化串口,再打开,结果发现此时无法打开串口
PS.用的是同一个COM口
展开
 我来答
matlabguy
2012-02-24 · TA获得超过346个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:300万
展开全部
没大看明白你说的问题。串口是独占使用的,你在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 个程序同时 打开
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuhailun
2012-02-25
知道答主
回答量:53
采纳率:0%
帮助的人:20.1万
展开全部
不能同时对同一个串口操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-01-19
展开全部
你好,能把你的这个代码转我一份吗?2233812067@qq.com,多谢!最近用到这个,没调出来!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式