The SD library uses pin 13 for clock. I’m not sure if the GSM library uses it as well.
I’ve tested my code with the SD library (#include <SPI.h> and #include<SD.h>) commented out and the GSM library included and my program runs as expected. However, when I include the libraries that were commented out, the code does not run (I’ve issued print statement immediately after void loop() and that print statement does not get called. It could be that I’m stuck in another loop (and this is likely the case) but I will keep checking).
If it helps, the SD library uses the SPI library which uses the SoftwareSerial library.
The headers for my program are:
#include <SD.h> //Commenting this library out makes the code behave correctly.
If they aren’t compatible, do I have to use two Atmegas and basically dedicate one to be a GSM controller and the other to be an SD card controller?