Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

internal oscillator

$
0
0

Hello I am developing a program which gives a few pulses for approximately every two milliseconds but I have to do a production of 3000 and try them in 15 msp430f2001, 9 dan pulses every 2 milliseconds and others don't bear pulses well take much to pulse and not is do associate the code to make look it please and they can give me an answer,not be if the internal clock must be set better because I have to do it with the internal clock, because that same program I came out on the ka1 fresscale and not fault any time thank you

//Programa_prueba_2
#include <msp430.h>
/*
 * main.c
 */
void config(void);
void contador_pulso_high(void);
void contador_pulso_low(void);
void pulsos (void);
void decima_milisegundo(void);
void milisegundo(void);
void segundo (void);
//Variables a modificar
const int tiempo_segundos = 100;//Tiempo para 3:30 min
//Variables a modificar
typedef unsigned int uint;
uint i,j,milisegundo_pulso,segundo_pulso,minuto_pulso,contador;
uint a,b,c;
void main(void) {
config();
P1OUT &=~BIT2;
segundo();
while(segundo_pulso <= tiempo_segundos){
   pulsos();
   }
   if(segundo_pulso > tiempo_segundos){
  P1OUT &=~BIT2;
  segundo_pulso = 220;
   }
}
void config (void){
    WDTCTL = WDTPW | WDTHOLD;   // Stop watchdog timer
    DCOCTL = CALDCO_1MHZ;
    BCSCTL1= CALDCO_1MHZ;
    P1DIR |= BIT2;
    milisegundo_pulso = 0;
    segundo_pulso = 0;
    minuto_pulso = 0;
    contador=0;
}
void contador_pulso_high(void){
   P1OUT|=BIT2;
   for(i=0;i<=1;i++);
}
void contador_pulso_low(void){
   P1OUT &=~BIT2;
   for(j=0;j<=25;j++){
      decima_milisegundo();
   }
   milisegundo_pulso++;
      if(milisegundo_pulso== 1000){
         milisegundo_pulso = 0;
         segundo_pulso++;
      }
}
void pulsos (void){
contador_pulso_high();
contador_pulso_low();
}
void decima_milisegundo(void){
   for(a=0;a<=10;a++);
}
void milisegundo(void){
   for(b=0;b<=10;b++){
  decima_milisegundo();
   }
}
void segundo (void){
   for(c=0;c<=1000;c++){
      milisegundo();
   }
}

Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>