?? 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 + -