Pages: 1 2 [3] 4   Go Down
Author Topic: Problème code AtTyni45  (Read 5489 times)
0 Members and 1 Guest are viewing this topic.
France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Tous les Atmel ont cela.
Non pas du tous, je dirai même que seul un nombre limité d'AVR ont un module USI hardware (un vrai module USI, pas SPI, c'est pas la même chose).

Mais il est utilisé par le SPI et est donc difficilement utilisable si on veut programmer et reprogrammer la flash jusqu'à ce que bon fonctionnement s'ensuive...
En même temps sur un ATtiny à 8 broches faut le vouloir pour trouver une broche qui soit pas compris dans le connecteur ICSP ... à 8 broches smiley-mr-green

Pour ce qui est de la "difficulté" à reprogrammer la flash, il suffit de lire le datasheet et les notes d'application d'ATMEL.
-> http://www.atmel.com/images/doc2521.pdf

De plus pour la partie debuggage du code il faut bien se rappeler que ATMEL fourni un ide complet comprenant un simulateur trés puissant smiley-wink
Est que pour le amis du manchot il existe aussi de tres bon simulateur d'AVR opensource.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Near Paris in France
Offline Offline
Full Member
***
Karma: 0
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai répondu un peu vite. Autant pour moi. L'ICSP laisse l'usage des pins MOSI, MISO et CLK comme entrée et comme sortie à condition de ne pas cabler directement dessus une charge ou une source qui empêche le programmateur de bouger les signaux. Il est donc possible de reprogrammer un Tiny par ICSP tout en ayant cablé un port série dessus.

Le connecteur ICSP n'a pas 8 broches mais 6 (les 4 SPI + l'alim).

En fait il n'y aucun rapport entre le core Arduino et le fait que la librairie Serial ne gère que l'USART. Rien ne t'empêche d'écrire une librairie qui prenne cela en considération. Moi je fais du Serial Software qui va aussi bien (surtout à 16Mhz).

De toute façon l'usage des librairies est très limité sur le Tiny à cause de la taille de la flash. Par exemple IRremote n'est pas utilisable et j'ai d'ailleurs mis à dispo dans "Projets finis" une réception RC5 sous interruption mais ultraconcise.

Dans tous les cas le core Tiny est intégré dans l'environnement Arduino sans avoir besoin de librairies particulières. Evidemment certaines librairies n'ont pas de sens sur un Tiny et c'est au développeur de prendre cela en considération. Egalement les librairies personnelles mises à dispo par certains ne prennent généralement pas en considération le core utilisé ou plutôt ne considère que la famille ATmega.

JLB
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

L'ICSP laisse l'usage des pins MOSI, MISO et CLK comme entrée et comme sortie à condition de ne pas cabler directement dessus une charge ou une source qui empêche le programmateur de bouger les signaux. Il est donc possible de reprogrammer un Tiny par ICSP tout en ayant cablé un port série dessus.
Un port série ou autre port/bus, suffit de bien suivre la procédure décrite par ATMEL.
Il faut aussi faire trés attention si on utilise des modules SPI et un ATmega alimenté en 3v3, la moindre erreur de câblage et c'est le drame.
De même, ne jamais oublier la résistance de 10K entre RESET et +VCC, sinon lors de l'activation du ICSP le circuit peut partir en fumé (retour de tension dans +VCC).

Le connecteur ICSP n'a pas 8 broches mais 6 (les 4 SPI + l'alim).
MISO, MOSI, SCK, RESET, GND, VCC, ... ok donc je sait plus compter jusqu'à 6 smiley-mr-green
Bon donc je retire ce que j'ai dit, il reste 2 broches hors du port ICSP sur un ATtiny smiley-mr-green

De toute façon l'usage des librairies est très limité sur le Tiny à cause de la taille de la flash. Par exemple IRremote n'est pas utilisable et j'ai d'ailleurs mis à dispo dans "Projets finis" une réception RC5 sous interruption mais ultraconcise.
Sur un Attiny45 pourquoi pas, mais sur un ATtiny85 il y a quand même pas mal de place (8Ko).
Moi je programme en avr-c sur ATtiny, mes programmes ne dépasse jamais 4Ko du coup smiley-wink
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Near Paris in France
Offline Offline
Full Member
***
Karma: 0
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si tu programmes avec l'IDE Arduino mais sans utiliser les fonctions Arduino (digitalRead/Write, analogRead/Write, pinMode, delay, etc... Et bien tu ne prends pas plus de place qu'en avr-c...

