I got myself a bunch of these Propeller chips and the Prop tool back in late 2010 when I have already graduated. The tough part was getting these libraries to work. I was very young at that time and inexperienced, and tried to get Propeller to work with SD-Card, but failed miserably.
Many years later, I chanced upon these stuff when I'm cleaning the room. Maybe I can give it a try again? What problems would I see again?
Here are the bare minimum to connect the SD-Card to the Propeller:
Looks fine eh? Oh well, back then I did not bother to put the pull-ups. Prolly why it kept failing. In the schematic, it's not labelled, but it's usually 10K.
I got these pieces of code from http://obex.parallax.com/object/33. That was the simplest, and doesn't look like the drivers are scattered all over the place.
Then the fun part begins - I try to get it to be detected. That was that itch I wanna scratch since 2010:
{ FSRW Test } CON _clkmode = xtal1 + pll16x 'Standard clock mode * crystal frequency = 80 MHz _xinfreq = 5_000_000 SDO = 15 SDI = 13 SCK = 14 CS = 16 VAR long symbol byte isMounted OBJ fsrw: "fsrw.spin" pst: "Parallax Serial Terminal.spin" spisd: "safe_spi.spin" PUB main pst.Start(115200) pst.Str(String("Hello World Propeller!")) isMounted := fsrw.mount_explicit(SDO, SCK, SDI, CS) if(isMounted == 0) pst.Str(String("SD-Card Detected!")) else pst.Str(String("SD-Card error or not found!")) DIRA[3] := 1 repeat OUTA[3] := 0 waitcnt(cnt + (clkfreq/2)) OUTA[3] := 1 waitcnt(cnt + (clkfreq/2)) PRI private_method_name DAT name byte "string_data",0
Did it work? At the start, no. It hung after the "mount_explicit".
I searched around for an hour or so. Then went to nap. After the nap I looked at the breadboard and I found the SD-Card didn't get powered up (the little red and black wires below the pull-up resistors):
Damn, I looked really stupid on that one! Connecting to it, it's all working!
What am I gonna do next? It's simple: I'm trying to see if I can read or write something on it!
Firstly, if it doesn't get detected or hang up:
- Flip the SDI and SDO pin numbers on the "CON" area.
- Make sure the SD-Card is powered.
- Make sure the SD-Card is fully inserted into the slot!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.