Aller au contenu


Photo
- - - - -

Robot Cylon


42 réponses à ce sujet

#1 Bobbyshoot

Bobbyshoot

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages

Posté 26 mai 2009 - 10:18

Tout d'abord je vous dis bonjour à tous!

Celà fait un moment que je parcours le site, j'ai lu tout vos tutos et parcouru le forum pour m'instruire et donc, voilà maintenant j'essaie de construire mon propre robot et je viens vous exposer mon projet :)



Bon pour parler un peu de mes connaissances, je peux vous dire que je suis en Terminal STi, section electronique, mais mes connaissances ne se situent pas que là, j'ai fais beaucoup d'experience par moi même et j'ai énormément appris à travers tout les sites internet qui traitent de la robotique, j'ai choisis de poster ici parceque, j'aime l'ambiance :)



Bon, parlons de mon projet, à vrai dire, je ne sais que peu de chose sur lui, étant donné que je lui ai pas encore trouvé d'utilitée, à la base, je voulais faire un robot à l'allure des cylons de battlestar galactica si vous connaissez, donc c'est dans cette optique que j'ai commencé à faire la tête, puis le reste je l'ai trouvé en piochant un peu par ci et là, la forme finale sera surement trés loin de ce que j'imagine actuellement vu que j'intègre ce qui me plait au fur et à mesure, mais pour l'instant, je me dirige vers un robot ressemblant à ça :






C'est à dire le bas sur deux chenilles et deux bras et une tête.



Donc à l'état actuel mon projet se divise en 3 parties, la première étant la tête, la seconde la base, et la troisième le torse et les bras.

J'ai pour l'instant à disposition plusieur micro, 4 atmel 8535L, puis le materiel de base : multimètre, générateur variable, plaquette d'essai etc.. (un programmateur que je suis en train de fabriquer), pas d'oscilloscope par contre.



1) La tête[/size]



Partie Electronique



Voilà je commence à peine et j'ai déja besoin d'aide^^, en fait, la partie electronique ne me pose aucun problème, c'est plutot la programmation de l'atmel qui m'en pose, je connais pas trop les commandes, j'en connais quelques une mais c'est tout.



