Bonsoir
Je programme un PIC18F1320 en C ( jutilise le compilateur CSS ) et j'ai un soucis de timer
Je voudrais utiliser le timer0 en compteur (mode 16bits) ; qu'il compte les cycles d'horloges avec un prescale de 128.
Ca ne fonctionne pas. Pour mettre hors de cause des pannes de PIC/de quartz et autres, jai essaye une fonction delay_us, ca a marche..
Voila mon code :
#include "C:\Documents and Settings\PIC18F1320\main.h"
void main()
{
int ok;
setup_adc_ports(NO_ANALOGS|VSS _VDD);
setup_adc(ADC_OFF|ADC_TAD_MUL_ 0);
setup_wdt(WDT_OFF);
setup_timer_0(0b10000110);
set_timer0(0);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1) ;
setup_timer_3(T3_DISABLED);
setup_oscillator(OSC_8MHZ|OSC_ INTRC);
// TODO: USER CODE!!
while(TRUE)
{//tout le temps
if( get_timer0() > 100 ) //Si la valeur du timer est superieure a 100
{
if(ok==1) //Si ok est a 1, je mets A3 a VCC et relance le timer
{
output_high(PIN_A3);
set_timer0(0);//on remet la valeur du timer a 0
ok=0;
}
else //Sinon, je mets A3 a 0 et relance le timer
{
output_low(PIN_A3);
set_timer0(0);//on remet la valeur du timer a 0
ok=1;
}
}
}
}
Merci d'avoir jeté un oeil
PS : la doc du PIC en question : http://ww1.microchip.com/downloads/e...Doc/39605F.pdf
-----