Bonjour à tous,
Je suis entrain de réaliser un contrôle de moteur bipolaire(voiture rc/pont h) à distance (RS232[bauds]/Module 433mhz)
Le contrôle du moteur a pour but de commander la vitesse du moteur(duty cycle/50hz)
Mai voila je suis face à un problème :
Mon algorithme (grossièrement représenté:
Mon Problème : je me suis aperçue que la lecture RS232 étai lente, alors je me suis dit qu'il serai géniale de récupèrer cette perte de temps dans le duty cycle. Mai voila, comment faire ?Code:While(1) { Valeur = LectureUart(); // Lecture Uart (channel,Commande,value,value2,crc) Control_Moteur(Valeur); // 50Hz duty cycle }
j'utilise déja le TIMER0, j'ai compris qu'il existai un TIMER1 avec un registre de 16bits, mais comment l'utilisé ?Code:While(1) { Demarrage_cacul_Temps(); Valeur = LectureUart(); // Lecture Uart (channel,Commande,value,value2,crc) TempUtiliser = Fin_Calcul_Temps(); Control_Moteur(Valeur,TempUtiliser); // 50Hz duty cycle }
Merci de vos conseils & de votre aide.
Programmation avec cxx5
-----