找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1535|回复: 0
打印 上一主题 下一主题
收起左侧

STC15F2K60S2iic读取mpu6050数据程序 发送到串口上位机

[复制链接]
跳转到指定楼层
楼主
ID:853104 发表于 2021-12-22 21:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include <STC15F2K60S2.H>
  2. #include <mpu6050.h>
  3. #include <math.h>    //Keil library  
  4. #include <stdio.h>   //Keil library       

  5. #define FOSC    11059200UL
  6. #define BAUD    115200

  7. #define     URMD    0           //0:使用定时器2作为波特率发生器
  8.                                 //1:使用定时器1的模式0(16位自动重载模式)作为波特率发生器
  9.                                 //2:使用定时器1的模式2(8位自动重载模式)作为波特率发生器
  10. void SendData(float dat);
  11. void Delay(WORD n);
  12. void InitUart();

  13. void sendString();
  14. void send(unsigned char S);

  15. void main()
  16. {

  17.        
  18.         InitUart();

  19.         InitMPU6050();        //初始化MPU6050
  20.         delay(150);

  21.         while(1)
  22.         {
  23. //                TI=1;
  24. //                printf("%d\n",moveRate[i]);
  25. //                TI=0;
  26.         formstring();

  27.                 TI=1;
  28.                 printf("%d\n",buffer[0]);
  29.                
  30. //                printf("%d\n",buffer[1]);
  31. //                printf("%d\n\n",buffer[2]);
  32.                
  33.                 //printf("%d\n",buffer[3]);
  34. //                printf("%d\n",buffer[4]);
  35. //                printf("%d\n\n",buffer[5]);       
  36.                 TI=0;
  37.        
  38.        
  39.                 delay(1000);
  40.         }
  41. }

  42. /*----------------------------
  43. 初始化串口
  44. ----------------------------*/
  45. void InitUart()
  46. {
  47.     SCON = 0x5a;                //设置串口为8位可变波特率
  48. #if URMD == 0
  49.     T2L = (65536 - (FOSC/4/BAUD));
  50.     T2H = (65536 - (FOSC/4/BAUD)) >> 8;
  51.     AUXR = 0x14;                //T2为1T模式, 并启动定时器2
  52.     AUXR |= 0x01;               //选择定时器2为串口1的波特率发生器
  53. #elif URMD == 1
  54.     AUXR = 0x40;                //定时器1为1T模式
  55.     TMOD = 0x00;                //定时器1为模式0(16位自动重载)
  56.     TL1 = (65536 - (FOSC/4/BAUD));
  57.     TH1 = (65536 - (FOSC/4/BAUD)) >> 8;
  58.     TR1 = 1;                    //定时器1开始启动
  59. #else
  60.     TMOD = 0x20;                //设置定时器1为8位自动重装载模式
  61.     AUXR = 0x40;                //定时器1为1T模式
  62.     TH1 = TL1 = (256 - (FOSC/32/BAUD));
  63.     TR1 = 1;
  64. #endif
  65. }
复制代码

Keil代码下载: iic读取mpu6050.rar (47.81 KB, 下载次数: 46)

评分

参与人数 1黑币 +10 收起 理由
admin + 10 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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