je vous explique la chose (vous allez voir il y a beaucoup de schema xD), en fait, la tête est composé de plusieurs choses, toute raccordées à l'atmel, il y a d'abord 30 leds rouges, qui forme un chenillard, (qui est en fait caractèristique de la vision des Cylons, c'est purement esthétique), au départ je les avais placé sur un démultiplexeur lui même connecté à un compteur lui même connecté à un oscillateur à base de 555, mais, ça géré pas assez de leds comme je voulais, puis aprés je me suis dis que, sur un micro, avec une programmation, je pourrai géré les leds comme je le désire, allumé que celle de droite, de gauche, du centre etc.. donc mon choix s'est porté là dessus. Ensuite en regardant cette page : http://www.pobot.org/Capteur-de-proximite.html (regardez seulement la vidéo si vous voulez pas lire ça suffit à comprendre) j'ai voulu m'en servir pour faire les mouvements de la tête, sauf que je voudrais mettre 4 capteurs et deux servos, pour chaque axe X et Y, voilà :) , je vais vous faire le détail maintenant (oui, jusqu'a maintenant j'éffleurais à peine xD), alors pour que vous compreniez bien, voici une illustration trés schématisé de la tête de mon robot :






Donc la bande rouge ce sont les leds, 2 en hauteur (branché sur la même sortie) et 15 en longeur (chacune sur une sortie différente) et voici maintenant le schéma electronique :






Et oui toute cette parlotte pour seulement 5 CI xD, donc j'explique le fonctionnement, comme on l'a vu sur le schéma précédent, chaque paire de leds est sur une sortie d'un démultiplexeur, et ils sont branché tout les 2 sur le port A. Les résistances des Leds font 150 Ohm, et celle des 555 sont telles que chaque 555 à la fréquence indiqué en dessous :p

Ils marchent de cette manière (pour ceux qui veulent aider et qui savent pas/Ont oublié le fonctionnement, sinon dîtes moi tout de suite j'allege le post de tout ce qui est superflu)






Donc voilà, les états des sorties du port A commanderont la totalité des Leds, je détaillerai comment exactement plus tard.

Ensuite donc il y a les capteurs, 4 capteurs IR, et ils marchent par 2, leur porté est d'environt 10cm (voir 20 si j'en met 2 en série voir, un peu plus tout court, à démontré.) donc en fait le truc, c'est que si la led de gauche détecte quelque chose, elle va faire tourner le servo vers la gauche et si le deuxième capteur détecte lui aussi l'objet (donc l'objet est détécé simultanément par les deux capteur), le servo s'arrête, ça voudra dire qu'il fixe la cible, même fonctionnement avec les deux autres capteurs qui eux controlent le haut et le bas, j'ai mis un écart de fonctionnement de 8kHz pour les deux récepteur pour pas qu'il y est d'interférence.

J'ai pas mis les recepteurs sur le schéma ils étaient pas dans ma base de donnée mais il s'agit de ça positionné à coté des emmeteur IR :




Par contre, concernant l'asservissement, j'avoue que je connais pas trop, j'ai étudié votre exelent tuto sur le site, c'était vraiment parfait sauf que, il manque l'autre moitié donc, j'ai pas pu, comprendre concrétement ce que ça donne, mais la première moitié j'ai bien compris. Voilà je crois que vous savez tout.



Partie Programmation



Par contre, hormis un tuto que j'ai trouver pour réaliser la fonction chenillar avec 1 port de l'atmel, j'y connais presque rien, bien sur je vous demande pas de me pondre un programme tout neuf et c'est finit, non déja j'aimerai au final avoir appris à programmé plus ou moins correctement^^ là c'est tard pour pondre une esquisse de programme et vous demander vos conseils dessus, je vous promais d'essayer d'avoir ça pour demain, en attendant je vous met ce que j'aimerai dans le programme :



En temps "normal"

_Allumage Led par Led, puis retour.



Si Capteur X1 (droite) activé

_toute led droite allumé

_Servo X tourne à droite



Si Capteur X2 (gauche) activé

_toute led gauche allumé

_Servo X tourne à gauche



Si Capteur Y1 (haut) activé

_Led centrale allumé

_Servo Y tourne à vers le haut



Si Capteur Y2 (bas) activé

_Led centrale allumé

_Servo X tourne à gauche



Si Capteur X2 (gauche) et X1 (droite) activé

_Led centrale allumé

_Servo X immobile



Si Capteur Y2 (gauche) et Y1 (droite) activé

_Led centrale allumé

_Servo X immobile



Voilà, aprés je sais pas si je dois détailler les autres cas (X1 et Y2 etc...) ou si le programme peut faire les 2 actions à la fois, j'ai compris plus ou moins comment faire pour programmer les Leds, mais, faire des intéruption pour permettre au autres action de se lancé et tout.. j'ai pas compris comment, je me penche dessus demain. Désolé si j'ai pas posté au bonne endroit ou quoi que ce soit, voilà, je vous remercie n'hésité pas à faire des remarques ou poser des questions :)



Quand à moi une petite question, le fait d'avoir 8 kHz de décalage suffit pour pas que les émmeteurs interfèrent avec les récépteurs qu'il ne devraient pas?

#2 zeqL

zeqL

    Membre passionné

  • Membres
  • PipPipPip
  • 393 messages
  • Gender:Male

Posté 26 mai 2009 - 11:16

Bon je répond rapidement pour ce qui concerne les capteurs IR.
Déjà mettre deux émetteurs IR de 10cm ne fera pas un émetteur 20cm comme ca, il faut que les ondes s'additionne, donc bien placer les émetteurs et bien doser les fréquences...

Pour les capteurs je te conseille les Sharp, environ 10-15 euros, tu dispose de plusieurs "range" de détection, et l'avantage c'est que c'est tout intégré, émetteur, récepteur, circuits. Il suffit d'alimenter en 5V, une masse et ca te sort soit de l'analogique soit du numérique.

Je répondrais au reste demain :)

#3 Bobbyshoot

Bobbyshoot

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages

Posté 26 mai 2009 - 11:47

ah, pourtant c'est pas de moi mais d'un profetionelle, le coup des 20cm, j'aurai jamais sorti ça comme ça ! puis pour les capteurs, je prendrai pas des sharps, trop chère, et l'espace est assez confiné donc je préfère les faire moi même, j'ai déja tout le materiel sauf les led IR et les TSOP donc, ça reviendra pas trop chère :) ou sinon j'ai trouvé les proxir, à 4 dollards, mais, j'ai pas la patience d'attendre! (les proxir ce sont ce de la vidéo)



