<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>8-bit MicrocontrollersのトピックRe: Need help on SPI module</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148547#M7724</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Not 100% sure of the sytax (compiler dependent) but you can just do&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;&lt;FONT face="Arial"&gt;BRCLR &amp;nbsp;&amp;nbsp;&amp;nbsp; 7,SPSCR,*&lt;BR /&gt;&lt;BR /&gt;the * is a reference to itself. This is exactly how you write it when using the PEmicro assembler.&lt;BR /&gt;&lt;BR /&gt;another example&lt;BR /&gt;&lt;BR /&gt;bra *&lt;BR /&gt;will just branch to self&lt;BR /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 20 Apr 2008 15:48:28 GMT</pubDate>
    <dc:creator>CarlFST60L_3rd</dc:creator>
    <dc:date>2008-04-20T15:48:28Z</dc:date>
    <item>
      <title>Need help on SPI module - MC908GP32</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148546#M7723</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV align="left"&gt;&lt;SPAN style=": ; font-size: 2; font-family: Arial;"&gt;Good Day everyone,&lt;BR /&gt;&lt;BR /&gt;I'm doing my project on Eight Bicolor 5x7 LED Matrix Display using GP32. On my previous post, I had problem with the hardware part. Now that I've finished construct my hardware, I'm stucked at this phase where I need to test the SPI module and light up all the LEDs.&lt;BR /&gt;&lt;BR /&gt;Here's my code to light up 4 bicolor LED matrix using 2 MAX6952 display drivers. I'm using ICD08SZ Debugger.&lt;BR /&gt;&lt;BR /&gt;PORTA&amp;nbsp;&amp;nbsp;&amp;nbsp; EQU &amp;nbsp;&amp;nbsp;&amp;nbsp; $00&lt;BR /&gt;CONFIG1&amp;nbsp;&amp;nbsp;&amp;nbsp; EQU &amp;nbsp;&amp;nbsp;&amp;nbsp; $1F&lt;BR /&gt;PORTB&amp;nbsp;&amp;nbsp;&amp;nbsp; EQU &amp;nbsp;&amp;nbsp;&amp;nbsp; $01&lt;BR /&gt;DDRA&amp;nbsp;&amp;nbsp;&amp;nbsp; EQU &amp;nbsp;&amp;nbsp;&amp;nbsp; $04&lt;BR /&gt;START&amp;nbsp;&amp;nbsp;&amp;nbsp; EQU &amp;nbsp;&amp;nbsp;&amp;nbsp; $8000&lt;BR /&gt;SPCR&amp;nbsp;&amp;nbsp;&amp;nbsp; EQU &amp;nbsp;&amp;nbsp;&amp;nbsp; $10&lt;BR /&gt;SPSCR&amp;nbsp;&amp;nbsp;&amp;nbsp; EQU &amp;nbsp;&amp;nbsp;&amp;nbsp; $11&lt;BR /&gt;SPDR&amp;nbsp;&amp;nbsp;&amp;nbsp; EQU &amp;nbsp;&amp;nbsp;&amp;nbsp; $12&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ORG &amp;nbsp;&amp;nbsp;&amp;nbsp; $FFFE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FDB &amp;nbsp;&amp;nbsp;&amp;nbsp; START&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ORG &amp;nbsp;&amp;nbsp;&amp;nbsp; START&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV &amp;nbsp;&amp;nbsp;&amp;nbsp; #$B1,CONFIG1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV &amp;nbsp;&amp;nbsp;&amp;nbsp; #$38,SPCR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSET &amp;nbsp;&amp;nbsp;&amp;nbsp; 1,SPCR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV &amp;nbsp;&amp;nbsp;&amp;nbsp; #$11,SPSCR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV &amp;nbsp;&amp;nbsp;&amp;nbsp; #$06,DDRA&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;== Latch PTA1 and PTA2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV &amp;nbsp;&amp;nbsp;&amp;nbsp; #$04,SPDR&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;== Configuration&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV &amp;nbsp;&amp;nbsp;&amp;nbsp; #$00,PORTA&lt;/SPAN&gt;&lt;SPAN style=": ; font-size: 2; font-family: Arial;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;== I connected PTA1 and PTA2 to CS pin of both MAX6952&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style=": ; font-size: 2; font-family: Arial;"&gt;HERE1&amp;nbsp;&amp;nbsp;&amp;nbsp; BRCLR &amp;nbsp;&amp;nbsp;&amp;nbsp; 3,SPSCR,HERE1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV &amp;nbsp;&amp;nbsp;&amp;nbsp; #$01,SPDR&lt;BR /&gt;HERE2&amp;nbsp;&amp;nbsp;&amp;nbsp; BRCLR &amp;nbsp;&amp;nbsp;&amp;nbsp; 7,SPSCR,HERE2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDA &amp;nbsp;&amp;nbsp;&amp;nbsp; SPSCR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDA &amp;nbsp;&amp;nbsp;&amp;nbsp; SPDR&lt;BR /&gt;HERE3&amp;nbsp;&amp;nbsp;&amp;nbsp; BRCLR &amp;nbsp;&amp;nbsp;&amp;nbsp; 7,SPSCR,HERE3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDA &amp;nbsp;&amp;nbsp;&amp;nbsp; SPSCR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDA &amp;nbsp;&amp;nbsp;&amp;nbsp; SPDR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV &amp;nbsp;&amp;nbsp;&amp;nbsp; #$06,PORTA&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;== CS = '1'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV &amp;nbsp;&amp;nbsp;&amp;nbsp; #$07,SPDR&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;== Display test&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV &amp;nbsp;&amp;nbsp;&amp;nbsp; #$00,PORTA&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;== CS = '0'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOP&lt;BR /&gt;HERE4&amp;nbsp;&amp;nbsp;&amp;nbsp; BRCLR &amp;nbsp;&amp;nbsp;&amp;nbsp; 3,SPSCR,HERE4&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV &amp;nbsp;&amp;nbsp;&amp;nbsp; #$01,SPDR&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;== Normal operation&lt;BR /&gt;HERE5&amp;nbsp;&amp;nbsp;&amp;nbsp; BRCLR &amp;nbsp;&amp;nbsp;&amp;nbsp; 7,SPSCR,HERE5&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDA &amp;nbsp;&amp;nbsp;&amp;nbsp; SPSCR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDA &amp;nbsp;&amp;nbsp;&amp;nbsp; SPDR&lt;BR /&gt;HERE6&amp;nbsp;&amp;nbsp;&amp;nbsp; BRCLR &amp;nbsp;&amp;nbsp;&amp;nbsp; 7,SPSCR,HERE6&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDA &amp;nbsp;&amp;nbsp;&amp;nbsp; SPSCR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDA &amp;nbsp;&amp;nbsp;&amp;nbsp; SPDR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOV &amp;nbsp;&amp;nbsp;&amp;nbsp; #$06,PORTA&lt;BR /&gt;AGAIN&amp;nbsp;&amp;nbsp;&amp;nbsp; BRA &amp;nbsp;&amp;nbsp;&amp;nbsp; AGAIN&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;When I execute the program line by line, this is where I got the problem:&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style=": ; font-size: 2; font-family: Arial;"&gt;HERE3&amp;nbsp;&amp;nbsp;&amp;nbsp; BRCLR &amp;nbsp;&amp;nbsp;&amp;nbsp; 7,SPSCR,HERE3&lt;BR /&gt;&lt;BR /&gt;The program said that it cannot branch to itself. Could anyone help me on this? I'm jammed now and really need help.&lt;BR /&gt;&lt;BR /&gt;Thanks and regards,&lt;BR /&gt;Nennie&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Added p/n to subject.&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Message Edited by NLFSJ on &lt;/SPAN&gt;&lt;SPAN class="date_text"&gt;2008-04-21&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;05:40 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 20 Apr 2008 12:02:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148546#M7723</guid>
      <dc:creator>nennie</dc:creator>
      <dc:date>2008-04-20T12:02:29Z</dc:date>
    </item>
    <item>
      <title>Re: Need help on SPI module</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148547#M7724</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Not 100% sure of the sytax (compiler dependent) but you can just do&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;&lt;FONT face="Arial"&gt;BRCLR &amp;nbsp;&amp;nbsp;&amp;nbsp; 7,SPSCR,*&lt;BR /&gt;&lt;BR /&gt;the * is a reference to itself. This is exactly how you write it when using the PEmicro assembler.&lt;BR /&gt;&lt;BR /&gt;another example&lt;BR /&gt;&lt;BR /&gt;bra *&lt;BR /&gt;will just branch to self&lt;BR /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 20 Apr 2008 15:48:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148547#M7724</guid>
      <dc:creator>CarlFST60L_3rd</dc:creator>
      <dc:date>2008-04-20T15:48:28Z</dc:date>
    </item>
    <item>
      <title>Re: Need help on SPI module</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148548#M7725</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Nennie,&lt;BR /&gt;&lt;BR /&gt;I don't know how to drive the device at the other end of your SPI, but the code you have should run OK.&lt;BR /&gt;Indeed I assembled and simulated it OK.&lt;BR /&gt;Using branch to a label on the same line and branch to * should produce the same machine code.&lt;BR /&gt;I am not sure if the very short CS pulse you have generated is what you wanted.&lt;BR /&gt;What assembler/simulator are you using?&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Apr 2008 06:27:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148548#M7725</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2008-04-21T06:27:03Z</dc:date>
    </item>
    <item>
      <title>Re: Need help on SPI module</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148549#M7726</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;It looks like you are enabling the MAX by placing the CS line in high state, but the device is enabled by placing the CS line in low state.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Apr 2008 07:50:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148549#M7726</guid>
      <dc:creator>fabio</dc:creator>
      <dc:date>2008-04-21T07:50:44Z</dc:date>
    </item>
    <item>
      <title>Re: Need help on SPI module</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148550#M7727</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hello Nennie,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;It is unclear whether you have "daisy chained" the two MAX6952 devices, or alternatively are operating them&amp;nbsp;in parallel.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;For the first case you will need to lower&amp;nbsp;both CS signals, and then send two bytes, one to each device in the chain, before raising CS to latch the data.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;For the parallel case, each CS would need to be controlled separately, and the data would need to be sent to each device, in turn.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;It would also make your code a little clearer by defining a label for CS1 and CS2.&amp;nbsp; Assuming bit numbers are defined the following might apply -&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;CS1&amp;nbsp;&amp;nbsp; equ&amp;nbsp; 1&amp;nbsp; ; PTA1 used&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;CS2&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp;2&amp;nbsp; ; PTA2 used&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bclr&amp;nbsp; CS1,PORTA&amp;nbsp; ; Set device 1 active&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bclr&amp;nbsp; CS2,PORTA&amp;nbsp; ; Set device 2 active&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bset&amp;nbsp; CS1,PORTA&amp;nbsp; ; Set device 1 inactive&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bset&amp;nbsp;&amp;nbsp;CS2,PORTA&amp;nbsp; ; Set device 2 inactive&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by bigmac on &lt;SPAN class="date_text"&gt;2008-04-22&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;04:12 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Apr 2008 01:09:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148550#M7727</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2008-04-22T01:09:34Z</dc:date>
    </item>
    <item>
      <title>Re: Need help on SPI module</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148551#M7728</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV align="left"&gt;&lt;FONT size="2"&gt;Hello Bigmac,&lt;BR /&gt;&lt;BR /&gt;I have "daisy-chained" both MAX6952s. In this case, I connected Rset to both MAX6952s Iset pins. For the clock, I use external clock with the frequency of 8MHz to get the maximum speed.&lt;BR /&gt;&lt;BR /&gt;Thanks everyone for the suggestions. I only manage to try those out today, will do as u suggested &lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt;&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Nennie&lt;BR /&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Apr 2008 18:07:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148551#M7728</guid>
      <dc:creator>nennie</dc:creator>
      <dc:date>2008-04-23T18:07:45Z</dc:date>
    </item>
    <item>
      <title>Re: Need help on SPI module</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148552#M7729</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hello Nennie,&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;HR /&gt;nennie wrote:&lt;BR /&gt;&lt;DIV align="left"&gt;&lt;FONT size="2"&gt;I have "daisy-chained" both MAX6952s. In this case, I connected Rset to both MAX6952s Iset pins. For the clock, I use external clock with the frequency of 8MHz to get the maximum speed.&lt;BR /&gt;&lt;/FONT&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;If you have the&amp;nbsp;Iset pin for each MAX6952 connected in parallel, and then connected to a single resistor, this is wrong.&amp;nbsp; There should be separate resistors to each Iset pin.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;What "clock" do you refer to?&amp;nbsp; If you mean the CLK pin on each MAX6952, this is also wrong.&amp;nbsp; The signal for the CLK pin should originate from the SPI module.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The following recent&amp;nbsp;thread discusses SPI operation for the GP32 device -&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;A href="http://forums.freescale.com/freescale/board/message?board.id=8BITCOMM&amp;amp;thread.id=10488" target="_blank"&gt;http://forums.freescale.com/freescale/board/message?board.id=8BITCOMM&amp;amp;thread.id=10488&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;For SPI master operation, I would strongly suggest that you wait until each SPI transfer is completed before attempting to send the next byte.&amp;nbsp; I would also suggest that your code would be more understandable if each SPI send were handled within a common sub-routine.&amp;nbsp; A lot more comments within your code would also help provide clarity on what you are attempting to achieve.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;You do not say which assembler you are using (with the non-standard comment format), but the following sub-routine should work with most assemblers -&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;; SPI MASTER BI-DIRECTIONAL TRANSFER&lt;BR /&gt;; On entry, ACC = byte value to be sent&lt;BR /&gt;; On exit,&amp;nbsp; ACC = received byte value&lt;/FONT&gt; &lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;SPI_TRANS:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STA&amp;nbsp;&amp;nbsp;&amp;nbsp; SPDR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;; Send byte value&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BRCLR&amp;nbsp; 7,SPSCR,*&amp;nbsp;&amp;nbsp;; Wait until transfer complete&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDA&amp;nbsp;&amp;nbsp;&amp;nbsp; SPDR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;; Return received value &amp;amp;&amp;nbsp;clear flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTS&lt;BR /&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The use of the sub-routine may also eliminate some of the incorrect sequencing in the previous code, like attempting to start a SPI transmission prior to CS being activated (set low).&amp;nbsp; Another important issue is that the MAX6952 contains a 16-bit register which will require the sending of two bytes.&amp;nbsp; Since you are daisy chaining two devices, you will actually need to send 32 bits of data, or four bytes for each transfer.&amp;nbsp; You do not appear to have taken this into account.&lt;/DIV&gt;&lt;BR /&gt;To send a command to each of the devices would require the following sequence, assuming MOSI is connected to the first device&amp;nbsp;(and MISO to the second device) -&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;Set CS1 active low&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;Set CS2 active low&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;Send command byte for device 2&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;Send data byte for device 2&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;Send command byte for device 1&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;Send data byte for device 1&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;Release CS1 to inactive&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;Release CS2 to inactive&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Finally, I will leave for you to check that the CPOL and CPHA settings&amp;nbsp;match the requirements for the MAX6952.&amp;nbsp; You will need to closely examine the waveforms given in the MAX6952 datasheet.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by bigmac on &lt;SPAN class="date_text"&gt;2008-04-24&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;03:46 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2008 12:41:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Need-help-on-SPI-module-MC908GP32/m-p/148552#M7729</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2008-04-24T12:41:43Z</dc:date>
    </item>
  </channel>
</rss>

