📄 motor.c
字号:
/****************************************************************
** 文件名:motor.c 电机驱动函数
****************************************************************/
#include "config.h"
/******************************************************************************/
//正转,速度
void for_ward(uint8 speed)
{
if(speed!=0)
{
OCR2 = speed;
while(ASSR&(1<<TCR2UB)==1) ; //启动TC2 pwm 输出,异步操作需要等待 OCR2写入完毕
}
TC2_EN; //pwm_start
moto_en1;
moto_uen2;
}
/******************************************************************************/
//反转,速度
void back_ward(uint8 speed)
{
if(speed!=0)
{
OCR2 = speed;
while(ASSR&(1<<TCR2UB)==1) ;// 启动TC2 pwm 输出,异步操作需要等待OCR2写入完毕
}
TC2_EN; //pwm start
moto_uen1;
moto_en2;
}
/******************************************************************************/
//停止
void motor_stop(void)
{
moto_en1; //同时置一停止
moto_en2;
TC2_DIS; //pwm stop
}
/******************************************************************************/
//加速
void speed_add(uint8 add)
{
if(OCR2 + add < 240) //防止出现极大情况时候跳跃到很小。
{
OCR2 = OCR2 + add;
}
}
/******************************************************************************/
//加速
void speed_subtract(uint8 subtract)
{
if(OCR2 - subtract > 10) //防止到很小之后跳跃到很大。
{
OCR2 = OCR2 - subtract;
}
}
/******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -