📄 use_encode_roll_driver.h
字号:
# ifndef _USE_ENCODE_ROLL_DRIVER_H_
# define _USE_ENCODE_ROLL_DRIVER_H_
/*****************************************************************
* 声明库名称:旋转编码器驱动配置库 *
* 版本: v0.01 *
* 作者: I ROBOT *
* 创建日期: Copyright (C) 2008年10月24日 *
*----------------------------------------------------------------*
* [支持库] *
* 支持库名称: *
* 支持库版本: *
* 支持库说明: *
*----------------------------------------------------------------*
* [版本更新] *
* 更新: I ROBOT *
* 更新日期: *
* 版本: *
*----------------------------------------------------------------*
* [版本历史] *
* v0.01 创建版本,配置了编码器与AVR的数据流(外中断)接口 *
*----------------------------------------------------------------*
* [使用说明] *
* 1.根据自己的需要和AVR环境配置AVR与编码器的数据流接口*
*****************************************************************/
/********************
* 头 文 件 配 置 区 *
********************/
# include "AVR_Environment_Configure.h"
/********************
* 系 统 宏 定 义 *
********************/
/********************
* 常 数 宏 定 义 *
********************/
/********************
* 动 作 宏 定 义 *
********************/
/*---------------------------------------------*
* Encode_Roll A 相 边 沿 检 测 宏 定 义 *
*---------------------------------------------*/
//TODO:在这里添加外中断A相边沿检测的代码
# ifndef ENCODE_ROLL_A_EDGE_DETECT
# define ENCODE_ROLL_A_EDGE_DETECT
# define A_USE_RISING_EDGE_DETECT do\
{\
MCUCR |= BIT(ISC01)|BIT(ISC00);\
}\
while (0);
# define A_USE_FALLING_EDGE_DETECT do\
{\
MCUCR = BIT(ISC01)|\
(MCUCR&(~BIT(ISC00)));\
}\
while (0);
# endif
/*---------------------------------------------*
* Encode_Roll B 相 边 沿 检 测 宏 定 义 *
*---------------------------------------------*/
//TODO:在这里添加外中断B相边沿检测的代码
# ifndef ENCODE_ROLL_B_EDGE_DETECT
# define ENCODE_B_ROLL_EDGE_DETECT
# define B_USE_RISING_EDGE_DETECT do\
{\
MCUCR |= BIT(ISC11)|BIT(ISC10);\
}\
while (0);
# define B_USE_FALLING_EDGE_DETECT do\
{\
MCUCR = BIT(ISC11)|\
(MCUCR&(~BIT(ISC10)));\
}\
while (0);
# endif
/*---------------------------------------------*
* 4 倍 频 检 测 *
*---------------------------------------------*/
//TODO:在这里添加4倍频率边沿配置的代码
# ifndef _4_TIMES_DETECT
# define _4_TIMES_DETECT
# define A_RISING_AND_B_HIGH (PIND&BIT(PD3))
# define A_FALLING_AND_B_HIGH (PIND&BIT(PD3))
# define B_RISING_AND_A_HIGH (PIND&BIT(PD2))
# define B_FALLING_AND_A_HIGH (PIND&BIT(PD2))
# endif
/********************
* 模块结构体定义区 *
********************/
/********************
* 函 数 声 明 区 *
********************/
extern void Encode_Roll_Hardware_Configure(void);
static void MCU_Register_Configure(void);
static void MCU_Port_Configure(void);
static void INT0_ISR_PHASE_A(void);
static void INT1_ISR_PHASE_B(void);
/********************
* 模块函数声明区 *
********************/
/********************
* 模块变量声明区 *
********************/
/********************
* 全局变量声明区 *
********************/
extern INT32 g_dwPulse_Counter;
# endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -