void OS_Start() { Efface_Ecran(); printfme("test"); printfme("je suis un bouleyt"); Affiche_Chaine_XY(0, 0, "blah"); Affiche_Chaine_XY_Couleur(0, 1, "rabiougra", BLEU); Efface_Ecran(); while (1) { int i = 0; int boucle = 5000; for (i = 0; i < boucle; i++) { copyright(); Affiche_Alien_1(VERT); reset_Cursor(); } for (i = 0; i < boucle; i++) { copyright(); Affiche_Alien_2(VERT); reset_Cursor(); } } }
/* * Fonction: TIM1_UP_IRQHandler * Role: Interruption du timer 1 sur overflow * Entrée: Rien * Sortie: Rien */ void TIM1_UP_IRQHandler(void) { static int led_courante = 8; /* Acquitement de l'IT timer */ Acquite_Timer1(); /* Allume la led correspondante */ GPIOB->ODR |= 0xFF00; /* Remet a 1 l'etat des led (eteint sur la baguette)*/ GPIOB->ODR &= ~(1<<led_courante); led_courante++; if (led_courante>=16) led_courante = 8; /* Rafraichissement de l'ecran avec les nouvelle infos */ Efface_Ecran(); /* Affichage du texte "baguette" */ Position_Curseur(0,0); ADC_temp = Lire_ADC(ADC_X); ADC_temp = ADC_temp >> 4; sprintf (buffer, "ADC_X = 0x%X", ADC_temp); Ecrit_Chaine_Ecran(buffer); Position_Curseur(0,1); ADC_temp = Lire_ADC(ADC_Y); ADC_temp = ADC_temp >> 4; sprintf (buffer, "ADC_Y = 0x%X", ADC_temp); Ecrit_Chaine_Ecran(buffer); }
/* * Fonction: Init_Interface * Role: Initialisation de la partie affichage (interface) pour afficher le texte et saisir les caracteres * Entrée: Rien * Sortie: Rien */ void Init_Interface(void) { /* Reset de l'ecran */ Efface_Ecran(); /* Affichage du menu ecran */ Position_Curseur(0,0); Ecrit_Chaine_Ecran("ADC_X = "); Position_Curseur(0,1); Ecrit_Chaine_Ecran("ADC_Y = "); }
//---------------------------------------------------------------------------- void OS_Start(T_BOOT_INFO* P_Info) { Efface_Ecran(); Affiche_Message(">>>BOOT JLV OS V1 - 2011 Via GRUB : ", "OK"); Affiche_Informations_Boot(P_Info); Initialisation_GDT(); Affiche_Message(">>>Initialisation de la GDT : ","OK"); //Initialiser le pointeur pile. // NE PAS ETRE DANS UNE FONCTION CAR à la sortie d'une fonction, le regsitre ESP est réinitialisé à la valeur précédant l'appel. // INITIALISE_SS_ESP(SELECTEUR_STACK_NOYAU,DEBUT_STACK_NOYAU); INITIALISE_SS_ESP(SELECTEUR_STACK_NOYAU, DEBUT_STACK_NOYAU) OS_Main(); asm ("NOP"); }