<?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>topic Re: CAN help on the S08DZ60 in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CAN-help-on-the-S08DZ60/m-p/214425#M18570</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I apologize.&amp;nbsp; I forget sometimes&amp;nbsp;that most people don't like translating hexadecimal until I leave my desk.&amp;nbsp; I added more complete comments.&amp;nbsp; Hopefully this will help:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;;Initialize CAN&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$80&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%1000 0000 Enable the CAN peripheral by setting CANE bit&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANCTL1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$F0&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%1111 0000 Enable normal operation by setting LOOPB and LISTEN, set clock source to bus clock (8MHz) by setting CLKSRC, and write CANE to 1 (although this should still have no effect at this point)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANCTL1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$67&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%0110 0111 Set 7xTq before sample by loading 7 into TSEG2, 8xTq after sample by loading 8 into TSEG1.&amp;nbsp; This give a 500kHz bitrate&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANBTR1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$00&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%0000 0000 Clear INITRQ, to enter CAN operation&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; STA CANCTL0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...and this is the subroutine that, I think, should transmit a message:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;;****CAN_TX***************************************​********&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; CAN_TX:&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$01&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%0000 0001 Select transmit buffer 0 by setting bit 0&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTBSEL&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$32&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%0011 0010 Set CAN ID to $191 (combine with CANTIDR0)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTIDR1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$20&amp;nbsp; ;%0010 0000 bottom three bits for CAN ID, clear RTR for Data Frame, clear IDE for standard identifiers&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTIDR0&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$01&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;Set CAN Message to $0123456789ABCDEF (CANTDSR0-7)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR0&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$23&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$45&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR2&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$67&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR3&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$89&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR4&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$AB&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR5&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$DC&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR6&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$EF&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR7&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$08&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%0000 1000 Eight transmit bytes&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDLR&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$01&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%0000 0001 Clear transmit flag 0 by writing a 1 to TX0&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTFLG&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;;Toggle a pin to synch with scope, also to verify that the subroutine is being called properly&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA PTFD&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; EOR #$08&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA PTFD&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; RTS&amp;nbsp; ;Return from subroutine&lt;/P&gt;&lt;P&gt;;****END CAN_TX********************************************​***&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 08 Mar 2012 18:50:51 GMT</pubDate>
    <dc:creator>meiermat</dc:creator>
    <dc:date>2012-03-08T18:50:51Z</dc:date>
    <item>
      <title>CAN help on the S08DZ60</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CAN-help-on-the-S08DZ60/m-p/214423#M18568</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm having trouble with getting the MSCAN to transmit a message on the MC9S08DZ60.&amp;nbsp; I have, I think, properly initialized everything, and wrote a subroutine that gets called every 5ms from a timer interrupt.&amp;nbsp; I know the subroutine gets called, because I toggle a pin, and I can set a breakpoint.&amp;nbsp; Unfortunately, the CANTX pin never responds.&amp;nbsp; Right now, the pin is floating.&amp;nbsp; If I connect it to a CAN network through a transceiver, I get the same result.&amp;nbsp; I've checked my initialization code and transmit code against some other examples, but I'm not seeing any problem.&amp;nbsp; I considered that perhaps my code isn't initializing properly, since I'm not waiting for the INITAK bit to be set, but&amp;nbsp;according to the&amp;nbsp;data sheet&amp;nbsp;this should already be set on startup.&amp;nbsp; Additionally, I can view the initialized registers, and they seem to have the correct values.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Moreover, I understand that&amp;nbsp;transmit buffer 0&amp;nbsp;might not be available when I enter the subroutine.&amp;nbsp; However, when I step through the program, I can see that buffer 0 is empty every time I enter the subroutine.&amp;nbsp; I'll&amp;nbsp;reinstate the appropriate logic once I can get this operating, but I&amp;nbsp;took it out lest it casue an issue.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can see that the last step in the subroutine, where I'm supposed to be clearing the CANTFLG, isn't working.&amp;nbsp; I can see the $01 loaded into register A, but when that gets stored in CANTFLG, CANTFLG remains at $07, and I don't see any life on the TXCAN line.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I included my initialization code and the transmit code inline in the post.&amp;nbsp; If anyone wants the whole thing, I can provide that as well.&amp;nbsp; I'm using CodeWarrior V10.1 and the PE Micro USB Multilink Interface standalone probe.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Matt&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;This is my initialization code:&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;;Initialize CAN&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$80&amp;nbsp; &lt;SPAN style=": ; color: #3F7F5F; font-size: 2;"&gt;;Enable the CAN peripheral&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANCTL1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$F0&amp;nbsp; &lt;SPAN style=": ; color: #3F7F5F; font-size: 2;"&gt;;Enable normal operation, set clock source to bus clock (8MHz)&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANCTL1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$67&amp;nbsp; &lt;SPAN style=": ; color: #3F7F5F; font-size: 2;"&gt;;Set 7xTq before sample, 8xTq after, for 500kHz bitrate&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANBTR1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$00&amp;nbsp; &lt;SPAN style=": ; color: #3F7F5F; font-size: 2;"&gt;;Clear INITRQ, to enter CAN operation&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; STA CANCTL0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...and this is the subroutine that, I think, should transmit a message:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;;****CAN_TX***********************************************&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; CAN_TX:&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$01&amp;nbsp; &lt;SPAN style=": ; color: #3F7F5F; font-size: 2;"&gt;;Select transmit buffer 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTBSEL&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$32&amp;nbsp; &lt;SPAN style=": ; color: #3F7F5F; font-size: 2;"&gt;;Set CAN ID to $191&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTIDR1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$20&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTIDR0&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$01&amp;nbsp; &lt;SPAN style=": ; color: #3F7F5F; font-size: 2;"&gt;;Set CAN Message to $0123456789ABCDEF&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR0&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$23&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$45&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR2&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$67&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR3&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$89&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR4&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$AB&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR5&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$DC&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR6&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$EF&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR7&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$08&amp;nbsp; &lt;SPAN style=": ; color: #3F7F5F; font-size: 2;"&gt;;Eight transmit bytes&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDLR&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$01&amp;nbsp; &lt;SPAN style=": ; color: #3F7F5F; font-size: 2;"&gt;;Clear transmit flag 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTFLG&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA PTFD&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; EOR #$08&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA PTFD&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; RTS&lt;/P&gt;&lt;P&gt;;****END CAN_TX***********************************************&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2012 08:02:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CAN-help-on-the-S08DZ60/m-p/214423#M18568</guid>
      <dc:creator>meiermat</dc:creator>
      <dc:date>2012-03-08T08:02:43Z</dc:date>
    </item>
    <item>
      <title>Re: CAN help on the S08DZ60</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CAN-help-on-the-S08DZ60/m-p/214424#M18569</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Buy using mysterios constants, and avoiding decent comments in your code, yur are creating problems not only for yourself, but also for others.&lt;/P&gt;&lt;P&gt;Go decifier what $F0 really means below, write decent comment and you will find main reason why it is not working.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$F0&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;Enable normal operation, set clock source to bus clock (8MHz)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANCTL1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;I ignored the rest of code&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2012 13:15:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CAN-help-on-the-S08DZ60/m-p/214424#M18569</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2012-03-08T13:15:05Z</dc:date>
    </item>
    <item>
      <title>Re: CAN help on the S08DZ60</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CAN-help-on-the-S08DZ60/m-p/214425#M18570</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I apologize.&amp;nbsp; I forget sometimes&amp;nbsp;that most people don't like translating hexadecimal until I leave my desk.&amp;nbsp; I added more complete comments.&amp;nbsp; Hopefully this will help:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;;Initialize CAN&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$80&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%1000 0000 Enable the CAN peripheral by setting CANE bit&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANCTL1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$F0&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%1111 0000 Enable normal operation by setting LOOPB and LISTEN, set clock source to bus clock (8MHz) by setting CLKSRC, and write CANE to 1 (although this should still have no effect at this point)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANCTL1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$67&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%0110 0111 Set 7xTq before sample by loading 7 into TSEG2, 8xTq after sample by loading 8 into TSEG1.&amp;nbsp; This give a 500kHz bitrate&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANBTR1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$00&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%0000 0000 Clear INITRQ, to enter CAN operation&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; STA CANCTL0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...and this is the subroutine that, I think, should transmit a message:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;;****CAN_TX***************************************​********&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; CAN_TX:&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$01&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%0000 0001 Select transmit buffer 0 by setting bit 0&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTBSEL&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$32&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%0011 0010 Set CAN ID to $191 (combine with CANTIDR0)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTIDR1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$20&amp;nbsp; ;%0010 0000 bottom three bits for CAN ID, clear RTR for Data Frame, clear IDE for standard identifiers&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTIDR0&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$01&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;Set CAN Message to $0123456789ABCDEF (CANTDSR0-7)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR0&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$23&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR1&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$45&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR2&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$67&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR3&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$89&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR4&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$AB&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR5&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$DC&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR6&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$EF&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDSR7&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$08&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%0000 1000 Eight transmit bytes&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTDLR&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA #$01&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%0000 0001 Clear transmit flag 0 by writing a 1 to TX0&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA CANTFLG&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;;Toggle a pin to synch with scope, also to verify that the subroutine is being called properly&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; LDA PTFD&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; EOR #$08&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; STA PTFD&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp; RTS&amp;nbsp; ;Return from subroutine&lt;/P&gt;&lt;P&gt;;****END CAN_TX********************************************​***&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2012 18:50:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CAN-help-on-the-S08DZ60/m-p/214425#M18570</guid>
      <dc:creator>meiermat</dc:creator>
      <dc:date>2012-03-08T18:50:51Z</dc:date>
    </item>
    <item>
      <title>Re: CAN help on the S08DZ60</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CAN-help-on-the-S08DZ60/m-p/214426#M18571</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;UL&gt;&lt;LI&gt;I forget sometimes that most people don't like translating hexadecimal until I leave my desk.&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Wrong conclusion. Hex&amp;lt;-&amp;gt;bin, and even hex&amp;lt;-&amp;gt;dec is fine for me. Not fine is looking into datasheet how is the meaning of bit 6 is some register. Do you remember them? Certainly you should comment what bits (by name) you are accessing,&amp;nbsp;at least when you are showing your problematic code&amp;nbsp;to&amp;nbsp;someone else than you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&amp;nbsp;LDA #$F0&amp;nbsp; &lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;;%1111 0000 Enable normal operation by setting LOOPB and LISTEN, set clock&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;source to bus clock (8MHz) by setting CLKSRC, and write CANE to 1 (although this should still&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT color="#3F7F5F" size="2"&gt;&lt;FONT color="#3F7F5F" size="2"&gt;have no effect at this point)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;FONT color="#3F7F5F" size="2"&gt;Comment still is wrong. Setting LOOPB and LISTEN&amp;nbsp;can't be&amp;nbsp;called normal operation. I had a hope that you will read what does LISTEN mean. You can't have anything&amp;nbsp;transferred with this bit set. Reading Bosch CAN specs could help you a lot.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#3F7F5F" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;In TX routine,&amp;nbsp;CANTIDR1 and&amp;nbsp;CANTIDR0 seem being&amp;nbsp;swapped.&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#3F7F5F" size="2"&gt;﻿&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#3F7F5F" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color="#3F7F5F" size="2"&gt;﻿&lt;/FONT&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2012 19:23:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CAN-help-on-the-S08DZ60/m-p/214426#M18571</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2012-03-08T19:23:02Z</dc:date>
    </item>
    <item>
      <title>Re: CAN help on the S08DZ60</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/CAN-help-on-the-S08DZ60/m-p/214427#M18572</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have the Bosch spec.&amp;nbsp; It is, indeed,&amp;nbsp;very helpful.&amp;nbsp; I thought I had&amp;nbsp;"remembered" reading a training document from Freescale that setting both LOOPB and LISTEN would enter normal operation.&amp;nbsp; Apparently I misread it the first&amp;nbsp;several times.&amp;nbsp; Now I'm clearing them both (setting CANCTL1 to $C0), and I'm getting transmission.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You're right about IDR1 and IDR0 being swapped.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks again for the help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Matt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2012 20:56:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/CAN-help-on-the-S08DZ60/m-p/214427#M18572</guid>
      <dc:creator>meiermat</dc:creator>
      <dc:date>2012-03-08T20:56:58Z</dc:date>
    </item>
  </channel>
</rss>

