Hello there,
I am doing a project where I have to read in a square wave and determine the frequency of the wave then output that number.
I found out that I am using a 1MHz clock, then I set up an interrupt to count the edges for my square wave input. I don't think my interrupt is working though. I even changed it to a push button and tried to get it to turn on led's it didn't work.
ps. I'm using energia btw.
pps. I'm using msp430 revision 1.5
Hope someone can help me out
Thanks a bunch!!
if you don't know what energia is energia.nu is where you can find information
My code so far
//LED PINS
int ledPin0 = 3;// select the pin for the LED
int ledPin1 = 4;
int ledPin2 = 5;
int ledPin3 = 6;
int ledPin4 = 8;
//Inputs
volatile int sensorPin = A7; // select the input pin for the potentiometer
//Variables
volatile int temp=0;
//int count=0;
volatile int count1=0;
volatile int number=0;
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(ledPin0, OUTPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(sensorPin, INPUT_PULLUP);
//attachInterrupt(analogRead(sensorPin),inter,CHANGE);
}
void loop() {
if (analogRead(sensorPin == HIGH)){
count1 = count1++;
}
else{
number = count1;
count1 =0;
}
//Check for Frequency
//number = 1000000/count1;
//Make temp Variable to change
temp = number;
//Coverts that number to binary
//Checks if it need to turn on light 5
if(temp >= 16){
digitalWrite(ledPin4, HIGH);
temp = temp - 16;
}
else{
digitalWrite(ledPin4, LOW);
}
//Checks for light 4
if(temp >= 8){
digitalWrite(ledPin3, HIGH);
temp = temp-8;
}
else{
digitalWrite(ledPin3, LOW);
}
//Checks for light 3
if(temp >= 4){
digitalWrite(ledPin2, HIGH);
temp = temp - 4;
}
else{
digitalWrite(ledPin2, LOW);
}
//Checks for light 2
if(temp >= 2){
digitalWrite(ledPin1, HIGH);
}
else{
digitalWrite(ledPin1, LOW);
}
//Checks for light 1
if(temp >= 1){
digitalWrite(ledPin0, HIGH);
}
else{
digitalWrite(ledPin0, LOW);
}
delay(5);
//count1 =0;
}
//Interuppt Routine
//void inter()
//{
//count1=count1++;
//}