In SX Microcontrollers, SX/B Compiler and SX-Key Tool, Thomas Taylor wrote: This is in response to a PM that came to me recently and I thought it would be better handled in the forum. Basically, the question was asked as to how to start to learn to program the ISD1700 series devices. Here are my thoughts based on my personal experience last year. (I have been away from the chip for a year, so this has been a good review for me as I now have to get back to this aspect of my project.) 1. Download and read the ISD1700 Series Design Guide. http://www.vla.com.br/news/I1700%20Design%20Guide%20Rev%201.1.pdf 2. Read it again. (Seriously, have a copy by your computer, by your bed, and in the bathroom.) 3. FOLLOW Section 11.6 (paragraph 1). This is as basic a plan as can be given. If you skip this you are on your own. This is not the easiest chip to learn. 4. It will help tremendously to make extra copies of all the TABLES in section 10, section 11.6, and section 11 SPI COMMAND REFERENCE. These will be handy to have right next to as you will be thumbing through the rest of the manual all the time while still referring to these pages. 5. *** MOST IMPORTANT *** The copy (that you did make!) of section 11.6 General Guidelines for Writing Program Code, contains 7 Rules. As you write code and debug, keep rereading these rules. (Highlight the key question in each rule so you can easily and quickly scan over them as you debug. As someone once said, "The answer is in there!" I think I probably solved most of my problems by asking myself these questions OVER.OVER.and OVER again. They are a checklist. USE THEM! (I'm slow, but eventually understanding even came to me. You will do well also.) 6. PROGRAMMER: I did make a programmer that worked successfully, but felt that I did not really have to do so. I ended up just using my design board for both standalone mode and SPI mode. 7. What I highly recommend: (I'm from the old school. I programmed assembly language (and machine language) back in the sixties (just after we got radio and heard about TV). I like to see the bits - every one of them! When they are there.and when they are not there. So, I set up two monitoring LED displays (8 LEDs each) - one for MISO and another for MOSI, using registers B and C of the SX28. These are used to monitor the serial transfer of the MOSI & MISO lines as the simultaneous shifting takes place (while you SINGLE STEP through the instruction). I also set up two other LEDs to monitor the status of /SS and SCLK. You will be comparing your results with the timing diagrams in section 11. **** PAY ATTENTION TO EVERY BIT in every byte! **** Know what they represent. Some are error indicators. Some let you know that everything went well or is normal. 8. See step #3. I put all my manual in a three ring binder with section tabs. This made referencing very easy. All the extra copies of special pages I had right before me or posted on a board in EASY reading distance. As Section 11.6 says (did I remember to tell you about 11.6?) learn and understand each SPI command separately. After the basics (PU, PD, STOP, RESET, CLR_INT) I found that a good command to start with is the DEVID (Device ID) command. If you can not retrieve the Device ID, well, keep trying. This was my journey into the ISD 1700 series. Hope others will share their thoughts and that this has been a help to someone else. ---------- End of Message ---------- You can view the post on-line at: http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=249307#m328495 Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2009 (http://www.dotNetBB.com)