Le problème ce sont les librairies. On peut s'en passer et tout écrire soi-même.

JLB
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Si tu programmes avec l'IDE Arduino mais sans utiliser les fonctions Arduino (digitalRead/Write, analogRead/Write, pinMode, delay, etc... Et bien tu ne prends pas plus de place qu'en avr-c...
Oui mais ça ne vaut pas un bon makefile du coup, avec ton choix d'optimisation, de linker, etc ...
Tu peut aussi prévoir ta routine de flash / fusibles et faire un affichage de la taille du prog + sections.
Quitte à programmer en avr-c autant le faire avec un makefile, c'est pas plus compliqué mais tu est libre de faire ce que tu veut smiley-wink
(Et franchement l'avr-c + makefile c'est vraiment pas plus compliqué que de l'arduino en y regardant ...)

Le problème ce sont les librairies. On peut s'en passer et tout écrire soi-même.
Moi j'utilise le moins de librairie possible, je fait tout en bas niveau.
J'aime pas ne pas savoir ce que j'utilise smiley-mr-green
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Near Paris in France
Offline Offline
Full Member
***
Karma: 0
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je suis d'accord avec toi mais en même temps j'apprécie beaucoup le projet Arduino qui tend à une simplification extrême de l'ensemble de l'IDE tout en assurant une bonne garantie de cohérence.

Je suis surtout ici parce que j'aime bien aider et encourager les débutants. Je m'efforce de présenter correctement mes bouts de code et j'aime montrer qu'on peut tout faire avec l'IDE Arduino sans avoir besoin de devenir un spécialiste des micro-contrôleurs.

Exemple : La compil et le build d'un projet (un sketch, un croquis) sont effectués à chaque téléversement. Ca te parait sans doute rien mais pour un débutant dont le but n'est pas forcément de denir un expert en uControleurs, mais plutôt de faire aboutir un projet, c'est carrément énorme...

JLB
Logged

France
Offline Offline
God Member
*****
Karma: 4
Posts: 972
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour
Vu que l'échange, intéressant pour ma part, entre jihelbi et skywodd élargit quelque peu le champs du fil initial au dela  d'Arduino j'en profite pour signaler qu'un compilateur C commercial sous Windows, CodeVision, prend en charge de manière assez efficace les Tiny , les 'costauds' comme le 85 et les tout petits...
+++ Bonne aide '=Wizard' pour configurer les périphériques. (l'utilisation de ce Wizzard est même bénéfique  à l'utilisateur d'Arduino qui n'est plus débutant et veut commencer à  exploiter un peu les périphériques internes au delà de ce que l'IDE propose.... ça permet de vérifier si on a compris la datasheet. Personellement c'est l'utilisation que j'en fait = complément d'Arduino, en lever de doute de lecture de datasheet)
La version d'évaluation de CodeVision est limitée à 4kb .....juste ce qu'il faut pour un Tiny45 !
http://www.hpinfotech.ro/html/cvavr.htm
Quote
Chips supported by CodeVisionAVR Standard:
ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny20, ATtiny40 (reduced core)
ATtiny13, ATtiny13A
ATtiny1634
ATtiny167, ATtiny87
ATtiny22
ATtiny2313, ATtiny2313A, ATtiny4313
ATtiny24, ATtiny44, ATtiny84
ATtiny25, ATtiny45, ATtiny85
ATtiny26, ATtiny46, ATtiny86, ATtiny166
ATtiny261, ATtiny461, ATtiny861
ATtiny43U
« Last Edit: July 28, 2012, 10:09:11 am by al1fch » Logged

41500
Offline Offline
Newbie
*
Karma: 1
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour

en fouillant dans le forum j'ai trouvé cà smiley

et c'est ce que je veux  faire  smiley-mr-green


par contre j'ai 3 petites questions


1) est ce qu'un tel code rentrerai dans une attiny25 (place disponible suffisante)?
2) y a t il de la marge pour faire une petite modification ( en gros rajouter un delay)?
3) a quelle frequnce c'est cadencé? 10 ou 20?

@+

cyle
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

en fouillant dans le forum j'ai trouvé cà smiley

et c'est ce que je veux  faire  smiley-mr-green
C'est un sacré déterrage de topic ça smiley-mr-green

