找回密码
 立即注册

QQ登录

只需一步,快速开始

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

两轮差速小车源码(ROS专用)

[复制链接]
跳转到指定楼层
楼主
ID:882006 发表于 2021-10-4 17:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include "sys.h"


  2. u8 Flag_Way=0,Flag_Show=0,Flag_Stop=1;                 //停止标志位和 显示标志位 默认停止 显示打开
  3. int Encoder_Left,Encoder_Right;             //左右编码器的脉冲计数
  4. float Velocity,Velocity_Set,Turn,Angle_Set;
  5. int Motor_A,Motor_B,Target_A,Target_B;  //电机舵机控制相关           
  6. int Voltage;                                //电池电压采样相关的变量
  7. float Velocity_KP=62,Velocity_KI=62;               //速度控制PID参数
  8. u8 Urxbuf[4],rxbuf[4],Usart_Flag;
  9. int main(void)
  10. {
  11.         int ua_Encoder,ub_Encoder;
  12.         Stm32_Clock_Init(9);            //=====系统时钟设置
  13.         delay_init(72);                 //=====延时初始化
  14.         JTAG_Set(JTAG_SWD_DISABLE);     //=====关闭JTAG接口
  15.         LED_Init();                     //=====初始化与 LED 连接的硬件接口
  16.         KEY_Init();                     //=====按键初始化
  17.         OLED_Init();                    //=====OLED初始化
  18.         Encoder_Init_TIM2();            //=====编码器接口
  19.         Encoder_Init_TIM3();            //=====初始化编码器
  20.         delay_ms(300);                  //=====延时启动
  21.         uart_init(72,115200);           //=====初始化串口1
  22.   Motor_PWM_Init(7199,0);                                  //=====初始化PWM 10KHZ,用于驱动电机
  23.         Adc_Init();                     //=====电池电压采样adc初始化
  24.         uart2_init(36,115200);                                   //=====串口3初始化 蓝牙
  25.         Timer_Init(49,7199);            //=====定时中断初始化
  26.         while(1)
  27.                 {            
  28.                                         if(Flag_Show==0)         //使用MiniBalance APP和OLED显示屏
  29.                                         {        
  30.                                                         oled_show();          //===显示屏打开
  31.                                         }               
  32.                                 ua_Encoder=Encoder_Left+500;
  33.                                 ub_Encoder=Encoder_Right+500;
  34.                                 usart1_send(0xff);               
  35.                                 usart1_send(0xfe);        
  36.                                 usart1_send(ua_Encoder>>8);
  37.                                 usart1_send(ua_Encoder&0x00ff);
  38.                                 usart1_send(ub_Encoder>>8);
  39.                                 usart1_send(ub_Encoder&0x00ff);               

  40.                                 usart2_send(0xff);               
  41.                                 usart2_send(0xfe);        
  42.                                 usart2_send(ua_Encoder>>8);
  43.                                 usart2_send(ua_Encoder&0x00ff);
  44.                                 usart2_send(ub_Encoder>>8);
  45.                                 usart2_send(ub_Encoder&0x00ff);                                                               
  46.         }
  47. }
复制代码

代码下载: 1.标准版两轮差速小车源码(ROS专用).7z (133.51 KB, 下载次数: 23)

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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