summaryrefslogtreecommitdiff
path: root/n
diff options
context:
space:
mode:
authordalmais2005-04-17 13:37:47 +0000
committerdalmais2005-04-17 13:37:47 +0000
commit9f81b8d06b25cc9e769fe20547ef74bcdf268c2a (patch)
tree35189cbd279f1a2e382132f991aa812d714483d4 /n
parent043a95244ff7c99929c71c398970a9c836f87848 (diff)
mise à jour de etat à 1 et activation de la fonction tourelle.
Diffstat (limited to 'n')
-rw-r--r--n/es/src/main.c12
-rw-r--r--n/es/src/tourelle.c40
-rw-r--r--n/es/src/tourelle.h4
3 files changed, 31 insertions, 25 deletions
diff --git a/n/es/src/main.c b/n/es/src/main.c
index c2ed84c..9b9225e 100644
--- a/n/es/src/main.c
+++ b/n/es/src/main.c
@@ -32,13 +32,13 @@
/* +AutoDec */
/* -AutoDec */
-static uint8_t etat = 1; // etat de fonctionnement du module
-static uint8_t sens = 1; // sens du scan
-static uint8_t continu = 0; // demande fait d'un envoi en continu sur le RS232
-static uint8_t envoie = 0; // demande fait par I2C d'un envoi
-static char buffer_serie ; // buffer RS232
+uint8_t etat = 1; // etat de fonctionnement du module
+uint8_t sens = 1; // sens du scan
+uint8_t continu = 0; // demande fait d'un envoi en continu sur le RS232
+uint8_t envoie = 0; // demande fait par I2C d'un envoi
+char buffer_serie ; // buffer RS232
const uint16_t prescaler = 1024;// prescaler
-static uint16_t tableau_longueur[25];
+uint16_t tableau_longueur[25];
int main (void)
{
diff --git a/n/es/src/tourelle.c b/n/es/src/tourelle.c
index 1a65864..7d07298 100644
--- a/n/es/src/tourelle.c
+++ b/n/es/src/tourelle.c
@@ -40,12 +40,15 @@ const uint8_t MILIEU = 2;
* 1 = continu */
uint16_t tableau_longueur[25];
-/*
+
extern uint8_t continu;
+
extern uint8_t etat;
+
extern uint8_t envoie;
+
extern uint8_t sens;
-*/
+
uint8_t valeur_actuelle1 = 0;
uint8_t valeur_actuelle2 = 0;
uint8_t angle_actuel1 = 0;
@@ -60,17 +63,17 @@ uint8_t nombre_ancien = 0;
void tourelle_init (uint16_t prescaler)
{
delay = 0;
- DDRB = 0x07;
+ DDRC = 0x80;
SFIOR |= 0x01; // prescaler autorisé
- crenaux(delay,PORTB,7); // on met le capteur à 0°
+ crenaux(delay,PORTC,7); // on met le capteur à 0°
delay_ms(20L);
- crenaux(delay,PORTB,7);
+ crenaux(delay,PORTC,7);
delay_ms(20L);
- crenaux(delay,PORTB,7);
+ crenaux(delay,PORTC,7);
switch(prescaler)
{
@@ -107,16 +110,16 @@ void tourelle_init (uint16_t prescaler)
void crenaux(uint8_t temps, uint8_t port, uint8_t pin)
{
uint8_t delay_crenaux = 0;
- port |= pin; // en admettant que je sois sur le portb et la troisième pin
+ port |= _BV (pin); // en admettant que je sois sur le portb et la troisième pin
for(delay_crenaux=0;delay_crenaux<temps;delay_crenaux++)
{
delay_us(10L);
}
- port &= 0xFF - pin; // on remet l'impulsion à 0
+ port &= ~_BV (pin); // on remet l'impulsion à 0
}
-void rs232_callback (uint8_t cmd, uint8_t size, uint8_t *args, uint8_t *etat,uint8_t *envoie)
+void rs232_callback (uint8_t cmd, uint8_t size,uint8_t* args)
{
#define c(cmd, size) (cmd << 8 | size)
switch (c (cmd, size))
@@ -126,26 +129,26 @@ void rs232_callback (uint8_t cmd, uint8_t size, uint8_t *args, uint8_t *etat,uin
/* Commands. */
case c ('c', 0):{ // continu
- (*etat) = 1;
- (*envoie) = 1;
+ etat = 1;
+ envoie = 1;
// if(c(0,1)) sendValeur(); /// METTRE LA BONNE FONCTION
}break;
case c ('u',0):{ // unique
- (*envoie) = 0;
+ envoie = 0;
// sendValeur(); /// METTRE LA BONNE FONCTION
etat = 0;
}break;
case c ('s',0): { // stop
- (*etat) = 0;
- (*envoie) = 0;
+ etat = 0;
+ envoie = 0;
}break;
}
}
-void TournerTourelle(uint8_t sens)
+void TournerTourelle(void)
{
if( delay==delayMax || delay==delayMin)
{
@@ -163,7 +166,7 @@ void TournerTourelle(uint8_t sens)
}
delay += 2 * sens;
- crenaux(delay,PORTB,0x07);
+ crenaux(delay,PORTC,0x07);
}
int16_t mesurer(void)
@@ -181,6 +184,9 @@ SIGNAL (SIG_INTERRUPT1)
uint8_t i = 0;
uint8_t temp = 0;
+
+ TournerTourelle ();
+
for(i=0;i<(MILIEU*2+1);i++)
{
if(temp < tableau_longueur [i]) temp = tableau_longueur[i];
@@ -207,6 +213,6 @@ SIGNAL (SIG_INTERRUPT1)
}
}
-
+ etat = 1;
}
diff --git a/n/es/src/tourelle.h b/n/es/src/tourelle.h
index edf851c..402d19f 100644
--- a/n/es/src/tourelle.h
+++ b/n/es/src/tourelle.h
@@ -32,8 +32,8 @@
void tourelle_init (uint16_t prescaler);
void crenaux(uint8_t temps, uint8_t port, uint8_t pin);
-void rs232_callback (uint8_t cmd, uint8_t size, uint8_t *args, uint8_t *etat,uint8_t *envoie);
-void TournerTourelle(uint8_t sens);
+void rs232_callback (uint8_t cmd, uint8_t size, uint8_t *args);
+void TournerTourelle(void);
int16_t mesurer(void);
void Timer_tourelle(void);