So I am using an Arduino Uno and the serial port freezes up sporadically after I flip the switch to trigger the interrupt. I have read a lot about why this maybe. Initially I began with all of my code in the interrupt but moved it to the main loop because I thought it might have been an interrupt conflict. Then I removed most of the matrix multiplications because I thought it was a pointer issue. I also switched to a standard Arduino interrupt rather than using a PinChangeInt interrupt. Finally, I figured it must be a buffer overflow issue so I placed Serial.flush() commands around each Serial.print so as to make sure that I wouldn't overflow the buffer. I have taken all of the complexity of the code out and below is the code I am left with. It still freezes up and I am completely out of ideas as to why this issue continues to occur.
Below is a screen shot of the serial monitor. This is the first time I have seen "jibberish". Usually it freezes midline or just stops responding to changing the interrupt.
Any help would be appreciated.
#include <PinChangeInt.h>
#include <SPI.h>
#include <MatrixMath.h>
int updated = 0;
int previously_updated = 0;
void setup() {
//PCintPort::attachInterrupt(5, update, CHANGE);
attachInterrupt(0, update, CHANGE);
SPI.begin();
Serial.begin(9600);
}
void loop() {
if (updated == 0){
if (previously_updated == 0){
Serial.println("I am in previouslyupdated");
delay(50);
previously_updated =1;
}
else
{
Serial.println("I am in else");
delay(50);
}
Serial.println("Updated");
delay(50);
updated =1;
}
}
void update()
{
updated = 0;
}
Is that the exact code you used? I tried that and did not have any problems:
I am in previouslyupdated
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated
I am in else
Updated