안녕하세요, 나는 서로 다른 코드를 2 개 만들었습니다. 그런 다음 작동하는 것을 확인한 후에 문제를 해결했습니다. 내 GSM 모듈을 제어하기 위해 GSM.h를 사용했고, GPS를 사용하기 위해 SoftwareSerial.h를 사용했습니다.Pin RX, SoftwareSerial Arduino없이 TX 정의
나는 이것들을 코드에 결합하려고 시도했는데,이 2 개의 라이브러리는 서로 충돌합니다.
나를 도와 줄 수 있습니까?
https://github.com/PaulStoffregen/AltSoftSerial
는 일련의 특정 핀을 사용하도록 요구되어이 라이브러리의 단점 :
이
내 코드//GSM
#include <GSM.h>
#define PINNUMBER "3805"
GSM gsmAccess; // include a 'true' parameter for debug enabled
GSM_SMS sms;
//N de telefone de envio
char remoteNumber[20]= "914181875";
//Conteudo do SMS
char txtMsg[200]="Tester";
int val = 0;
//GPS
//#include <SoftwareSerial.h>
#include <TinyGPS.h>
TinyGPS gps;
SoftwareSerial ss(4, 3);
static void print_float(float val, float invalid, int len, int prec);
int button = 7;
void setup()
{
// initialize serial communications
pinMode(button, INPUT);
Serial.begin(9600);
Serial.println("SMS Messages Sender");
// connection state
boolean notConnected = true;
// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in quotes
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Not connected");
delay(1000);
}
}
Serial.println("GSM initialized");
}
void loop()
{
val = digitalRead(button);
if (val == HIGH){
sendSMS();
}
}
void sendSMS(){
Serial.print("Message to mobile number: ");
Serial.println(remoteNumber);
// sms text
Serial.println("SENDING");
Serial.println();
Serial.println("Message:");
Serial.println(txtMsg);
// send the message
sms.beginSMS(remoteNumber);
sms.print(txtMsg);
sms.endSMS();
Serial.println("\nCOMPLETE!\n");
}
. [좋은 질문을하는 방법] (http://stackoverflow.com/help/how-to-ask)을보고 문제가 무엇인지, 어떤 오류가 있는지, 무엇을 기대하는지 얻을, 등등. –