My useful library.
RS485_usrlib.cpp@0:bc8a5f269990, 2017-02-26 (annotated)
- Committer:
- WakoTakeru
- Date:
- Sun Feb 26 09:53:19 2017 +0000
- Revision:
- 0:bc8a5f269990
First commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
WakoTakeru | 0:bc8a5f269990 | 1 | #include"mbed.h" |
WakoTakeru | 0:bc8a5f269990 | 2 | #include "Serial.h" |
WakoTakeru | 0:bc8a5f269990 | 3 | #include"RS485_usrlib.h" |
WakoTakeru | 0:bc8a5f269990 | 4 | |
WakoTakeru | 0:bc8a5f269990 | 5 | RS485::RS485(PinName _tx,PinName _rx,PinName _pin):_serial(_tx,_rx),_rede(_pin){ |
WakoTakeru | 0:bc8a5f269990 | 6 | buffer[0]=buffer[1]=buffer[2]=buffer[3]=buffer[4]=0; |
WakoTakeru | 0:bc8a5f269990 | 7 | _serial.attach(&onInterrupt,Serial::RxIrq); |
WakoTakeru | 0:bc8a5f269990 | 8 | } |
WakoTakeru | 0:bc8a5f269990 | 9 | void RS485::Transmit_data(int address,int *data){ |
WakoTakeru | 0:bc8a5f269990 | 10 | int TxData[5] = {0}; |
WakoTakeru | 0:bc8a5f269990 | 11 | |
WakoTakeru | 0:bc8a5f269990 | 12 | /*データ準備*/ |
WakoTakeru | 0:bc8a5f269990 | 13 | TxData[0] = '#';//TAG |
WakoTakeru | 0:bc8a5f269990 | 14 | TxData[1] = address;//ID |
WakoTakeru | 0:bc8a5f269990 | 15 | TxData[2] = data[0];//data |
WakoTakeru | 0:bc8a5f269990 | 16 | TxData[3] = data[1];//data |
WakoTakeru | 0:bc8a5f269990 | 17 | TxData[4] = (TxData[0]^TxData[1]^TxData[2]^TxData[3]); |
WakoTakeru | 0:bc8a5f269990 | 18 | |
WakoTakeru | 0:bc8a5f269990 | 19 | /*送信*/ |
WakoTakeru | 0:bc8a5f269990 | 20 | _rede = 1; |
WakoTakeru | 0:bc8a5f269990 | 21 | for(int i=0;i<=4;i++){ |
WakoTakeru | 0:bc8a5f269990 | 22 | _serial.putc(TxData[i]); |
WakoTakeru | 0:bc8a5f269990 | 23 | } |
WakoTakeru | 0:bc8a5f269990 | 24 | wait_us(2500); |
WakoTakeru | 0:bc8a5f269990 | 25 | _rede = 0; |
WakoTakeru | 0:bc8a5f269990 | 26 | } |
WakoTakeru | 0:bc8a5f269990 | 27 | |
WakoTakeru | 0:bc8a5f269990 | 28 | int RS485::getc(){ |
WakoTakeru | 0:bc8a5f269990 | 29 | return _serial.getc(); |
WakoTakeru | 0:bc8a5f269990 | 30 | } |