Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
SD, PIC18F4550,librairies et questions diverses
21-02-2014, 01:15 AM, (This post was last modified: 21-02-2014, 01:17 AM by Callmea.)
#1
SD, PIC18F4550,librairies et questions diverses
Bonjour à tous,

Désolé si je pose des question qui ont déjà été posées, mais je débute sous pinguino m'étant fabriqué ma première carte Heart

En regardant le wiki, j ai cru lire (peut être à tort) que la librairie SD ne fonctionnait que pour les cartes à base de pics32?

Quelles sont les recommandations (si elles existent) pour porter des libraires d Arduino vers pinguino? J'ai lu que comme pinguino passait par SDCC il fallait du C et non du C++, mais à part ça? Je ne connais pas grand chose en micro contrôleurs, mais j ai un bon background en C sur ordinateur.

Concernant digitalWrite, j ai lu que contrairement à l'Arduino, il attaquait les ports en direct, ce que ne fais pas apparemment Arduino car il faisait des tests au préalable, et donc c'est assez lent. Pour un de mes programmes je dois donc utiliser PORTB par exemple pour envoyer des données rapidement. Donc sur mon pinguino je pourrait théoriquement m'en passer?

J'ai un quartz de 20 Mhz, avec le pll, apparemment je serais à 48 mhz en interne si j'ai bien compris?

Pour les connaisseurs, des choses à prendre ne compte dans les délais/ cycles par rapport à l'Arduino (je pense notamment à la transmission de données).

En tout cas très bonne initiative, j essaierais de partager mes trouvailles/devs quand j aurais maîtrisé un peu plus la bébête.

Merci pour le boulot effectué et bonne soirée.

Edit : Correction
Reply
21-02-2014, 10:25 AM,
#2
RE: SD, PIC18F4550,librairies et questions diverses
(21-02-2014, 01:15 AM)Callmea Wrote: Bonjour à tous,

Désolé si je pose des question qui ont déjà été posées, mais je débute sous pinguino m'étant fabriqué ma première carte Heart

En regardant le wiki, j ai cru lire (peut être à tort) que la librairie SD ne fonctionnait que pour les cartes à base de pics32?

Quelles sont les recommandations (si elles existent) pour porter des libraires d Arduino vers pinguino? J'ai lu que comme pinguino passait par SDCC il fallait du C et non du C++, mais à part ça? Je ne connais pas grand chose en micro contrôleurs, mais j ai un bon background en C sur ordinateur.

Concernant digitalWrite, j ai lu que contrairement à l'Arduino, il attaquait les ports en direct, ce que ne fais pas apparemment Arduino car il faisait des tests au préalable, et donc c'est assez lent. Pour un de mes programmes je dois donc utiliser PORTB par exemple pour envoyer des données rapidement. Donc sur mon pinguino je pourrait théoriquement m'en passer?

J'ai un quartz de 20 Mhz, avec le pll, apparemment je serais à 48 mhz en interne si j'ai bien compris?

Pour les connaisseurs, des choses à prendre ne compte dans les délais/ cycles par rapport à l'Arduino (je pense notamment à la transmission de données).

En tout cas très bonne initiative, j essaierais de partager mes trouvailles/devs quand j aurais maîtrisé un peu plus la bébête.

Merci pour le boulot effectué et bonne soirée.

Edit : Correction

Bonjour,
Pour la lib SD 8bits le wiki n'est pas à jour.
Tu trouveras des exemples dans le dossier examples\09-Interfacing\SD et les fichiers .c .h dans pinguino\librairies\SD.
Cela marche bien pour les 18f26j50 et 18f47j53. Malheureusement pour le 18f4550 je n'ai pas encore trouvé une interface 5V/3.3V valable.
Si quelqu'un me propose cet interface je suis disposé à tester la lib en utilisant un 18f4550.
Les fichiers .c .h sont adaptés de la lib Petit FatFs. Voir http://elm-chan.org/fsw/ff/00index_p.html