1) est ce qu'un tel code rentrerai dans une attiny25 (place disponible suffisante)?
A voir, vu le nombre très restreint de ligne de code je pense que oui.

2) y a t il de la marge pour faire une petite modification ( en gros rajouter un delay)?
Le meilleur moyen est de faire la modif et de compiler le tout.
Pas besoin d'avoir l'ATtiny sous la main pour compiler smiley-wink

3) a quelle frequnce c'est cadencé? 10 ou 20?
Par défaut l'ATtiny25 avec l'oscillateur interne tourne à 8 MHz.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

41500
Offline Offline
Newbie
*
Karma: 1
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

en fouillant dans le forum j'ai trouvé cà smiley

et c'est ce que je veux  faire  smiley-mr-green
C'est un sacré déterrage de topic ça smiley-mr-green

1) est ce qu'un tel code rentrerai dans une attiny25 (place disponible suffisante)?
A voir, vu le nombre très restreint de ligne de code je pense que oui.

2) y a t il de la marge pour faire une petite modification ( en gros rajouter un delay)?
Le meilleur moyen est de faire la modif et de compiler le tout.
Pas besoin d'avoir l'ATtiny sous la main pour compiler smiley-wink

3) a quelle frequnce c'est cadencé? 10 ou 20?
Par défaut l'ATtiny25 avec l'oscillateur interne tourne à 8 MHz.

Salut

Merci de me repondre  smiley

j'ai rien encore pour compiler et flasher dans une attiny.
N'importe quel compilateur peut suffire?je testeterai des modifs  ensuite.

je peux donc prendre des attiny -10 à la place des 20

@+

cyle


Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

j'ai rien encore pour compiler et flasher dans une attiny.
N'importe quel compilateur peut suffire?je testeterai des modifs  ensuite.
Le compilateur c'est forcément Avr-gcc ...
Pour le reste regarde ici : http://code.google.com/p/arduino-tiny/

je peux donc prendre des attiny -10 à la place des 20
Si tu utilise un quartz externe de 8MHz oui, si tu utilise un quartz externe de 16MHz non.
Si tu utilise l'oscillateur interne il est toujours de 8MHz et tu n'as pas besoin de quartz externe.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

41500
Offline Offline
Newbie
*
Karma: 1
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut

ok je vais regardé pour telecharger AVR-gcc and co.

je cherche à faire ca



et ma question sur la frequence c'etait pour savoir si

ATTINY45-20PU ou ATTINY45-10PU ou bien ATTINY25-20PU ou ATTINY25-10PU 

sachant que les 10 ont l'air de fonctionner à des tensions d'alimentation plus basse (c'est mieux pour des systemes portables sur piles ou atteries)

@+

cyle
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Si tu utilise un quartz externe de 8MHz oui, si tu utilise un quartz externe de 16MHz non.
Si tu utilise l'oscillateur interne il est toujours de 8MHz et tu n'as pas besoin de quartz externe.

Le board.txt de arduino-tiny définit aussi un mode 16MHz Internal-PLL.


@cyle
Quand la sortie de l'ATtiny est à 0V, la led est allumée mais le transistor est bloqué (pas de conduction).
Quand la sortie est à VCC, la led est éteinte et le trasistor est saturé (conduit)
C'est bien ce que tu veux ?
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

41500
Offline Offline
Newbie
*
Karma: 1
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si tu utilise un quartz externe de 8MHz oui, si tu utilise un quartz externe de 16MHz non.
Si tu utilise l'oscillateur interne il est toujours de 8MHz et tu n'as pas besoin de quartz externe.

Le board.txt de arduino-tiny définit aussi un mode 16MHz Internal-PLL.


@cyle
Quand la sortie de l'ATtiny est à 0V, la led est allumée mais le transistor est bloqué (pas de conduction).
Quand la sortie est à VCC, la led est éteinte et le trasistor est saturé (conduit)
C'est bien ce que tu veux ?


Salut


je vais remplacer le transistor par un optocoupleur pour proteger un peu plus l'appareil photo

ce que je veux c'est que la led soit allumée et qui il y ait  mise en commun des deux fil de par et d'autre du mot APN sur la photo

@+
cyle
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ce que je veux c'est que la led soit allumée et qui il y ait  mise en commun des deux fil de par et d'autre du mot APN sur la photo

Pour l'instant dans ton montage à transistor, c'est l'inverse qui se produit.
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Pages: 1 2 [3] 4   Go Up
Jump to: