De code Basic au code C - pic18f-MPLAB

Fermé
casiloto Messages postés 4 Date d'inscription dimanche 2 mai 2010 Statut Membre Dernière intervention 28 mai 2010 - 28 mai 2010 à 00:30
Bonjour,

je veux faire un programme de conversion analogique/numérique d'un PIC 18F448, en rentrant une tension à l'entrée ( potentionmète) et d'afficher les résultats sur LCD.

J'ai trouvé dans un livre de Christian Tavernian le code suivant en BAsic:

program ADCsurLCD1

dim resultat as float
texte as char[20]

main:
TRISB = 0 ' PORT B en sortie
ADCON1 = %10000010 ' RA5 à RA0 entrees analogiques
Delay_ms(1000)
Lcd_Init(PORTB) ' Initialisation afficheur
Lcd_Cmd(LCD_CURSOR_OFF) ' Effacement curseur
Lcd_Cmd (LCD_CLEAR) ' Effacement afficheur
Lcd_Out (1,5, "Tension") ' Affichage texte fixe

while true
resultat = ADC_read(2) ' Lecture de RA2
resultat = resultat*(5./1024.) ' Normalisation a 5 V
FloatToStr(resultat, texte) ' Conversion en chaine
texte[5] = 0 ' Troncature de la chaine
Lcd_Out(2, 5, texte) ' Affichage de la chaine
Lcd_Out(2, 11, "V ") ' Affichage texte fixe
wend
end.

et je voulais le transformer en C, pour compiler dans MpLAB C18. VOila ce ke jai fait:

#include <p18f448.h>
#include <adc.h>
#include <delays.h>
#include <xlcd.h>
#pragma config WDT = OFF
#pragma config OSC = HS

void main (void);
char texte;
float resultat;

void main()
{
TRISB=0;
ADCON1= 0x82;
Delay1TCY();
OpenXLCD( EIGHT_BIT & LINE_5X10);

WriteCmdXLCD( CURSOR_OFF );
WriteDataXLCD("tension");

While(1)
{
convertADC();
resultat= ReadADC(2);
resultat= resultat*(5./1024);
FloatTostr(resultat,texte);
texte[5]= 0;
WriteDataXLCD(texte);
WriteDataXLCD("V");
closeADC();
}
}

jai pas reussi à compiler le code. y avait d'erreur. eck qun peut m'aider svp? merci bcp bcp
A voir également: