Aller au contenu


Photo
- - - - -

Programmation PIC langage C


  • Veuillez vous connecter pour répondre
6 réponses à ce sujet

#1 benjamin.b

benjamin.b

    Membre

  • Membres
  • 20 messages

Posté 07 juin 2013 - 07:16

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

#2 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 07 juin 2013 - 10:03

Bonjour, je n'utilise pas css mais HitechC. Par contre si tu me donne les messages d'erreur que tu reçois je peu peut être t'aider !

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#3 benjamin.b

benjamin.b

    Membre

  • Membres
  • 20 messages

Posté 07 juin 2013 - 11:54

Bonjour et merci pour ta réponse.

Je t'explique mon problème:
J'ai un projet servo.zip que je compile avec CC5x que j'ai regardé pour voir les problème de commande de Servo et Timer !!(Jusque là j'avais compris)

Ensuite j'ai rouvert un vieux projet Bipède que j'ai essayé de compiler avec Hitec, CCS C compiler que je n'arrive pas a installer et tout le reste !!!

Avec Hitec j'ai des erreurs d'ouverture include<biped.h> ???

Je suis un peu dérouté par les petites différences de déclaration et de paramétrage des divers complateur !!!

A partir d'un exemple qui fonctionne j'arrive à comprendre, mais quand ça marche pas ?? C'est plus compliqué pour moi.


Merci

Fichier(s) joint(s)

  • Fichier joint  servo.zip   2,94 Ko   109 téléchargement(s)
  • Fichier joint  Bipede.zip   13,62 Ko   97 téléchargement(s)


#4 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 07 juin 2013 - 04:27

Je vais voir ça !

Je ne garantis rien mais on sait jamais :) ;)

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#5 benjamin.b

benjamin.b

    Membre

  • Membres
  • 20 messages

Posté 08 juin 2013 - 07:24

Je vais voir ça !

Je ne garantis rien mais on sait jamais :)/> ;)/>

Merci !
J'ai commence et regarder avec les erreurs de compilation avec hitec.

Erreurs de majuscule a la place de minuscule sur des define, for, etc !!
Manque void dans arguments de fonctions sans variables, mauvaise definition pour les interuptions ,les entrees pin etc......

En fait, ce qui est lourd et complique pour moi, c'est de savoir avec quel logiciel (compilateur) a ete devellope le programme !!
Je perds du temps sur de broutilles et ne me consacre pas sur l'essentiel !!

#6 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 09 juin 2013 - 09:30

En fait, ce qui est lourd et complique pour moi, c'est de savoir avec quel logiciel (compilateur) a ete devellope le programme !!

hello
je ne sais pas si je suis hors sujet mais pour le projet servo, le compilateur qui est spécifié dans le fichier projet est bien CC5X (build options)

en fait le fichier principal (dans lequel est le main s'appelle m.c
je n'ai pas installé CC5X et ne peux aller plus loin dans les commentaires
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#7 benjamin.b

benjamin.b

    Membre

  • Membres
  • 20 messages

Posté 10 juin 2013 - 06:14

hello
je ne sais pas si je suis hors sujet mais pour le projet servo, le compilateur qui est spécifié dans le fichier projet est bien CC5X (build options)

en fait le fichier principal (dans lequel est le main s'appelle m.c
je n'ai pas installé CC5X et ne peux aller plus loin dans les commentaires

En fait le projet servo fonctionne et je peux le compiler avec CC5X, mon probleme vient plutot du projet bipede !!
Les instructions en C ne sont pas tout a fait identique, et je ne sais pas quel compilateur a ete utilise pour ce projet ?
D'autant plus que je n'arrive pas a faire fonctionner C Compiler dans MPLAB !! Je n'ai donc pas pu veriffier ce compilateur !!




0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users