Bonjour,
Je rencontre ce problème : lorsque que je fais une pause de 1 seconde delay_ms(1000), cette instruction prend en moyenne 3x plus de temps
C'est à dire que pour obtenir une "vraie" seconde, je dois mettre delay_ms(333)
J'utilise un quartz de 12MHz. Je pense que le problème doit venir d'une mauvaise configuration, mais je sais pas laquelle
Mon programme : (J'utilise le compilateur CCS C)
Merci d'avanceCode://LCD Module Connections #define LCD_RS_PIN PIN_E0 #define LCD_RW_PIN PIN_E1 #define LCD_ENABLE_PIN PIN_E2 #define LCD_DATA0 PIN_D0 #define LCD_DATA1 PIN_D1 #define LCD_DATA2 PIN_D2 #define LCD_DATA3 PIN_D3 #define LCD_DATA4 PIN_D4 #define LCD_DATA5 PIN_D5 #define LCD_DATA6 PIN_D6 #define LCD_DATA7 PIN_D7 //End LCD Module Connections #include <16F887.h> #FUSES NOWDT //No Watch Dog Timer #FUSES XT //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD) #FUSES NOBROWNOUT //No brownout reset #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #use delay(clock=12000000) #include<lcd.c> void main() { lcd_init(); while (true) { lcd_putc("\f TEST "); delay_ms(1000); lcd_putc("\f"); delay_ms(1000); } }
-----