OpenEdv-开源电子网

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

USMART出现乱码

[复制链接]

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2014-8-7
在线时间
16 小时
发表于 2015-2-11 18:06:17 | 显示全部楼层 |阅读模式
5金钱
我自己的程序,移植原子哥的usmart模块,但是在执行我添加的函数和自带的指令时都会出现随机的乱码,请问这是怎么回事?

 

最佳答案

查看完整内容[请看2#楼]

回复【8楼】tianlong253: --------------------------------- 你可以单独测试下串口数据的收发看看。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-11 18:06:18 | 显示全部楼层
回复【8楼】tianlong253:
---------------------------------
你可以单独测试下串口数据的收发看看。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2014-8-7
在线时间
16 小时
 楼主| 发表于 2015-2-11 18:06:18 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
谢谢原子哥,我只用printf函数进行大量数据传输,发现数据都可以正确传输,没有问题,然后我在论坛上搜以前的帖子,发现也有一个人出现了同样的问题,是因为没有在printf后加延时就直接进行了下一行printf,我在printf后加入延时就OK了,感谢!
回复

使用道具 举报

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2014-8-7
在线时间
16 小时
 楼主| 发表于 2015-2-11 18:17:16 | 显示全部楼层
系统用的STM32F103自带的时钟,系统时钟频率为36MHZ,同时在usmart初始化函数也设置的是36MHZ(usmart_dev.init(36))
在执行list等指令时系统一直在死循环中
while(1)
{
    .......
    .......
    switch(state)
      .......
      .......
      case  state_closed:
           ID1 = ID2 = 0;
          OCUP = 0;
          looptime = 0;                        
          DRV3 = stopspeed,DRV1 = 0;
          TIM_SetCompare1(TIM3,DRV1);
          TIM_SetCompare3(TIM3,DRV3);
          break;
    ......
    ......
}
回复

使用道具 举报

164

主题

1230

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1477
金钱
1477
注册时间
2014-5-21
在线时间
342 小时
发表于 2015-2-12 10:57:22 | 显示全部楼层
连接问题啊,干扰啊,都会出现这问题
彼高丽者,边夷贱类,不足待以仁义,不可责以常礼。古来以鱼鳖畜之,宜从阔略。若必欲绝其种类,恐兽穷则搏。
回复

使用道具 举报

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2014-8-7
在线时间
16 小时
 楼主| 发表于 2015-2-12 18:01:48 | 显示全部楼层
回复【3楼】cornrn:
---------------------------------
那请问有可能是程序的问题吗?usart跟usmart都是移植原子哥的。。。用的串口1,PA9,PA10两个引脚直接接到max3232的T2IN,R2OUT,对应的T2OUT,R2IN接DB9端口的2,3针,同时连了GND。这样连接应该是没问题的呀~
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11558
金钱
11558
注册时间
2014-4-1
在线时间
1318 小时
发表于 2015-2-13 00:55:14 | 显示全部楼层
一般来说是程序有问题。
回复

使用道具 举报

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2014-8-7
在线时间
16 小时
 楼主| 发表于 2015-2-13 09:50:07 | 显示全部楼层
回复【5楼】xuande:
---------------------------------
程序是移植原子哥的,用mini学习板做usmart实验和rtc实验的时候都没有问题,然后我把usart跟usmart的两个程序移植到我的程序上,在进行串口更改函数参数的时候,程序时运行在一个while死循环中的一个case下的,也是实在想不出可能出现的问题在哪里。用usmart自带的指令时也是有时候可以正常显示,有时候不能。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-13 17:17:21 | 显示全部楼层
可能是你硬件的问题.你试试大量数据传输,看看是否有丢失数据.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2014-8-7
在线时间
16 小时
 楼主| 发表于 2015-3-4 20:19:25 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
先谢谢原子哥,现在的问题是,我用usmart调用添加的函数,函数可以正常调用,并且成功调用(因为是控制小灯闪烁频率,能够直观看出来),但是有的时候在XCOM上会不回显调用的函数。也就是说,函数都调用成功了,但是显示有问题,会不会是printf的问题?我明天试试调用大量数据试试。
回复

使用道具 举报

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2014-8-7
在线时间
16 小时
 楼主| 发表于 2015-3-4 22:11:02 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
好,我再调试试试
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-9 23:07:25 | 显示全部楼层
回复【11楼】tianlong253:
---------------------------------
谢谢分享
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-25 12:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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