Stap 3: Bereid je arduino
Omdat de seriële buffer van de arduino een limiet van 64 bytes heeft en een sms in de PDU-modus is een grotere die we moeten vergroten de grootte van de seriële buffer. De balg procedure zal advertentie een extra arduino in uw software van de arduino met een grotere buffergrootte.
De oplossing is het creëren van een volledige kopie van het kernprogramma arduino (het is echt niet zo groot en schijfruimte is goedkoop), wijzig de buffergrootte in het nieuwe kernprogramma en vervolgens naar het maken van een nieuw bestuur die wordt vermeld in de Arduino IDE die gebruik maakt van dit nieuwe core directory. De te volgen stappen zijn als volgt...
Het geheel van de Arduino core code bevindt zich in een map vergelijkbaar
C:\Program Files\arduino-1.0.5\hardware\arduino\cores\arduino maken van een volledige kopie van deze map en sla het op
C:\Program Files\arduino-1.0.5\hardware\arduino\cores\arduino_256_serialbuf die de hard gecodeerde buffergrootte wordt opgeslagen in een bestand genaamd HardwareSerial.cpp
Hier is de standaard definitie gelegen in de buurt van de bovenkant van het dossier
#define SERIAL_BUFFER_SIZE 64 Bewerk het HardwareSerial.cpp bestand in de nieuwe map en wijzig de buffergrootte
#define SERIAL_BUFFER_SIZE 256 nu we een optie toevoegen aan het boards.txt bestand moeten te gebruiken voor deze nieuwe map. Het bestand boards.txt moet worden in een map die vergelijkbaar
C:\Program Files\arduino-1.0.5\hardware\arduino hieronder is deel van het boards.txt-bestand. Het eerste gedeelte is voor de standaard Arduino Uno. U moet toevoegen van een sectie eronder die wordt weergegeven in de Arduino IDE als Arduino Uno (256 seriële Buffer). U kunt zien dat de kern-map wordt verwezen naar onze nieuwe directory met het gewijzigde bestand (uno256.build.core=arduino_256_serialbuf)
##############################################################
Uno.name=Arduino Uno uno.upload.protocol=arduino uno.upload.maximum_size=32256 uno.upload.speed=115200 uno.bootloader.low_fuses=0xff uno.bootloader.high_fuses=0xde uno.bootloader.extended_fuses=0x05 uno.bootloader.path=optiboot uno.bootloader.file=optiboot_atmega328.hex uno.bootloader.unlock_bits=0x3F uno.bootloader.lock_bits=0x0F uno.build.mcu=atmega328p uno.build.f_cpu=16000000L uno.build.core=arduino uno.build.variant=standard
##############################################################
uno256.name = Arduino Uno (256 seriële Buffer) uno256.upload.protocol=arduino uno256.upload.maximum_size=32256 uno256.upload.speed=115200 uno256.bootloader.low_fuses=0xff uno256.bootloader.high_fuses=0xde uno256.bootloader.extended_fuses=0x05 uno256.bootloader.path=optiboot uno256.bootloader.file=optiboot_atmega328.hex uno256.bootloader.unlock_bits=0x3F uno256.bootloader.lock_bits=0x0F uno256.build.mcu=atmega328p uno256.build.f_cpu=16000000L uno256.build.core=arduino_256_serialbuf uno256.build.variant=standard
##############################################################
Dat is alles wat die u hoeft te doen. Nu wanneer u wilt dat een grotere seriële buffer (voor een specifieke board) je Kies deze optie als het bord in de Arduino IDE en compileren als normaal. Als u kappen van andere instellingen in de kern van de Arduino wilt, is dit ook een uitstekende manier om het te doen zonder het wijzigen van de oorspronkelijke bron.