Aller au contenu


Photo
- - - - -

Choix à faire


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

#1 Geeks

Geeks

    Membre

  • Membres
  • 26 messages

Posté 09 octobre 2010 - 04:29

Bonjour tout le monde, ou re bonjour tout le monde,

J'exposait dans un autre post des choix drastiques fait jusque alors et qui me convenais parfaitement niveau PIC 16FX (remplacez X par 84/876A) cadencé en horloge externe de 4 à 20 MHz. L'assembleur pronais chez moi une place assez importante car simple (a mon goût), efficace et surtout pas limité par MPLAB.

Seulement voila, ma problématique actuelle dans mes projets sont que la taille d'un Pic 16F876A est trop grosse pour mon application et puis je pense qu'il y a plus petit pour autant de taille mémoire programme ainsi que l'utilisation de l'horloge interne à 4MHz.

Seulement il y a un hic ! Vers quel Pic à mémoire flash directement programmable en C puis-je me tourné ?
Je possède un ICD2 (c'est une chance me dirais vous mais encore que c'est facilement disponible) et bien sûr je le synchronise avec MPLAB.
J'aimerais tant que faire ce peu trouvé une doc pour apprendre le Pic en C pour pouvoir m'y essayer et tenter d'avancer un peu.

Auriez-vous des indications à ce sujet, car les 3/4 de mes projets utiliserons de l'UART ou de l'I2C et des afficheurs. Il faut qu'il soit facilement programmable en C et enfin qu'il ne soit pas non plus fait pour les paniers percés !

Merci

#2 zeqL

zeqL

    Membre passionné

  • Membres
  • PipPipPip
  • 393 messages
  • Gender:Male

Posté 09 octobre 2010 - 06:07

http://www.microchip.com/productselector/MCUProductSelector.html

3 clics pour y accéder depuis microchip.com

Tous les pics sont programmables en C ou même n'importe quel langage, du moment que tu aie un compilateur adéquat.

#3 Geeks

Geeks

    Membre

  • Membres
  • 26 messages

Posté 09 octobre 2010 - 08:14

Je connais le site... Heureusement sinon je n'aurais pas eu la connaissance de l' ICD2 !
Ma question était plus par rapports aux connaissances du site, on c'est je pense mal compris!

Mes investigations m'ont amenée à considérer le Pic 16F88 car il rentre parfaitement dans les cahiers des charges que j'ai actuellement sous la main. Il me reste une chose à avoir, un compilateur C et une doc qui explique le C pour pic.

Justement ou puis-je trouvé une documentation sur le C appliqué au pic ?

Voilu

#4 zeqL

zeqL

    Membre passionné

  • Membres
  • PipPipPip
  • 393 messages
  • Gender:Male

Posté 09 octobre 2010 - 09:13

Il y a un compilateur C inclus de base dans MPLAB normalement.

Ensuite concernant le C et les µC et plus particulièrement les PICs, la première question est : sais-tu programmer en C ?

Si c'est le cas, tu n'auras besoin que d'avoir les fonctions spécifiques aux µC.

Il y a 2 compilateurs C intégrés à MPLAB :

- CCS
- HI-TECH C PRO (version Lite, qui ne fait aucune optimisation du code)

Tu peux trouver le manuel du Hi-Tech ici (User Guide): http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en542849
Tu y trouvera les fonctions spécifiques aux PIC


Si tu ne connais pas le langage C, bah apprend déjà les bases pour "PC" et ensuite tu pourra t'attaquer aux PIC. Il ne faut pas un niveau de ouf, mais savoir utiliser des fonctions, les pointeurs, etc, pas besoin d'avoir des notions ultra-avancées dans un premier temps.


#5 Geeks

Geeks

    Membre

  • Membres
  • 26 messages

Posté 09 octobre 2010 - 11:47

De mémoire :
string text = "Salut, je crois de mémoire que le C s'écrit ainsi et que je saurais alors me dépatouillé";
if(text != null) {
printf text;
}
else {
printf "Aucune données saisie!";
}
}[/code]

Donc si ça ne va pas plus loin que ça, je devrais m'en sortir alors !

#6 zeqL

zeqL

    Membre passionné

  • Membres
  • PipPipPip
  • 393 messages
  • Gender:Male

Posté 10 octobre 2010 - 12:06

C'est pas gagné.

Ca c'est du C++ puisque tu utilises le type string... :)

#7 Geeks

Geeks

    Membre

  • Membres
  • 26 messages

Posté 10 octobre 2010 - 01:49

Je rêve ou tu pinaille la !

#8 matt29

matt29

    Nouveau membre

  • Membres
  • 9 messages

Posté 10 octobre 2010 - 02:54

En C, l'utilisation des chaines de caractères est plus compliqué qu'en C++.
En ce qui concerne les autres types de variables, c'est assez similaire.
Je ne sais pas si pour ton projet si tu as besoin de chaines de caractères.
Si tu en as besoin, il faudra que tu plonge dans le monde des pointeurs (mais si tu as fait de l'assembleur cela doit être simple).
Sinon, tu peux faire des programmes assez simple comme tu l'as écrit précédemment.

Exemple du programme en C que tu as écrit en C++:

int main () { /* Entier sur Linux (int) et absence de type sur Windows (void) */
const char * text = "Salut, je crois de mémoire que le C s'écrit ainsi et que je saurais alors me dépatouillé";
if(text != null) { /* Vu que tu as initialisé statiquement, tu n'es pas obligé de faire la vérification */
printf("%s",text); /* %s pour string (à ne pas confondre avec le type en C++) */
}
else {
printf("Aucune données saisie!");
}
}
[/code]

Je n'ai jamais programmé sur un PIC, mais je connais assez bien le C.
Si tu as des questions n'hésite pas.

Matt

#9 Geeks

Geeks

    Membre

  • Membres
  • 26 messages

Posté 10 octobre 2010 - 03:13

Oui, héhé!
Tien tu me parle de linux... J'avais un vieux projet d'un noyau qui devais tourné en solitaire sans un disque dur de portable et qui devait avec un FPGA piloter un robot. Il faudra que je me ressorte de la doc la dessus. Il y a peut-être mieux maintenant que ce gros bazar :)

#10 zeqL

zeqL

    Membre passionné

  • Membres
  • PipPipPip
  • 393 messages
  • Gender:Male

Posté 10 octobre 2010 - 03:34

Je pinaille entre C et C++ car si ton compilateur est un compilateur C il ne comprendra pas le C++ :)

Il y a bien évidemment le type string, mais aussi les classes, la gestion dynamique de la mémoire, etc, qui différent entre C et C++.

Regarde le manuel dont j'ai indiqué le lien, ca te permettra de voir ce qui est possible de faire en C avec le µC, et comme je l'ai dit sur ton post de présentation tu peux parfois accéder au code en asm. :)

#11 Geeks

Geeks

    Membre

  • Membres
  • 26 messages

Posté 10 octobre 2010 - 03:41

Effectivement, tu a raison de le marqué pour la différence entre C et C++.
Ceci dit, je voulais te montrer que j'avais quelques base. Je te rassure, je suis arrivé à utiliser du C pour un 16F876 en simulation avec PICC.

Maintenant je bloque sur quelques petites choses toutes bêtes et qui pour le moment porte à confusion car souvent mal utilisé et mal expliqué.




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

0 members, 0 guests, 0 anonymous users