merci =D



Edit : le site avec le schema du capteur http://d.nardi.free.fr/ProxIR.htm, je compte pas mettre la led rouge de fonctionnement et le transistor, ça me fait toujours ça en moins! et puis oui désolé, les 20 cm je les ai révé, il dit juste que ça augmentera "nettement" la distance, faut voir, toute façon 10 cm c'est ce que je vais me servir :)

Merci d'avoir regardé malgrés la taille du post et l'heure :p

#4 Bobbyshoot

Bobbyshoot

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages

Posté 27 mai 2009 - 01:49

oui désolé, il est tard, j'ai relu vite fais mais j'ai pas tout corrigé^^ vraiment désolé je réctifierais demain, c'est vraiment cool ton aide, je vais me coucher là mais je détaillerais demain, à part ce que tu as déja demandé tu voudrais d'autre détail ?



(sinon je suis sur Vista, et j'ai pas de logiciel de programmation "préféré" mais j'utilise codevision en cour, mais, vu le programmateur que je vais fabriquer demain je pense que je me mettrai sur AVR, je débute vraiment quoi, mais je comprends vite :) et voilà le liens direct : http://www.datasheetcatalog.org/datasheet/atmel/2502S.pdf )



(Voilà je viens de corriger autant de faute que j'ai pu :) je reviendrais surement demain soir vers 19h j'ai une journée chargée, sinon en temps normal j'ai tout mon temps, à plus!)

#5 alex93

alex93

    Habitué

  • Membres
  • PipPip
  • 283 messages

Posté 27 mai 2009 - 12:40

[quote"Bobbyshoot"]j'ai trouvé les proxir, à 4 dollards, mais, j'ai pas la patience d'attendre! (les proxir ce sont ce de la vidéo)
[/quote]

Un lien? :p sa m'interesse ^^

Sinon désolé mais la mon aide te sera pas tres utile :)
Beau projet en tout cas ;)

#6 miky-mike

miky-mike

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 232 messages
  • Gender:Male
  • Location:Belgique

Posté 27 mai 2009 - 12:47

je n'ai pas lu tout cas j'ai pas le temps malheureusement mais apres les examje lirai tout .

En tout cas ça a l'aire un beau projet déjà bien pensée.

Tu utilise quoi comme programmateur ?

#7 Bobbyshoot

Bobbyshoot

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages

Posté 27 mai 2009 - 01:02

Milles excuses harry je me suis trompé de lien pour la datasheet, c'est celle là : http://www.atmel.com/dyn/resources/prod_documents/doc2502.pdf



Et le liens pour les Proxir pour Alex : http://www.ereshop.com/index.php?main_page=product_info&products_id=202, ce sont ceux utilisé dans la vidéos, ils font 3 dollars et quelques, ça vaux le coup je pense non? t'en pense quoi? (La datasheet ici.)



Sinon pour T2CON, si je me trompe pas cst un des registre du timer ?

je dois être nul, je trouve pas ce registre ou ce bit dans la doc dans l'explication du timer 2 xD



Ici ya l'explication en français des timer aussi : http://anyedit.free.fr/telechargement/atmega8535-francais.pdf



(je répète que je me pencherai dessus complètement dans la soirée :) )



Le programmateur, ben j'utilise(rais car je le fabrique demain!) un fait maison, connecté en RS232, aprés, je pense que j'utiliserais AVR, j'ai vu qu'ils pouvaient le détecté, m'enfin j'ai pas de préfèrence pour l'instant, j'utiliserai celui qui marche ! je vous tiendrai informé quand j'aurai trouvé, ou si vous avez des conseils je les suivrais :)

#8 Bobbyshoot

Bobbyshoot

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages

Posté 27 mai 2009 - 10:54

Bon ben, j'ai cherché, j'ai trouvé une sorte de tuto dont je me suis inspiré, j'ai pas trop compris mais, c'est un premier jet! Soyez pas trop sévère, il doit y avoir de grosse absurdité dedans vu que, j'y connais rien, pour l'instant c'est juste un programme pour gérer l'allumage des leds, avec des interuptions, en gros, j'ai essayé de faire que, à chaque débordement du timer 0, il y est une interuption, et donc que ça change l'état du port A, donc j'ai réglé les choses de cette manière là :

