<?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 K60 SPI no CLK signal in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-SPI-no-CLK-signal/m-p/236988#M5513</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I am trying to use the SPI communication on TWR-K60N512 board to control the a DOGS-102-6 LCD. &lt;/P&gt;&lt;P&gt;I edited the SPI sample code under /mqx/example/spi, and connected elevator board signal to the LCD through:&lt;/P&gt;&lt;P&gt;(SPI2)&lt;/P&gt;&lt;P&gt;Elevator board&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD&lt;/P&gt;&lt;P&gt;Pin 7 on J6&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLK&lt;/P&gt;&lt;P&gt;Pin 9 on J6&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CS&lt;/P&gt;&lt;P&gt;Pin 10 on J6&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOSI&lt;/P&gt;&lt;P&gt;Now the problem is that there is not clock signal and data signal from Pin7 and Pin9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code is as following:&lt;/P&gt;&lt;P&gt;spifd = fopen ("spi2:" NULL);&lt;/P&gt;&lt;P&gt;if (NULL == spifd)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Error opening SPI driver!\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _time_delay (200L);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block ();&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Display baud rate */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Current baud rate ... ");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_GET_BAUD, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("%d Hz\n", param);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Set a different rate */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; param = 500000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Changing the baud rate to %d Hz ... ", param);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_SET_BAUD, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("OK\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Display baud rate */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Current baud rate ... ");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_GET_BAUD, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("%d Hz\n", param);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Set clock mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; param = SPI_CLK_POL_PHA_MODE0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Setting clock mode to %s ... ", clock_mode[param]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_SET_MODE, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("OK\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Get clock mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Getting clock mode ... ");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_GET_MODE, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("%s\n", clock_mode[param]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Set big endian */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; param = SPI_DEVICE_BIG_ENDIAN;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Setting endian to %s ... ", param == SPI_DEVICE_BIG_ENDIAN ? "SPI_DEVICE_BIG_ENDIAN" : "SPI_DEVICE_LITTLE_ENDIAN");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_SET_ENDIAN, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("OK\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Get endian */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Getting endian ... ");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_GET_ENDIAN, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("%s\n", param == SPI_DEVICE_BIG_ENDIAN ? "SPI_DEVICE_BIG_ENDIAN" : "SPI_DEVICE_LITTLE_ENDIAN");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Set transfer mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; param = SPI_DEVICE_MASTER_MODE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Setting transfer mode to %s ... ", device_mode[param]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_SET_TRANSFER_MODE, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("OK\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Get transfer mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Getting transfer mode ... ");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_GET_TRANSFER_MODE, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("%s\n", device_mode[param]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Clear statistics */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Clearing statistics ... ");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_CLEAR_STATS, NULL))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("OK\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Get statistics */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Getting statistics:\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_GET_STATS, &amp;amp;stats))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Interrupts:&amp;nbsp;&amp;nbsp; %d\n", stats.INTERRUPTS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Rx packets:&amp;nbsp;&amp;nbsp; %d\n", stats.RX_PACKETS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Rx overflow:&amp;nbsp; %d\n", stats.RX_OVERFLOWS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Tx packets:&amp;nbsp;&amp;nbsp; %d\n", stats.TX_PACKETS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Tx aborts :&amp;nbsp;&amp;nbsp; %d\n", stats.TX_ABORTS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Tx underflow: %d\n", stats.TX_UNDERFLOWS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Write a byte*/&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; send_buffer[0] = 0x40;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Write instruction */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = fwrite (send_buffer, 1, 1, spifd);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }while( result &amp;lt; 1);&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;fflush (spifd);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 24 Jun 2013 20:16:58 GMT</pubDate>
    <dc:creator>danielchai</dc:creator>
    <dc:date>2013-06-24T20:16:58Z</dc:date>
    <item>
      <title>K60 SPI no CLK signal</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-SPI-no-CLK-signal/m-p/236988#M5513</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I am trying to use the SPI communication on TWR-K60N512 board to control the a DOGS-102-6 LCD. &lt;/P&gt;&lt;P&gt;I edited the SPI sample code under /mqx/example/spi, and connected elevator board signal to the LCD through:&lt;/P&gt;&lt;P&gt;(SPI2)&lt;/P&gt;&lt;P&gt;Elevator board&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD&lt;/P&gt;&lt;P&gt;Pin 7 on J6&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLK&lt;/P&gt;&lt;P&gt;Pin 9 on J6&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CS&lt;/P&gt;&lt;P&gt;Pin 10 on J6&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOSI&lt;/P&gt;&lt;P&gt;Now the problem is that there is not clock signal and data signal from Pin7 and Pin9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code is as following:&lt;/P&gt;&lt;P&gt;spifd = fopen ("spi2:" NULL);&lt;/P&gt;&lt;P&gt;if (NULL == spifd)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Error opening SPI driver!\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _time_delay (200L);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block ();&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Display baud rate */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Current baud rate ... ");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_GET_BAUD, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("%d Hz\n", param);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Set a different rate */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; param = 500000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Changing the baud rate to %d Hz ... ", param);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_SET_BAUD, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("OK\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Display baud rate */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Current baud rate ... ");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_GET_BAUD, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("%d Hz\n", param);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Set clock mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; param = SPI_CLK_POL_PHA_MODE0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Setting clock mode to %s ... ", clock_mode[param]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_SET_MODE, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("OK\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Get clock mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Getting clock mode ... ");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_GET_MODE, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("%s\n", clock_mode[param]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Set big endian */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; param = SPI_DEVICE_BIG_ENDIAN;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Setting endian to %s ... ", param == SPI_DEVICE_BIG_ENDIAN ? "SPI_DEVICE_BIG_ENDIAN" : "SPI_DEVICE_LITTLE_ENDIAN");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_SET_ENDIAN, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("OK\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Get endian */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Getting endian ... ");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_GET_ENDIAN, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("%s\n", param == SPI_DEVICE_BIG_ENDIAN ? "SPI_DEVICE_BIG_ENDIAN" : "SPI_DEVICE_LITTLE_ENDIAN");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Set transfer mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; param = SPI_DEVICE_MASTER_MODE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Setting transfer mode to %s ... ", device_mode[param]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_SET_TRANSFER_MODE, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("OK\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Get transfer mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Getting transfer mode ... ");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_GET_TRANSFER_MODE, &amp;amp;param))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("%s\n", device_mode[param]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Clear statistics */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Clearing statistics ... ");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_CLEAR_STATS, NULL))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("OK\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Get statistics */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; printf ("Getting statistics:\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (SPI_OK == ioctl (spifd, IO_IOCTL_SPI_GET_STATS, &amp;amp;stats))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Interrupts:&amp;nbsp;&amp;nbsp; %d\n", stats.INTERRUPTS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Rx packets:&amp;nbsp;&amp;nbsp; %d\n", stats.RX_PACKETS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Rx overflow:&amp;nbsp; %d\n", stats.RX_OVERFLOWS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Tx packets:&amp;nbsp;&amp;nbsp; %d\n", stats.TX_PACKETS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Tx aborts :&amp;nbsp;&amp;nbsp; %d\n", stats.TX_ABORTS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("Tx underflow: %d\n", stats.TX_UNDERFLOWS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Write a byte*/&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; send_buffer[0] = 0x40;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Write instruction */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = fwrite (send_buffer, 1, 1, spifd);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }while( result &amp;lt; 1);&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;fflush (spifd);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jun 2013 20:16:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-SPI-no-CLK-signal/m-p/236988#M5513</guid>
      <dc:creator>danielchai</dc:creator>
      <dc:date>2013-06-24T20:16:58Z</dc:date>
    </item>
    <item>
      <title>Re: K60 SPI no CLK signal</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-SPI-no-CLK-signal/m-p/236989#M5514</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The pins on the Elevator board is J9 not J6 for SPI2.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2013 19:38:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-SPI-no-CLK-signal/m-p/236989#M5514</guid>
      <dc:creator>danielchai</dc:creator>
      <dc:date>2013-07-02T19:38:31Z</dc:date>
    </item>
  </channel>
</rss>

