My useful library.

Committer:
WakoTakeru
Date:
Sun Feb 26 09:56:08 2017 +0000
Revision:
1:1cd6941022b3
Parent:
0:bc8a5f269990
minor changes

Who changed what in which revision?

UserRevisionLine numberNew 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 }