salut,
je suis en train de realiser une interface pour 3 moteurs PàP.
j'utilise pour la realiser un 16F877 et 3 L298.
tout fonctionne correctement sauf le troisieme L298 relié sur les PIN B2 à B7...
sur ces pin, toutes fonctionnes bien sauf RB3 qui ne menvoi aucun sigal.
et ceci sur 3 16F877A différents.
j'ai changé le L298, toujours rien.
je l'ai programmé avec CCS.
voic la config des ports :
les defines :Code:#fuses HS,NOWDT,NOBROWNOUT,PUT,//protect #use delay(clock=20000000) #use fast_io (A) #use fast_io (E) #use fast_io (C) #use fixed_io (B_outputs = PIN_B0, PIN_B1, PIN_B2, PINB3, PIN_B4, PIN_B5, PIN_B6, PIN_B7) #use fixed_io (D_outputs = PIN_D0, PIN_D1, PIN_D2, PIN_D3, PIN_D4, PIN_D5, PIN_D6, PIN_D7) #use fixed_io (C_outputs = PIN_C4, PIN_C5, PIN_C6, PIN_C7)
et enfin l'utilisation :Code:#define IN1Z PIN_B7 #define IN2Z PIN_B6 #define IN3Z PIN_B3 // pose pobleme #define IN4Z PIN_B4 #define ENAZ PIN_B2 #define ENBZ PIN_B5
Code:output_low(ENAZ); output_low(ENBZ); // desactivation des moteurs pàp avant de changer de signal... switch (phaseZ) { case 1: output_high(IN1Z); output_low (IN2Z); output_high(IN3Z); output_low (IN4Z); break; case 2: output_low (IN1Z); output_high(IN2Z); output_high(IN3Z); output_low (IN4Z); break; case 3: output_low (IN1Z); output_high(IN2Z); output_low (IN3Z); output_high(IN4Z); break; case 4: output_high(IN1Z); output_low (IN2Z); output_low (IN3Z); output_high(IN4Z); break; } output_high(ENAZ); output_high(ENBZ);
merci d'avance pour votre aide.
marc
-----