infineon4engineers Facebook

infineon@google+ Google+

infineon@linkedin linkedin

infineon4engi@twitter twitter

infineon@youtube youtube

+ Reply to Thread
Results 1 to 2 of 2

Thread: XMC 1400 SPI Clock/Bit Offset Transmit Slave

  1. #1
    New Member New Member CodeGuy25 is on a distinguished road
    Join Date
    May 2019
    Posts
    2
    Points
    17.5

    XMC 1400 SPI Clock/Bit Offset Transmit Slave

    Hi all,

    Using a XMC1400 for the first time and playing around with the HAL.
    I'm currently trying out a spi program that basically gets sent data and then sends it back on the next transmit.
    My issue is that all of my transmit data is fine except for the last byte, in which MISO is half a clock cycle over and is not matching.
    I've gone though my settings (I'm using the standard daveApp SPI slave configured in interrupt mode, default pin settings).
    I've also verified that my FIFO data is correct,

    My program flow is basically:
    1. Dave init
    2. Wait for slave select then start transmitting data
    3. Receive in data, and queue up that data to be transmitted on the next SPI

    Picture for what I'm seeing (top is MOSI, 2nd is MISO):
    Click image for larger version

Name:	spi_byte_issue.PNG
Views:	4
Size:	13.4 KB
ID:	3986
    Any help is appreciated.

  2. #2
    New Member New Member CodeGuy25 is on a distinguished road
    Join Date
    May 2019
    Posts
    2
    Points
    17.5
    Solution:
    Using the XMC SPI module in interrupt mode requires arrays passed into it to be marked volatile.

+ Reply to Thread

Tags for this Thread

Disclaimer

All content and materials on this site are provided “as is“. Infineon makes no warranties or representations with regard to this content and these materials of any kind, whether express or implied, including without limitation, warranties or representations of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, whether express or implied, is granted by Infineon. Use of the information on this site may require a license from a third party, or a license from Infineon.


Infineon accepts no liability for the content and materials on this site being accurate, complete or up- to-date or for the contents of external links. Infineon distances itself expressly from the contents of the linked pages, over the structure of which Infineon has no control.


Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Usage Terms of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Usage Terms of this site. Infineon reserves the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.