Je souhaite un éclairage de 15 Hz, hors, la période de 15Hz est : 1/15 = 0.071s.
je placerai un quartz de 3.6864Mhz la période fait donc : 1/3 686 400=271ns
Je prescale cette valeur à 1024 : 271n X 1024 = 0.27ms
Et donc le débordement va durer : 0.27ms X 256 = 0.071s, soit exactement la valeur voulu :)

Et voici donc le programme :

#define _220_MS 3 // je sais pas trop à quoi ça sert, l'exemple disait "vu le prescaling et l'étendue du compteur, un intervalle de 100ms correspond à 3 interruptions"
unsigned char patterns[] = { // la liste des patterns d'allumage des LEDs
0b11000100,
0b11010100,
0b11100100,
0b11110100,
0b00000100,
0b00010100,
0b00100100,
0b00110100,
0b01001100,
0b01001101,
0b01001110,
0b01001111,
0b01000000,
0b01000001,
0b01000010,
0b01000001,
0b01000000,
0b01001111,
0b01001110,
0b01001101,
0b01001100,
0b00110100,
0b00100100,
0b00010100,
0b00000100,
0b11110100,
0b11100100,
0b11010100
} ;
unsigned char pattern = 0 ; // index du pattern courant
SIGNAL (SIG_OVERFLOW0) { // Si le signal est overflow...
tmr_cnt++ ; // ...mise à jour du compteur d'interuption
if (tmr_cnt == 2 *_100_MS) { // J'ai laissé la valeur comme tel, je ne sais pas quoi mettre ici...
tmr_cnt = 0 // Remise à zero du compteur d'interuption
PORTD = patterns[pattern] ; // Application du pattern sur le port D
pattern = (pattern + 1) % sizeof(patterns) ; // Avancé du patern, à chaque interuption si j'ai bien compris
}
}
void port_init(void) {
DDRA = 0xFF ; // Tout les bits du port A en entrée
PORTA = 0x00 ; // tout les bits du port A à 0.
}
void init_devices(void) {
cli(); // inhibition des interruptions (pour avoir la paix)
port_init(); // initialisation de prts
MCUCR = 0x00; // _Interuption externes sur niveau bas de la ligne _sleep mode désactivé
GICR = 0x00; // INT0 et INT1 inactives
TIMSK = 0x01; // Activation de l'interrupt d'overflow du timer 0
TCCR0 = 0x05; // Prescaling 1024
sei(); // autorisation des interruptions
}
int main(void)
{
init_devices();
}[/code]


Voilà ! Vous pouvez me fusiller maintenant.

#9 miky-mike

miky-mike

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 232 messages
  • Gender:Male
  • Location:Belgique

Posté 28 mai 2009 - 10:29

Voila n'hésite pas a nous donner les liens que tu utilise par exemple pour avoir eu le code, le programmateur et tout comme ça. Comme ça quelqu'un d'autre pourra l'utiliser, ne la jouons pas solo.

#10 Bobbyshoot

Bobbyshoot

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages

Posté 28 mai 2009 - 11:20

c'est à dire ? que je poste les liens pour fabriquer le programmateur ?

#11 miky-mike

miky-mike

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 232 messages
  • Gender:Male
  • Location:Belgique

Posté 28 mai 2009 - 12:34

[quote"Bobbyshoot"]c'est à dire ? que je poste les liens pour fabriquer le programmateur ?[/quote]
oui par exemple mais aussi le tuto que tu as trouvé Bon ben, j'ai cherché, j'ai trouvé une sorte de tuto dont je me suis inspiré,[/quote]

En tout cas bravo pour ton travaille qui me semble bien avancé

#12 Bobbyshoot

Bobbyshoot

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages

Posté 28 mai 2009 - 12:45

Oui je vous donne tout ça tout de suite mais, vous savez je suis un novice, je suis venue chercher de l'aide xD j'ai jamais touché la programmation avant! Je sais même pas si ce truc marche ni comment le faire marcher



>>Programmateur<<

>>Site de robot plein de tuto's<<

La vidéo que j'ai mise dans mon premier post venait déja de ce site, voilà :)



Et le "256" c'est pour le débordément*, vu que le timer est un 8 bits, il compte donc de 0 à 255, ce qui fait 256 valeurs, et comme entre chaque valeur il met 7.1ms, pour faire un débordement il met donc 7.1x256, et l'interuption est déclenché sur le débordement. donc ça marche avec tout les µP, pour peu qu'ils aient un timer 8 bits, sinon la valeur change. (* Débordement : comptage de 256(valeur max) + 1 (donc impossible et remise à zero)