Une 2è lib plus riche devrait être diffusée prochainement, tff pour Tiny FatFs. Voir http://elm-chan.org/fsw/ff/00index_e.html
La Flash du 18f4550 est insuffisante pour supporter cette lib.
A+
André
Reply
21-02-2014, 11:55 AM,
#3
RE: SD, PIC18F4550,librairies et questions diverses
André, I think here you may find such an interface:
http://www.hobbytronics.co.uk/mosfet-vol...-converter
It was linked from post #8 in this thread (look for 'this one'):
http://forum.pinguino.cc/showthread.php?tid=4252
Sorry for replying in English. After 32 years, my French is quite outdated and I fear it would be a rather pointless attempt ..
Reply
21-02-2014, 12:49 PM,
#4
RE: SD, PIC18F4550,librairies et questions diverses
(21-02-2014, 11:55 AM)trollpatsch Wrote: André, I think here you may find such an interface:
http://www.hobbytronics.co.uk/mosfet-vol...-converter
It was linked from post #8 in this thread (look for 'this one'):
http://forum.pinguino.cc/showthread.php?tid=4252
Sorry for replying in English. After 32 years, my French is quite outdated and I fear it would be a rather pointless attempt ..

@Trollpatsch
Thank you for this indication.
Unfortunately I already tried this solution without success with a 18f4550 while it worked with an Arduino ! Another mystery !
I shall try again when I shall have time !
André
Reply
21-02-2014, 01:32 PM,
#5
RE: SD, PIC18F4550,librairies et questions diverses
Sorry for interfering. Hm, if it does NOT work, that's not necessarily a problem of the level-shifter, but might be something "before". You MAY try to run at 3.3V core voltage (just for testing, removing all 5V-only circuitry; the 4550 should run down to 2V). Of course, this means: reduced clock rate. at 3.3V the limit would be something about 16MHz. But IMHO this does NOT imply to completely drop USB. The USB system always runs at 3.3V, and it should be possible to run just the core system at an internal clock of, say 8Mhz (=> no need to replace xtal). I never tried such, just ideas. And slowing down communication could also eliminate some troubles originating from critical timings (so at least giving a clue). But I might be terribly wrong ...

From 39632e.pdf par 1.1.3:
"Asynchronous dual clock operation, allowing the
USB module to run from a high-frequency
oscillator while the rest of the microcontroller is
clocked from an internal low-power oscillator"
Reply
21-02-2014, 05:06 PM, (This post was last modified: 21-02-2014, 05:16 PM by Callmea.)
#6
RE: SD, PIC18F4550,librairies et questions diverses
Hello les pinguiniens.

André et trollpatsch merci pour cette réponseSmile

Trollpatsch : No problem for your answer in english, i undestand even if my english isn't very good Wink

Maybe i'm wrong and I'm a beginner in electronic, but when I want to use 3.3V with 5V devices like Arduino (like rx/tx communications at 3,3V) i use a "pont diviseur de tension" ("Divisor bridge" in english? see Pont diviseur de tension wikipedia).

To convert 5V to 3,3V i use 3 of same resistors (whatever them values).
So i If I have 5V (U1):
An U2 is the desired 3,3V
And my 3 resistors (exemple 220 ohms) like this :
R1= 2 resistors in parallel
r2=1 resistor
I apply (source wikipedia) :
[Image: 2b768e72b7bdda887badd118b723a685.png]

u2=5*(220/(110+220)

So U2=3,333 Volt (approx but really near)

Note : 110 because the 2 resistors are in parallel and their values are divised by 2.

I m using that, maybe it doesn't work evywhere, and it's not a good idea?

Have a good day Smile

Edit : I use it only on 5V output and signal. On reception, 3,33V may be considered as High. It works on avr, However i m not sure about pic mcus.
Reply
21-02-2014, 05:27 PM,
#7
RE: SD, PIC18F4550,librairies et questions diverses
The current drawn from your bridge (a voltage devider) varies depending on the internal state of the uC (its internal resistance is not a constant). In order to draw a reasonable amount of current (or power), the resistors may not be too high, which implies a relevant current thru their serial circuit, and thus a "useless" power consumption (not good for battery powered applications).
Reply
21-02-2014, 05:43 PM,
#8
RE: SD, PIC18F4550,librairies et questions diverses
Thank you for your explanations, i never asked myself about battery because i always use a psu unit.
Do I take any risk to use this type of voltage Divider? I always have 3,3V when i check with voltmeter (approx).
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)