谁有数字电位器的程序

2019-07-21 05:23发布

RT
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
keli2046
2019-07-21 11:49
//----------------局部文件内变量列表----------------//
static  char    EC11_A_Last = 1;                        //EC11的A引脚上一次的状态
static  char    EC11_B_Last = 1;                        //EC11的B引脚上一次的状态
static  char    EC11_Type = 0;   //定义变量暂存EC11的类型---->>>>----  0:一定位对应一脉冲;  1:两定位对应一脉冲
//所谓一定位对应一脉冲,是指EC11旋转编码器每转动一格,A和B都会输出一个完整的方波。
//而  两定位对应一脉冲,是指EC11旋转编码器每转动两格,A和B才会输出一个完整的方波,只转动一格只输出A和B的上升沿或下降沿
//----------------编码器动作代码相关定义----------------//
int G_PWM_NUM1;
int G_PWM_NUM2;
int G_PWM_NUM3;
static unsigned char EC11_NUM_SW = 0;
/*与按键检测相关的静态局部变量*/
static  long    EC11_KEY_COUNT = 0;                     //EC11按键动作计数器
static   int    EC11_KEY_DoubleClick_Count = 0;         //EC11按键双击动作计数器
static  char    FLAG_EC11_KEY_ShotClick = 0;            //EC11按键短按动作标志
static  char    FLAG_EC11_KEY_LongClick = 0;            //EC11按键长按动作标志
static  char    FLAG_EC11_KEY_DoubleClick = 0;          //EC11按键双击动作标志
//----------------编码器参数微调宏定义----------------//
#define EC11_SCAN_PERIOD_MS             1                            //EC11编码器扫描周期
#define KEY_COUNT_DESHAKING         ( 10/EC11_SCAN_PERIOD_MS)        //按键消抖时间
#define KEY_COUNT_LONGTIME          (10000/EC11_SCAN_PERIOD_MS)      //长按按键判断时间
#define KEY_COUNT_DUALCLICKTIME     (1500/EC11_SCAN_PERIOD_MS)       //双击按键判断时间
#define KEY_LONG_REPEAT_TIME        (2000/EC11_SCAN_PERIOD_MS)       //长按按键的回报率的倒数,即一直长按按键时响应的时间间隔


unsigned int EC11_Count=0;//ScanResult复位计数器
char ScanResult=0;//返回编码器扫描结果,用于分析编码器的动作
char AnalyzeResult = 0;

一周热门 更多>