Bonjour,
Dans le cadre d'un projet de robot tondeuse, je me suis lancé dans la programmation des PIC.(Je travaillais jusqu'alors sur Arduino).
Je vais conserver l'Arduino et confier la gestion des moteurs à un ou des PIC( Commande variateur brushless + odométrie et régulation vitesse moteur de coupe etc ..).
J'ai donc glané des informations sur le net et me suis lancé dans des premiers essais de programmation avec un PIC16f84(je les ai de disponibles sous la main)et le logiciel MPLAB et le compilateur CCC5x.
J'ai trouvé beaucoup d'informations sur le net mais souvent, le compilateur ou logiciel de programmation n'est pas indiqué !!! J'ai donc des soucis de compatibilité de programme !!!
exemple d'un bout de code qui fonctionne avec MPLAB et CC5xsuivi d'un bout de code qui ne fonctionne pas (logiciel ou compilateur innaproprié, j'en ai essayé plusieurs avec MPLAB):
#include "define.h"
#include "interrupt.c"
#include "timer.c"
#pragma config WDTE=off, FOSC=HS
#pragma bit P1 @ PORTB.0 // poussoir gauche
#pragma bit P2 @ PORTB.1 // poussoir droite
void main(void)
{
//TRISC=0x80;
TRISB=0x3; // port B0 et B1 en entrée ( poussoirs )
PORTB=0;
setupTMR0(); // configuration et mise en service du timer 0
nbpas=0; // nbpas = 200 x 83,5 µS = 16,7 mS
temps=0; // cette variable est incrémenté toute les 16,7 mS ( interrupt )
consigne=15; // consigne de position au départ ( milieu )
// la consigne peut varier de 6 à 25
// soit de (6x87,5 µS)=0,5 mS à (25x87,5 µS)=2,18 mS
copiecons=15; // copie pour la routine d'interruption
T0IE=1; // validation des interruptions pour timer 0
GIE=1; // mise en service globale des interruptions
while(1)
//exemple de code que je n'arrive pas à compiler//
#include <16F877.H>
#fuses HS,NOWDT,NOPROTECT, PUT, NOLVP
#use delay(clock=20000000) // A configurer en fonction de votre quartz
// il se peut que des tempos soit à revoir.
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, parity=N, bits=8)
#define all_out 0x00; /* port en sortie*/
#define all_in 0x01; /* port en entree*/
#define SET PIN_B7 // Definition de la touche SET
benjamin.b
Inscrit(e) (le) 02 juil. 2012Déconnecté Dernière activité juin 12 2013 07:27