Programmation AVR en C

Jun 05, 2009 11 Replies

Bonjour,



Je m'essaie à la programmation des µC AVR en C avec le compilateur mikroC. Dans les exemples de programme, je trouve cette ligne de code :



PORTA.F0 = 0;



Je trouve également PINA.BO = 0;



Le problème est que je ne comprend pas à quoi correspondent F0 et B0. J'ai vaguement regardé dans le datasheet de l'AtMega128 mais j'ai rien trouvé là dessus. Quelqu'un pourrait-il m'éclairer ?



Merci,



Loïc


kroC.

Est-ce que PORTA.F0 n'est pas le bit zero du port A (ou du port F) ?

S'il s'agit de macros definies dans un fichier d'en-tete utilise par MikroC, regarde les fichiers H d'include au debut du programme, et edite-les directement, tu devrais y trouver les definitions de ces instructions.

kroC.

N'utilisez pas MirkoC main AVR-GCC (winavr), c'est gratuit et illimit=E9 et cela respecte le C standard.

th..

snipped-for-privacy@gmail.com a écrit :

Le truc c'est que MikroC dispose de librairies que je trouve intéressantes. J'ai pas vu ça pour avr-gcc.

=E9

tes.

En C, une ecriture du genre PORTA.F0 montre que PORTA est une structure dont F0 est un membre. Cette structure doit etre definie, et elle l'est sans doute dans un des fichiers H d'include au debut du programme d'exemple. Les as-tu regarde ?

En fait, ça à l'air d'être ça mais uniquement pour les PICs. Pour les AVR, ça sera PORTA.B0

Ils auraient pu se mettre d'accord sur ces choses là, je trouve.

Merci :)

"GRENON Loïc" a écrit dans le message de news:

4a294c75$0$17776$ snipped-for-privacy@news.orange.fr...

en C ca ressemble a ce que l'on appelle un champ de bits

pour PORTA.F0 cela devrait correspondre au bit 0 (lsb) du port A

pour PINA.BO, (si c'est bien un O et non pas un 0), je ne vois pas, mais il suffit de regarder dans le header, c'est ecrit en clair

GRENON Loïc a écrit :

On trouve pas mal de librairies pour WinAVR, mais il faut chercher..... (en plus des librairies incluses)

De quelles librairies as-tu besoin ?

bonjour, je n'ai pas de r=E9ponse =E0 poster toutefois, si quelqu'un est int=E9ress= =E9 par un module AVR alors dessus il y a un ATMEGA162, un max2332 ainsi qu'un drivers de sortie PNP ou NPN pour 4 entr=E9es et 4 sorties.

Je l'envoie par la poste =E0 la bonne =E2me qui me donnerait des infos pour d=E9buter en programmation avec AVR. ( quel programme utiliser, un ou 2 exemple qui marcheraient avec ce type de carte etc ....) Je pr=E9cise il s'agit d'une carte industrielle provenant d'un automate PLC

Le deal me parait =E9quitable non ?

mon mail g.from at hotmail dot fr

Le 21/06/2009 14:34, Yannick F. a écrit :

Pour le moment, de quoi gérer *simplement* une interface SPI et un UART ainsi que générer des signaux PWM.

J'avoue que si je peux faire aussi simplement avec avr-gcc (WinAVR) que MicroC, ça m'intéresse, vu que je tourne normalement sous Linux et que je suis obligé de repasser à Windows parce que MicroC n'est pas porté sous Linux et n'est pas compatible avec Wine.

La liste des librairies officielles avr-libc est ici :

formatting link

Que des fonctions de base, rien d'"évolué" comme la configuration automatique du PWM ou l'UART, mais la section démo donne du code tout fait réutilisable.

Regarder aussi avr freaks section forums pour par mal de code posté par d'autres hobbyistes :

formatting link

vic.

x et=20

s=20

=20

ar=20

Wiring a des libs de "haut" niveau (gestion de l'uart, pwm, etc)

formatting link
pour atmega128 qui ont =E9t=E9 reprisent par Arduino (pour atmega8/168...)
formatting link

cdlt,

F.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required