motor.c
来自「这是一个对直流电机控制的小程序。基于单片机开发。」· C语言 代码 · 共 62 行
C
62 行
/****************************************************************
** 文件名: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 + =
减小字号Ctrl + -
显示快捷键?