4899|8

12

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

2015电赛四旋翼试做进程贴(mpu6050)顺便提问关于调试代码,和PC通讯的问题 [复制链接]

最近在做基于R5F100LE的mpu6050姿态解算。
上一贴https://bbs.eeworld.com.cn/thread-477698-1-1.html是关于电机和电调的,此为背景。

先贴代码,main函数里的:
mpu6050.h是自己找的,有一大堆寄存器地址的定义和:IIC读函数Single_ReadI2C(unsigned char REG_AddressIIC写函数Single_WriteI2C(unsigned char REG_Address,unsigned char REG_data)
以及6050用户初始化函数R_MPU6050_UserInit()函数
main函数里的内容是将X轴加速度计高八位值寄存器  ACCEL_XOUT_H  给  data  ,我首先想的是把data的值通过串口传给电脑以验证,而且方便调试。

  1. #include "r_cg_macrodriver.h"
  2. #include "r_cg_cgc.h"
  3. #include "r_cg_serial.h"
  4. #include "r_cg_timer.h"

  5. #include "MPU6050.h"

  6. #include "r_cg_userdefine.h"


  7. unsigned char add;
  8. unsigned char tx_buf[20];
  9. unsigned char rx_buf[20];
  10. unsigned char rx_len,tx_len;
  11. unsigned int cnt;
复制代码

然后发现。。。。我并不会和PC通信。。。

然后我又找了一个程序,原文在这里https://bbs.eeworld.com.cn/thread-420209-1-1.html,侵删。这个程序是专门与PC通信的,而且看样子作者挺成功的。贴出代码:
  1. void main(void)
  2. {
  3.     R_MAIN_UserInit();
  4.    
  5. {
  6.         uint8_t i;
  7.         uint8_t t='2';
  8.         uint8_t a[4]={"123\0"};
  9.         R_UART2_Start();R_UART2_Send(a,4);
  10.     while (1U)
  11.     {
  12.       
  13.        for(i=0;i<100;i++)
  14.        {
  15.                NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();
  16.        }
  17.       
  18.     }
  19.    
  20. }
  21.    
  22. }
复制代码

我也下了和作者一样的串口调试助手:


但是还是不会向电脑发送数据,貌似CS+中的debug tool与串口调试助手不能一起使用那个串口?

此处坐等大神。




H}700)({_GC`@TL8IXBGLL8.png (44.26 KB, 下载次数: 0)

串口调试助手SSCOM42

串口调试助手SSCOM42

最新回复

有一个办法就是你看debug和下载程序用的那个串口,然后你避开这个串口,用另外一个,我指单片机上,这样在电脑上就有两个串口了,板子上不会只有一个串口吧?   详情 回复 发表于 2015-12-15 08:13
点赞 关注(1)
个人签名//电子专业大四狗

回复
举报

12

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
一楼有些问题,IIC读数据代码没有贴完全
  1. int data;

  2. void R_MAIN_UserInit(void);


  3. void main(void)
  4. {
  5.     R_MAIN_UserInit();
  6.    
  7.     //R_TAU0_Channel0_Start();
  8.     R_MPU6050_UserInit();
  9.     while (1U)
  10.     {
  11.         //SCL = P60( 17 ),SDA = P61( 18 )
  12.         data = Single_ReadI2C(ACCEL_XOUT_H);        //ACCEL_X       
  13.        
  14.     }
  15.    
  16. }
复制代码
 
个人签名//电子专业大四狗
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
说说具体问题:
1.与计算机进行通信用哪个,是特定UART2么?
2.串口调试中的具体步骤,因为串口调试助手也在占用串口,在调试助手那里打开串口后,在CS+上debug程序总是不成功,显示Cannot run debugger and a utility at the same time,而在CS+上debug程序成功后在助手上总是打不开串口。
 
个人签名//电子专业大四狗
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

4
 
也不想做完全的伸手党。。。大神们如果有什么好的帖子,发来链接我自己看,自己找了几天没有中意的答案。
 
个人签名//电子专业大四狗
 
 

回复

862

帖子

2

TA的资源

纯净的硅(初级)

5
 
1、单片机上的UART 或者USART都可以,或者用USB模拟出一个UART来也可以,前者需要一根USB转TTL的线,后者直接与电脑用usb线连接就可以。
2、串口调试助手,首先要在我的电脑里看串口的端口号,波特率等参数跟你实际(单片机)是否相符,完了打开串口调试助手,选对应的串口号,设置参数,打开串口,如果单片机程序正确并且使用串口发送就可以接收到数据了,PC上串口一个程序使用后,另一个程序是不能使用的....

点评

感谢解答。。。 我按照步骤做了一下,发现几个问题。 1.我用的是RL78 EZ Emulator仿真板,是不是这个仿真板不支持串口通信?我看上面并没有PL2303并没有FT232并没有CH340等等? 2.不知道以下我的理解对不对:在  详情 回复 发表于 2015-12-14 17:20
 
个人签名水不撩不知深浅 人不拼怎知输赢
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

6
 
wo4fisher 发表于 2015-12-14 09:18
1、单片机上的UART 或者USART都可以,或者用USB模拟出一个UART来也可以,前者需要一根USB转TTL的线,后者直 ...

感谢解答。。。

我按照步骤做了一下,发现几个问题。
1.我用的是RL78 EZ Emulator仿真板,是不是这个仿真板不支持串口通信?我看上面并没有PL2303并没有FT232并没有CH340等等?
2.不知道以下我的理解对不对:在串口调试助手上打开串口后,串口被使用,这时候在CS+上点击downloads the program to the debug tool 进行下载仿真调试是不会成功的,因为下载也要用串口。所以要接收数据,只能先把HEX烧写进板子,然后在串口调试助手上打开串口,再用USB转TTL的线连接板子与PC,实现通信。

上课做实验这块没有完全理解,还请赐教。

点评

1、仿真板是用usb线连接的PC和板吧,就像我之前回答的,串口常见有两种,一种是硬件电平转换,通常要有一个芯片,2302或者340等等,另一种是芯片自己模拟出来的,比如直接用USB转串口,用户自定义协议或CDC实现,你  详情 回复 发表于 2015-12-15 08:12
 
个人签名//电子专业大四狗
 
 

回复

862

帖子

2

TA的资源

纯净的硅(初级)

7
 
AL缳冤 发表于 2015-12-14 17:20
感谢解答。。。

我按照步骤做了一下,发现几个问题。
1.我用的是RL78 EZ Emulator仿真板,是不是这个 ...

1、仿真板是用usb线连接的PC和板吧,就像我之前回答的,串口常见有两种,一种是硬件电平转换,通常要有一个芯片,2302或者340等等,另一种是芯片自己模拟出来的,比如直接用USB转串口,用户自定义协议或CDC实现,你理解了这个,或许就解开你第一个问题的结了
2、没有用用过瑞萨的芯片,所以你这个仿真板不是太明白,debug也是通过这个串口?你用了哪些硬件没看见图,所以不是很明白
 
个人签名水不撩不知深浅 人不拼怎知输赢
 
 

回复

862

帖子

2

TA的资源

纯净的硅(初级)

8
 
有一个办法就是你看debug和下载程序用的那个串口,然后你避开这个串口,用另外一个,我指单片机上,这样在电脑上就有两个串口了,板子上不会只有一个串口吧?

点评

明白了,我试一下另外的串口,有一些英文的产品文档还需要再看看。 回答的很仔细,再次感谢。  详情 回复 发表于 2015-12-16 09:17
 
个人签名水不撩不知深浅 人不拼怎知输赢
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

9
 
wo4fisher 发表于 2015-12-15 08:13
有一个办法就是你看debug和下载程序用的那个串口,然后你避开这个串口,用另外一个,我指单片机上,这样在 ...

明白了,我试一下另外的串口,有一些英文的产品文档还需要再看看。

回答的很仔细,再次感谢。
 
个人签名//电子专业大四狗
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表