Znam jas da je moguce da pricas sa SIM800 i Atmega2560 sa ove pinove koje su vec iskoristene samo problem je sto oficijalna biblioteka nije predvidzena za to.
Nema veze to sa shield ili stand-alone.
Ja vec sam koristio oficijalna biblioteka sa Arduino Mega + Shield baziran na Quectel M10. Isto sam koristio i Arduino Uno i modul sa SIM800L. Ali za to pinovi koi koristis sa ovaa biblioteka se setiraju tu:
https://github.com/BlueVia/Official-Arduino/blob/master/GSM3SoftSerial.cpp
Kao sto vidis za mega moze da se koriste i druge pinove koje zelis samo sto nije predvidzeno sa HW USART, uradzena je sa SW SERIAL za koje treba da su sa INT mogucnost, potocno samo za pin RX.
Ne mogu da definsiem na primer ovako:
/* These can be used in Arduino Mega
#define __TXPIN__ 17 //setiranje na TX pin - SIM800_TXD D17(RX2) PH0
#define __RXPIN__ 10 //setiranje na RX pin - SIM800_RXD D16(TX2) PH1
#define __RXINT__ 4 //11 // ovde je problem na 17 nema interupt mogucnost
Na PH0 i PH1 nema INT mogucnost vidi na
pinout.
Ono sto si ti nasao je firmware za sam modul SIM800 nije primer za kosristenje.
Meni treba da se preradi biblioteka da radi sa HW seriski portom. Vidim da nije bas jednostavno, u tom biblioteku se korsite i neke specificne funkcije tipa:
Code:
void GSM3SoftSerial::spaceAvailable()
{
// If there is spaceAvailable in the buffer, lets send a XON
finalWrite((byte)__XON__);
}
Koje se referenciraju i u ostatak koda... Znaci kako da se portira umesto GSM3SoftSerial.cpp da se koristi HardwareSerial.cpp ?