使用MATLAB进行串口调试的两种方法

[复制链接]
1471|1
 楼主| gaoyang9992006 发表于 2018-5-23 14:42 | 显示全部楼层 |阅读模式
方法1:在command window界面下输入tmtool,打开Test & Measurement Tool窗口,在Hardware→Serial下面找到已连接的串口设备(单片机开发板通过USB转串口,对应COM2),在communicate选项卡中对串口进行设置即可。

100915b050d26acac6.png


需要注意的是,程序功能是上位机发送16bit字符串,单片机通过串口接收并回显给上位机,这16bit的字符串是不包含字符串结束标志\n的,因此在sending data下面的data format下拉菜单中,要选择%s而不是%s\n。

为了使接收字符串的时间变短,可以在configure选项卡中将timeout选项设置为1.0。
331395b050d34da655.png

393635b050d4120f16.png






 楼主| gaoyang9992006 发表于 2018-5-23 14:44 | 显示全部楼层
方法2:直接在command window环境下用matlab提供的函数对串口进行操作,仍然以COM2为例。在command window环境下依次输入以下代码:



  1. s=serial('COM2')           %将串口2赋给s
  2. s.status                                         %查看串口2的状态
  3. fopen(s)                                         %打开串口2
  4. s.status                                       
  5. fprintf(s,'987654321abcdef')   %给串口2的发送缓存写入数据987654321abcdef
  6. fscanf(s)                                        %从串口2的接收缓存读数据
  7. fclose(s)                                        %关闭串口2
  8. s.status
  9. delete(s)
  10. clear s



每一个语句的执行情况如下图所示:
920115b050d9929f7a.png
102245b050da560865.png
894575b050db10e5a6.png
其中需要注意的是fprintf()函数默认采用%s\n格式,因此在这里只能输入15个字符,系统会在15bit字符串的末尾自动添加字符串结束标志\n,该标志不能在数码管上显示。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2052

主题

16403

帖子

222

粉丝
快速回复 在线客服 返回列表 返回顶部