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();
}
}