voilà :)

#13 miky-mike

miky-mike

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 232 messages
  • Gender:Male
  • Location:Belgique

Posté 28 mai 2009 - 01:11

merci pour les liens

#14 Esprit

Esprit

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique
  • Interests:La robotique !

Posté 28 mai 2009 - 01:51

Si c'est ça un débutant, je suis quoi moi ? :D

Intéressant en tout cas, ton projet a l'air de bien démarrer, j'ai hâte de voir la suite !
Si tu as des photos de la construction mécanique ou électronique, je suis preneur.


Bonne continuation !

#15 webshinra

webshinra

    Membre passionné

  • Membres
  • PipPipPip
  • 510 messages

Posté 28 mai 2009 - 02:14

en fait pour les atmel, c'est super compliqué comme programmateur que tu utilise, regarde la méthode "dapa":
http://www.captain.at/electronics/atmel-programmer/
ça coute moins chère, et ça peut même se faire 100% recup.

#16 philou-RX

philou-RX

    Habitué

  • Membres
  • PipPip
  • 261 messages
  • Gender:Male
  • Location:Riviera - Vaudoise
  • Interests:Electronique / Informatique / Robotique / BD / et surtout les boissons fermentées au houblon

Posté 28 mai 2009 - 02:35

Bonjour à tous,

Très joli projet à réaliser !!!

J'ai une question pour ta partie programmation, est-ce que tu as déjà commencer à programmer ta séquence pour le chenillard... comment vois-tu les fréquences de balayage des tes leds, veus-tu utiliser un timer, des interruptions, ou simplement un système de clock...

Je n'ai pas encore travailler sur des uc ATMEL, j'ai plus travailler sur de Pics, ou des MSP430, mais la philosophie de programmation reste la même, à part les librairies et certaines déclarations...

J'essaierai de me choper ton compilateur, est-ce celui que tu proposes, est gratuit ?

Désolé de ne pas t'apporter tout de suite de solus, mais j'essaierai de plus me plancher sur ton sujet d'ici un mois.

Amicalement Philou


#17 webshinra

webshinra

    Membre passionné

  • Membres
  • PipPipPip
  • 510 messages

Posté 28 mai 2009 - 02:40

pour programmer les avr, on s'emmerde pas, on utilise avr-gcc :-°

#18 philou-RX

philou-RX

    Habitué

  • Membres
  • PipPip
  • 261 messages
  • Gender:Male
  • Location:Riviera - Vaudoise
  • Interests:Electronique / Informatique / Robotique / BD / et surtout les boissons fermentées au houblon

Posté 28 mai 2009 - 03:17

Merci Webshinra

Je vais aller regarder ça... Est-ce qu'il y a un site ou tu peux télécharger ceci ???

Amicalement Philou

#19 Bobbyshoot

Bobbyshoot

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages

Posté 28 mai 2009 - 03:35

euh, en fait webshinra, ce que tu m'as envoyé consiste, en fait, à branché un port parallelle, et dévié les 3 sorties qui nous interesse vers l'atmel ?

C'est pas, un peu la même chose que mon lien, qui lui est en RS232 ?

je demande hein, j'ai jamais fais ça avant j'y connais rien

[quote"Philou"]J'ai une question pour ta partie programmation, est-ce que tu as déjà commencer à programmer ta séquence pour le chenillard... comment vois-tu les fréquences de balayage des tes leds, veus-tu utiliser un timer, des interruptions, ou simplement un système de clock...[/quote]

Ben en fait, le pattern c'est ce qui gère l'état des sorties du port A, chaque bits corresponds à une des huit sortis, et vu que j'ai mis des démultiplexeur en sortis, j'ai fais un déroulement de sorte que chaque sortie fasse compter le démultiplexeur auxquelles elles sont rattachés, et vu qu'il y a des entrée de validation pour chaque démultiplexeur (voir la table de vérité de mon premier post) ben ça allume donc chaque sortie de chaque démultiplexeur une par une.
La fréquence de balayage, je l'avais avant (à l'époque ou yavait pas d'atmel mais uniquement Horloge/compteur/démultiplexeur/leds) mais maintenant avec une programmation faut que je l'a retrouve, mais le programme que j'ai fait plus haut tourne trés exactement à 14Hz (qu'on peut facilement, doublé, triplé ect... à l'aide d'une seule ligne à ce que j'ai compris)
Voilà, j'en sais pas plus :)

