/* * rsbus.h * * Created on: 2014-4-26 * Author: Tuowen */ // DE RSOUT.RSPIN HIGH ENABLE // RE LOW ENABLE -> ALWAYS ENABLE // RECEIVE QUERY -> Conditional FNC call // Process -> Output (Done in main program) // SMCLK set to 4MHZ #ifndef RSBUS_H_ #define RSBUS_H_ #include #include"precomp.h" // MAXIMUM length to be send #define RS_MAX (14) #define ST_BUSY (0x04) #define ST_RUN (0x02) #define ST_RES (0x01) #define ST_REST (0x00) // Switch the machine to a new state specified above // This will shown on the network -> must call #define SWITCH_STATE(STATE) (mac_stat[0]=STATE) // Changing the state value (unsigned char) -> // Available indices 0,1,2 #define STATE(X) (mac_stat[X+1]) #define STBIT0 (0x5B) #define STBIT1 (0xAD) #define EDBIT0 (0xA4) #define EDBIT1 (0x52) typedef void (*rshdlr)(unsigned char*,int); void rsbus_init(rshdlr); void rsbus_w(int addr,unsigned char* buf,unsigned int len); extern volatile unsigned char mac_stat[4]; // Machine status -> change it to change the auto respond status #endif /* RSBUS_H_ */