2023-02-14 21:16:47 +00:00

39 lines
899 B
C++

#include "Lewis.h"
#include <TimerOne.h>
Lewis Morse;
void setup() {
// open the serial port
Serial.begin(9600);
// wait for serial port to connect on 32u4 boards (eg. Leonardo)
while (!Serial){;}
// use the long form of Morse.begin to allow interrupts:
// Morse.begin(rx_pin, tx_pin, words_per_minute, use_interrupts)
Morse.begin(9, 9, 20, true);
// use the TimerOne library for a 100Hz timer interrupt
Timer1.initialize(10000);
Timer1.attachInterrupt(MorseISR);
}
void loop() {
// send each serial byte to Morse output
if (Serial.available()) {
int inByte = Serial.read();
Morse.write(inByte);
}
// send each Morse byte to serial port
if (Morse.available()) {
int inByte = Morse.read();
Serial.write(inByte);
}
delay(500);
}
// your own defined interrupt function that includes the Morse.timerISR call
void MorseISR()
{
Morse.timerISR();
}