标题:
两轮差速小车源码(ROS专用)
[打印本页]
作者:
爱慕春妮
时间:
2021-10-4 17:27
标题:
两轮差速小车源码(ROS专用)
#include "sys.h"
u8 Flag_Way=0,Flag_Show=0,Flag_Stop=1; //停止标志位和 显示标志位 默认停止 显示打开
int Encoder_Left,Encoder_Right; //左右编码器的脉冲计数
float Velocity,Velocity_Set,Turn,Angle_Set;
int Motor_A,Motor_B,Target_A,Target_B; //电机舵机控制相关
int Voltage; //电池电压采样相关的变量
float Velocity_KP=62,Velocity_KI=62; //速度控制PID参数
u8 Urxbuf[4],rxbuf[4],Usart_Flag;
int main(void)
{
int ua_Encoder,ub_Encoder;
Stm32_Clock_Init(9); //=====系统时钟设置
delay_init(72); //=====延时初始化
JTAG_Set(JTAG_SWD_DISABLE); //=====关闭JTAG接口
LED_Init(); //=====初始化与 LED 连接的硬件接口
KEY_Init(); //=====按键初始化
OLED_Init(); //=====OLED初始化
Encoder_Init_TIM2(); //=====编码器接口
Encoder_Init_TIM3(); //=====初始化编码器
delay_ms(300); //=====延时启动
uart_init(72,115200); //=====初始化串口1
Motor_PWM_Init(7199,0); //=====初始化PWM 10KHZ,用于驱动电机
Adc_Init(); //=====电池电压采样adc初始化
uart2_init(36,115200); //=====串口3初始化 蓝牙
Timer_Init(49,7199); //=====定时中断初始化
while(1)
{
if(Flag_Show==0) //使用MiniBalance APP和OLED显示屏
{
oled_show(); //===显示屏打开
}
ua_Encoder=Encoder_Left+500;
ub_Encoder=Encoder_Right+500;
usart1_send(0xff);
usart1_send(0xfe);
usart1_send(ua_Encoder>>8);
usart1_send(ua_Encoder&0x00ff);
usart1_send(ub_Encoder>>8);
usart1_send(ub_Encoder&0x00ff);
usart2_send(0xff);
usart2_send(0xfe);
usart2_send(ua_Encoder>>8);
usart2_send(ua_Encoder&0x00ff);
usart2_send(ub_Encoder>>8);
usart2_send(ub_Encoder&0x00ff);
}
}
复制代码
代码下载:
1.标准版两轮差速小车源码(ROS专用).7z
(133.51 KB, 下载次数: 23)
2021-10-6 03:02 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1