(quand j'aurai tout terminé avec la tête entièrement fonctionelle j'éditerai mon premier post, avec les photos de fabriquation, le programme avec explication, le schéma tout quoi, comme ça tout le monde pourra profiter de tout ce qu'on a dit dans le premier post, puis je passerai à la partie 2^^, au final vous aurez peut être un robot complet de plus pour votre site :p )

Webshinra, tu crois qu'il sera vraiment difficile à programmer celui que je t'ai montré ? Vu que j'ai déja commandé les pièces que j'ai reçu aujourd'hui, toute façon ya que quelque résistance et diodes, faut que je trouve un logiciel maintenant

#20 Bobbyshoot

Bobbyshoot

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages

Posté 29 mai 2009 - 06:40

^^ Merci beaucoup!



Et cli et sei c'est dans la doc de l'atmel ainsi que leur fonction.



Bon j'ai décider de programmer avec WinAVR, j'ai pris un STK200 pour programmer, il le reconnait donc cst cool, en + il est facile d'utilisation, ou en tout cas j'ai compris.



Bon j'ai réussi à créé un petit fichier .HEX qui s'est parfaitement lancé ensuite sous protéus, pour faire clignoté une simple led mdr, mais le programme + haut ne marche pas, trop d'erreur, voici la liste pour ceux qui veulent aider :




unsigned char patterns[] = { // la liste des patterns d'allumage des LEDs

0b11000100,

0b11010100,

0b11100100,

0b11110100,

0b00000100,

0b00010100,

0b00100100,

0b00110100,

0b01001100,

0b01001101,

0b01001110,

0b01001111,

0b01000000,

0b01000001,

0b01000010,

0b01000001,

0b01000000,

0b01001111,

0b01001110,

0b01001101,

0b01001100,

0b00110100,

0b00100100,

0b00010100,

0b00000100,

0b11110100,

0b11100100,

0b11010100

} ;

unsigned char pattern = 0 ; // index du pattern courant

SIGNAL (SIG_OVERFLOW0)

{ // Si le signal est overflow... *** je ne comprends pas trop SIGNAL (SIG_OVERFLOW) mais bon si tu le dis c'est que ça doit être vrai ^^

tmr_cnt++ ; // ...mise à jour du compteur d'interuption

if (tmr_cnt >= 2 *_100_MS) // J'ai laissé la valeur comme tel, je ne sais pas quoi mettre ici...

{ // *** Ouais, ben pas moi ^^ j'ai remplacé == par >= (sécurité au cas où ce que tu effectues prends trop de temps)

tmr_cnt = 0 // Remise à zero du compteur d'interuption

PORTD = patterns[pattern] ; // Application du pattern sur le port D

pattern = (pattern + 1) % sizeof(patterns) ; // Avancé du patern, à chaque interuption si j'ai bien compris

}

}



void port_init(void)

{

DDRA = 0xFF ; // Tout les bits du port A en entrée

PORTA = 0x00 ; // tout les bits du port A à 0.

}



void init_devices(void)

{

cli(); // inhibition des interruptions (pour avoir la paix) *** je ne sais pas d'où ça sors cli() mais bon...

port_init(); // initialisation de prts

TIMSK = 0x01; // Activation de l'interrupt d'overflow du timer 0

TCCR0 = 0x05; // Prescaling 1024

sei(); // autorisation des interruptions *** idem pour sei()...

}



int main(void)

{

init_devices();

while(1)

{



}

}[/code]



test.c:37: warning: return type defaults to 'int'

test.c:33: warning: function declaration isn't a prototype

test.c: In function 'SIGNAL':

test.c:35: warning: type of '__vector_16' defaults to 'int'

test.c:36: error: '_100_MS' undeclared (first use in this function)

test.c:36: error: (Each undeclared identifier is reported only once

test.c:36: error: for each function it appears in.)

test.c:38: error: called object '0' is not a function

test.c: In function 'init_devices':

test.c:52: warning: implicit declaration of function 'cli'

test.c:53: error: 'GICR' undeclared (first use in this function)

test.c:56: warning: implicit declaration of function 'sei'





On verra demain si j'ai toujours les mêmes problèmes avec les librairies à jour.



Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users