Jump to content

Adson

Members
  • Content Count

    5
  • Joined

  • Last visited

  1. I am using chip M430G2553. Also I made some progress going to update the code. Starting to lean away from interrupts if i can. Going to try and put the count into the main function.
  2. Ok, I just updated the code, still isn't working. Does the fact that i'm getting an actual signal and not a digital one mean I need to go about checking the edges differently? also @@energia I tried the code you posted and it didn't make the light blink, When i hit the button nothing happens. Maybe my board is messed up?
  3. 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++; //}
  4. Adson

    Msp430 Clock Speed

    Thank you for the tip I am using a 1MHz clock. The problem now is I don't think my interrupt it working correctly. I am not getting any output to my leds. PS. I also updated the code, it is now current
  5. Adson

    Msp430 Clock Speed

    Hello there, *new* Found out the speed of my clock. The problem now is I don't think my interrupt is working. *new* 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 was wondering if someone could help me out by telling me what the base clock speed is. I am programming through energia, idk if that will effect the speed at all, but just in case I am. 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 This example code is in the public domain. http://arduino.cc/en/Tutorial/AnalogInput */ //LED PINS int ledPin0 = 2;// select the pin for the LED int ledPin1 = 3; int ledPin2 = 4; int ledPin3 = 5; int ledPin4 = 6; //Inputs int sensorPin = A5; // select the input pin for the potentiometer //Variables int temp=0; //int count=0; int count1=0; int number=5; void setup() { // declare the ledPin as an OUTPUT: pinMode(ledPin0, OUTPUT); pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT); pinMode(ledPin3, OUTPUT); pinMode(ledPin4, OUTPUT); attachInterrupt(sensorPin,inter,RISING); } void loop() { //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 (number%2 == 1){ digitalWrite(ledPin0, HIGH); } else{ digitalWrite(ledPin0, LOW); } count1 =0; } //Interuppt Routine void inter() { count1=count1++; }
×
×
  • Create New...