OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 14181|回复: 18

ALIENTEK MiniSTM32 通过串口转usb和PC机matlab通信的问题

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
25
金钱
25
注册时间
2014-3-8
在线时间
0 小时
发表于 2014-3-8 16:54:05 | 显示全部楼层 |阅读模式
mini板不断向串口发数据,pc端matlab想接收该数据

matlab里面的程序如下:
s = serial('COM5');                                                  
set(s,'BaudRate',9600,'Parity','none','DataBits',8,'StopBits',1);  %波特率为9600bp,8位数据,无校验位
set(s,'InputBufferSize',10); 
s.timeout = 10;
fopen(s);
ReadNum = 10;
GetData=fread(s,ReadNum,'uint8')
fclose(s);
delete(s);
clear s;

不知道为什么在matlab上一运行这个程序mini板就会有系统复位的现象发生,导致matlab不能正常读取mini板的串口数据。求大神解答!


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2021-5-5
在线时间
33 小时
发表于 2022-5-12 15:53:11 | 显示全部楼层
使用2019b版本的setDTR和setRTS好像不行
回复 支持 1 反对 0

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2016-3-23
在线时间
5 小时
发表于 2016-3-25 09:44:53 | 显示全部楼层
s.DataTerminalReady='on';
s.RequestToSend='off';
回复 支持 1 反对 0

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-3-8 18:54:00 | 显示全部楼层
帮顶,Matlab真强大~
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2014-3-8 19:31:12 | 显示全部楼层
回复【楼主位】lcmarcopolo:
---------------------------------
因为matlab的串口打开方式,控制了DTR/RTS,导致一键下载电路控制MCU复位了,或者B0接高了,所以无法运行正常代码了。。。
解决办法:matlab看看有没有设置dtr/rts的函数,控制一下。
要不就只能改mini板硬件了。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2016-3-23
在线时间
5 小时
发表于 2016-3-24 09:59:12 | 显示全部楼层
你这个问题解决了吗
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-5-4
在线时间
1 小时
发表于 2016-5-13 15:08:48 | 显示全部楼层
我也一样被复位了,传增量式编码器的值,一复位就归零……
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-5-4
在线时间
1 小时
发表于 2016-5-13 15:21:38 | 显示全部楼层
bangbangde 发表于 2016-3-25 09:44
s.DataTerminalReady='on';
s.RequestToSend='off';

谢谢大神,加了这两句果然不复位了!
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-5-4
在线时间
1 小时
发表于 2016-5-13 15:22:25 | 显示全部楼层
5楼大神的答复能解决问题
回复 支持 反对

使用道具 举报

7

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2016-10-19
在线时间
36 小时
发表于 2017-1-18 14:58:36 | 显示全部楼层
bangbangde 发表于 2016-3-25 09:44
s.DataTerminalReady='on';
s.RequestToSend='off';

大神,你为何这么牛逼,我的问题也解决了,了不起!!!
回复 支持 反对

使用道具 举报

2

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-11-2
在线时间
10 小时
发表于 2017-5-17 10:52:55 | 显示全部楼层
bangbangde 发表于 2016-3-25 09:44
s.DataTerminalReady='on';
s.RequestToSend='off';

这样加上两行代码可以实现STM32传数据给matlab,但是不能实现matlab给单片机传数据,
s.DataTerminalReady='on';
s.RequestToSend='on';
改成这样后matlab给单片机传程序还是会出现单片机复位的情况,想问一下这个怎么解决呢?
回复 支持 反对

使用道具 举报

2

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-11-2
在线时间
10 小时
发表于 2017-5-17 10:53:53 | 显示全部楼层
正点原子 发表于 2014-3-8 19:31
回复【楼主位】lcmarcopolo:
---------------------------------
因为matlab的串口打开方式,控制了DTR/RTS ...

原子哥你好,怎么改硬件呢,是不是一键下载电路的缘故
回复 支持 反对

使用道具 举报

3

主题

6

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-7-1
在线时间
4 小时
发表于 2019-7-26 10:01:53 来自手机 | 显示全部楼层
大神能分享一下更改以后的完整代码吗跪求
回复 支持 反对

使用道具 举报

4

主题

17

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2019-11-7
在线时间
11 小时
发表于 2019-11-25 16:41:51 | 显示全部楼层
月光独灵 发表于 2017-5-17 10:52
这样加上两行代码可以实现STM32传数据给matlab,但是不能实现matlab给单片机传数据,
s.DataTerminalRea ...

请问,楼主解决了没,可以给指点一下吗
回复 支持 反对

使用道具 举报

4

主题

17

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2019-11-7
在线时间
11 小时
发表于 2019-11-25 16:59:41 | 显示全部楼层
wxy1996 发表于 2019-7-26 10:01
大神能分享一下更改以后的完整代码吗跪求

楼主,你好,请问你解决了没
回复 支持 反对

使用道具 举报

4

主题

17

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2019-11-7
在线时间
11 小时
发表于 2019-11-27 14:39:29 | 显示全部楼层
月光独灵 发表于 2017-5-17 10:52
这样加上两行代码可以实现STM32传数据给matlab,但是不能实现matlab给单片机传数据,
s.DataTerminalRea ...

楼主,请问你实现了matlab传输到stm32了吗,可以给分享一下代码吗
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2013-4-13
在线时间
8 小时
发表于 2020-4-3 21:26:37 | 显示全部楼层
楼主强大
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2021-7-5
在线时间
3 小时
发表于 2021-7-20 15:12:49 | 显示全部楼层
谢谢,点赞
回复 支持 反对

使用道具 举报

3

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2021-5-5
在线时间
33 小时
发表于 2022-5-12 16:06:26 | 显示全部楼层
Timor队长 发表于 2022-5-12 15:53
使用2019b版本的setDTR和setRTS好像不行

我刚才又测试了一下,必须按以下顺序设置DTR和RTS的电平,可能是RTS连接的是复位键,当RTS电压只要稍微高一些就会复位。
setDTR(com,false)
setRTS(com,false)
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 05:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表