📄 common.h
字号:
#ifndef __COMMON_H
#define __COMMON_H
typedef unsigned char uchar;
typedef unsigned int uint;
#include <iom16v.h>
#include "motor.h"
#include "main.h"
#include "schedule.h"
#include "alarm.h"
#include "check.h"
#ifndef TRUE
#define FALSE 0
#define TRUE (!FALSE)
#endif
#define SEI() asm("sei")
#define CLI() asm("cli")
#define NOP() asm("nop")
#define WDR() asm("wdr") //内部看门狗复位
#define MOTOR_1 PC1 //电机控制引脚定义
#define MOTOR_2 PC0
#define ClrMotor1() PORTC &= ~(1<<MOTOR_1)
#define SetMotor1() PORTC |= (1<<MOTOR_1)
#define ClrMotor2() PORTC &= ~(1<<MOTOR_2)
#define SetMotor2() PORTC |= (1<<MOTOR_2)
#define DIRECTION PA1 //默认为1(正序),否则反序
#define GetDirection() (PINA & (1<<DIRECTION))
//电机状态
#define LIMIT_CLOSE PA4 //机械关限位
#define GetLimit1() (!(PINA & (1<<LIMIT_CLOSE)))
//#define GetLimitClose() (!(PINA & (1<<LIMIT_CLOSE)))
#define LIMIT_OPEN PA3 //机械开限位
#define GetLimit2() (!(PINA & (1<<LIMIT_OPEN)))
//#define GetLimitOpen() (!(PINA & (1<<LIMIT_OPEN)))
//获得限位状态
#define GetLimit() (GetLimit1()||GetLimit2())
//#define GetLimit() (GetLimitClose()||GetLimitOpen())
#define MOTOR_OVERHEAT PA2 //电机过热为高,温度正常为低
#define GetOverheat() (PINA & (1<<MOTOR_OVERHEAT))
//本地旋扭控制,旋扭的处理需要延时处理!
#define LOCAL_CLOSE PC6 //本地关
#define GetLocalClose() (!(PINC & (1<<LOCAL_CLOSE)))
#define LOCAL_OPEN PC7 //本地开
#define GetLocalOpen() (!(PINC & (1<<LOCAL_OPEN)))
#define LOCAL PA6 //本地
#define GetLocal() (!(PINA & (1<<LOCAL)))
#define REMOTE PA5 //远程
#define GetRemote() (!(PINA & (1<<REMOTE)))
//远程触点控制
#define REMOTE_MODE PA0 //1为三线控制(点动),0为四线控制(开关停)
#define GetRemoteMode() (PINA & (1<<REMOTE_MODE))
#define REMOTE_STOP PD3 //远程停
#define GetRemoteStop() (!(PIND & (1<<REMOTE_STOP)))
#define REMOTE_CLOSE PD4 //远程关
#define GetRemoteClose() (!(PIND & (1<<REMOTE_CLOSE)))
#define REMOTE_OPEN PD5 //远程开
#define GetRemoteOpen() (!(PIND & (1<<REMOTE_OPEN)))
//LED状态指示,到达限位是相应led需闪烁报警
#define REMOTE_LED PB6
#define LOCAL_LED PB5
#define MIDDLE_LED PB7 //未使用,可以用闪烁指示点击正在动作
#define SetLocalLed() (PORTB &= ~(1<<LOCAL_LED)) //本地指示
#define ClrLocalLed() (PORTB |= (1<<LOCAL_LED))
#define SetRemoteLed() (PORTB &= ~(1<<REMOTE_LED)) //远程指示
#define ClrRemoteLed() (PORTB |= (1<<REMOTE_LED))
#define SetMiddleLed() (PORTB &= ~(1<<MIDDLE_LED)) //中间位置指示
#define ClrMiddleLed() (PORTB |= (1<<MIDDLE_LED))
//远程触点反馈
#define S1 PD6 //未使用
#define S2 PD7 //未使用
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -