1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

programation de pic

Discussion dans 'Informatique' créé par Niciolas31270, 10 Janvier 2010.

  1. Niciolas31270

    Niciolas31270 Apprenti

    Messages:
    107
    Inscrit:
    6 Décembre 2009
    programation de pic
    Je voulait savoir si certain d'entre vous pouraient me renseigner sur la programmation de circuit intégré appellè pic.
    D'après moi il se programment en language c++
     
  2. AZP

    AZP Ouvrier

    Messages:
    270
    Inscrit:
    23 Novembre 2009
    Localité:
    Montagnac (34)
    programation de pic
    La bible est la :wink:

    http://www.abcelectronique.com/bigonoff/

    Le PIC a la base, c'est de l'assembleur (comme tout µProcesseur ou µControlleur), mais après il existe des compilateurs qui peuvent te permettre de développer dans des langages plus haut niveau, et de te compiler ça en assembleur.... mais tu ne maitrisera jamais aussi bien les instructions et le temps d'exécution qu'en codant directement en assembleur.... :wink:
     
  3. oliv

    oliv Compagnon

    Messages:
    1 092
    Inscrit:
    7 Septembre 2007
    Localité:
    LYON
    programation de pic
    Ils peuvent se programmer en Basic avec, par exemple, Mikrobasic de MikroElektronica.

    Peut aussi se programmer en C++ ou en Assembleur.
     
  4. basilic

    basilic Compagnon

    Messages:
    624
    Inscrit:
    3 Septembre 2008
    Localité:
    Aube (10), Troyes
    programation de pic
    Le mieux est de programmer directement en assembleur, le jeu d'instruction est très limité et la documentation est très claire.

    Le soucy de la programmation en C et pas en C++ (enfin pas a ma connaissance) c'est qu'il y a des 100ene de ligne de code qui ne servent a rien car redondante.

    Tu as aussi de très bonne bibliothèque fournis par Microchip qui te permette de faire quasiment tous.
     
  5. maitrefred

    maitrefred Ouvrier

    Messages:
    447
    Inscrit:
    8 Mai 2008
    Localité:
    VENDEE
  6. gourky

    gourky Ouvrier

    Messages:
    264
    Inscrit:
    14 Août 2009
    Localité:
    Gers (32)
    programation de pic
    Bonjour,

    Les compilateurs C que j'ai vu font surtout de la conversion en assembleur, assez réussie. (celui fourni par microship qui est gratuit dans la limite de la taille du programme, et le compilateur microc, gratuit aussi). Ils produisent un fichier assembleur que l'on peut modifier.

    J'ai acheté le PICkit 3 Debug Express mais je ne peux pas donné d'avis, car je n'ai pas eu le temps de l'essayer.
     
  7. JCS

    JCS Compagnon

    Messages:
    868
    Inscrit:
    22 Juin 2007
    Localité:
    Cher
    Département:
    18200
    programation de pic
    Salut à tous,

    J'utilise avec bonheur, depuis plus de 15 ans PIC BASIC COMPILER, c'est le même langage que pour le BASICSTAMP1.

    J'ai réalisé ainsi de nombreux projets dont des diviseurs numériques commandés par PC :

    http://www.sulka.fr/diviseur_numerique/cn.pdf

    Et un programmateur pour cuisson de revêtements pour la fonte à cire perdue :

    http://www.sulka.fr/fcp

    Il gère la cuisson sur 7 heures avec différents paliers de 100 à 700 °.

    Je me suis même amusé à mettre une prise DB9 pour récupérer les données sur PC. Je peux ensuite faire un graphique avec EXCEL, par exemple.

    Ici une discussion sur un trackeur solaire que j'ai aussi réalisé avec un PIC :

    http://www.usinages.com/tracker-solaire-heliostat-t20561.html

    Je reste à disposition pour apporter ma modeste expérience sur la programmation des PIC en Basic.

    @+

    JC.
     
  8. JEANCLAUDE

    JEANCLAUDE Apprenti

    Messages:
    96
    Inscrit:
    5 Mai 2009
    Localité:
    marne
    programation de pic
    je pratique les deux, assembleur et language évolué.
    pour un débutant et qui ne veux pas en faire son métier, je pense qu'il est plus sage et plus rapide d'utilisé un language évolué. (surtout si vous avez une petite idée de ce qu'est la programmation en language Basique). Pic bassique compiler est trés bien, je l'ai utilisé plusieurs année. j'utilise actuellement Proton+ de crownhill. ces 2 compilateurs ce trouvent sur internet, tu peux peut-être trouver une version d'évaluation. ils sont vendu entre autre par selectronic.
    il existe aussi des forum d'aide pour la programmation en pic basic en C++ et en Proton
     
  9. lion10

    lion10 Compagnon

    Messages:
    3 399
    Inscrit:
    7 Mai 2010
    programation de pic
    Bonjour

    L'assembleur pour programmer un circuit c'est référable pour générer un code efficace pour du logiciel embarqué. Le pb c'est que c'est assez déroutant de manipuler les instructions assembleur.

    On écrit que du code util car on s'en tient au minimum.

    Le C langage évolué c'est vraiment très utilisé dans l'industrie dans l'embarqué. Mais il faut bien avoir conscience de ce que l'on fait. Il ne faut jouer avec l'allocation mémoire (malloc) sur des pertits micro-controleur qui ont peu de ressource.
    Certaines notions pourtant très utile comme les pointeurs peuvent dérouté au début et il faut tjs avoir à l'esprit le matériel.
    Des mathématicien qui codait en C sans avoir la vision matérielle et ensuite il fallait porter le code sur des cartes à micro-contreleur c'était pas gagné. Ils jouaient avec les allocations dynamiques de mémoires comme si les ressources étaient infinies.

    Sinon quel plaisir par rapport à l'assembleur.
    Il faut bien avoir à l'esprit que selon le compilateur les lignes de code en assembleur généré peuvent être plus nombreuses.
    Par exemple pour une simple boucle selon les subtilités du C que l'on utilise, ce ne sera pas la même chose, voir difficile de s'y retrouver.

    Pour débugger en langage évolué c'est bien. Mais c'est bien d'avoir des bases en assembleur surtout quand il faut debbuger !
    L'idéal est d'avoir un émulateur et au minimum les fichiers assembleur du codé en mixe avec le langage évolué C , comme cela on voit sur papier la traduction en assembleur du code en C.

    Le basic est basic mais à mon sens moins puissant et adapté pour de l'embarqué que le C.

    Quand au C++ il est plus abstrait que le C et plus compliqué. Les notions d'objet si elles peuvent s'utiliser dans de très gros soft embarqués, n'ont à mon sens rien à faire dans de petites cibles tel les pics et sont plus compliquées pour l'amateur.

    Personnelement ce serait donc du C voir du basic selmon les compilateur disponibles en gratuits avec une connaissance minimum de l'assembleur.

    cdlt lion10
     
  10. nordiste

    nordiste Apprenti

    Messages:
    203
    Inscrit:
    20 Septembre 2009
    Localité:
    lille
    programation de pic
    euh, vous parles quasiment tous de C++,
    conaissez vous un compilo pour pic qui permet de compiler des classes c++ ???
    parce que j'aimerais bien trouver un tel compilo pour mes projets.
    merci d'avance,
    marc
     
  11. JEANCLAUDE

    JEANCLAUDE Apprenti

    Messages:
    96
    Inscrit:
    5 Mai 2009
    Localité:
    marne
    programation de pic
    Il faudrait que Niciolas nous en dise un peu plus sur ce qu'il compte faire avec des PICs et quel est son niveau de connaissance en programmation mais aussi en électronique. Je suis du même avis que JCS, il donne quelques exemples.
    Ce qui est dit sur la programmation en assemble est toute à fait exacte. Mais il faut relativiser.
    Qui de nos jour envisagerait d'écrire des programmes en langage machine pour un PC !
    Plus personne, car les processeurs sont de plus en plus rapide, la mémoire disponible de plus en plus grande...Il en va de même pour les PICs.
    Il faut bien comprendre que l'enjeu entre l'assembleur et les langages de haut niveaux, c'est la vitesse et la taille du programme.
    En langage évolué la programmation est plus simple mais la taille du programme résultant dans le PIC est plus importante donc, à l'exécution il va moins vite.
    Dans 99% des cas ce problème n'en est plus un au regard des performances des PICs.
    Niciolas, dit-nous ce que tu veux faire.
     
  12. AZP

    AZP Ouvrier

    Messages:
    270
    Inscrit:
    23 Novembre 2009
    Localité:
    Montagnac (34)
    programation de pic
    Bonjour !

    Même si tout ce que tu écris la est très vrai, je n'aime pas cette façon de penser.
    Pourtant c'est celle que le monde entier à hélas adopté ! Quand on arrive aux limites, on décide de produire + d'énergie plutôt qu'essayer de réfléchir à en consommer moins.....

    Quand on reviens 15~20 ans en arrière, et qu'on voit que certains jeux videos bourrés de grahismes en pseudo 3D et d'une durée de vie énorme tenaient sur 3 disquettes...... et qu'aujourd'hui il faut un DVD pour faire tenir un casse-briques... (je caricature).

    Bref c'était un micro coup-de-gueule :wink:

    Quoi qu'il en soit pour revenir sur le sujet je trouve interessant, même si on code en C ou autre langage "haut niveau", d'apprendre l'assembleur et le jeu d'instruction du µC qu'on programme, ne serait-ce que pour "comprendre ce qu'il se passe" à l'intérieur ! Ca aide beaucoup !
     
  13. JEANCLAUDE

    JEANCLAUDE Apprenti

    Messages:
    96
    Inscrit:
    5 Mai 2009
    Localité:
    marne
    programation de pic
    Je partage totalement ta vision des choses.
    J'espère que de plus en plus de monde prendra conscience et agira pour économisé les ressources de notre belle planète (est-elle encore si belle...?).
    Je me chauffe avec une pompe à chaleur (eau eau) et si je programme en langage évolué c'est pour gagner un peu de temps.
    Cela contribue notamment à m'en donner plus pour cultiver mon jardin et m'occuper de mes poules. La vie est faite de compromis et de choix. Niciolas fera le sien.
     
  14. wintereivax

    wintereivax Ouvrier

    Messages:
    340
    Inscrit:
    7 Septembre 2008
    Localité:
    Suisse - Vaud
    programation de pic
    C'est clair, c'est du C, pas du C++... Aucune notion d'objet, d'héritage, de polymorphisme :)

    Quant au dilemme assembleur ou C, c'est pareil que les machines : tout dépend du cahier des charges : s'il s'agit de faire s'allumer un compteur avec des 7segments, ben C direct. Si c'est pour faire une moyenne mobile d'un signal à 20MHz, ben pas trop le choix C est trop lent, donc passe à l'optimisation en assembleur.

    Par ailleurs, c'est toujours possible de mélanger les 2 : un bout d'assembleur avec un bout de C :)

    Bon courage

    Xav
     
  15. coredump

    coredump Compagnon

    Messages:
    3 411
    Inscrit:
    8 Janvier 2007
    Localité:
    Côte d'azur
    programation de pic
    Pour les PICs type 16, c'est normal que le C n'est pas efficace, ceux ci ont une architecture inadaptée au compilateur C.

    Par contre sur des procs type AVR ou PIC plus évolués, c'est nettement mieux (et pas de soucis de C++).

    La principale raison de l'abandon de l'assembleur c'est avant tout la réutilisation du code et la portabilité, bien plus importante aujourd'hui que les perfs elles mêmes. Tres tres peu de programmeurs sont amenés a travailler en asm pour les perfs, de toute façon dans ce cas, le langage n'est qu'un moyen, pas une finalité, et surtout pas une garantie de résultat. L'étude, le profilage et l'optimisation du code est bien souvent plus efficace.
     

Partager cette page