<?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>S12 / MagniV MicrocontrollersのトピックRe: XS128 SPI communicate with MMA7455  problem</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XS128-SPI-communicate-with-MMA7455-problem/m-p/182679#M6731</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, was I thought I put in the problem won't have a reply, did not think of you respond to me, your questions I immediately adjusted, if you say a problem can be solved the problem of my I come again thank you to you. My English is very poor, so use translation software written Chinese replies to you, many wrong place to please you don't mind&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;thanks&lt;/P&gt;&lt;P&gt;form&amp;nbsp; TianFeng&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 16 Nov 2011 18:09:44 GMT</pubDate>
    <dc:creator>toyota</dc:creator>
    <dc:date>2011-11-16T18:09:44Z</dc:date>
    <item>
      <title>XS128 SPI communicate with MMA7455  problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XS128-SPI-communicate-with-MMA7455-problem/m-p/182677#M6729</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;#define MMA_CS_D DDRM_DDRM3&lt;BR /&gt;#define MMA_MISO_D DDRM_DDRM2&lt;BR /&gt;#define MMA_MOSI_D DDRM_DDRM4&lt;BR /&gt;#define MMA_SCK_D DDRM_DDRM5&lt;BR /&gt;#define MMA_INT1_D DDRT_DDRT6&lt;BR /&gt;#define MMA_INT2_D DDRT_DDRT5&lt;BR /&gt;#define MMA_CS PTM_PTM3&lt;BR /&gt;#define MMA_MISO PTM_PTM2&lt;BR /&gt;#define MMA_MOSI PTM_PTM4&lt;BR /&gt;#define MMA_SCK PTM_PTM5&lt;BR /&gt;#define MMA_INT1 PTT_PTT6&lt;BR /&gt;#define MMA_INT2 PTT_PTT5&lt;BR /&gt;void mma7455_Init(void){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;MODRR_MODRR4=1; //Module Routing Register (MODRR) 设置引脚的第二功能 启用PM2345&lt;BR /&gt;&amp;nbsp;&amp;nbsp;MMA_CS_D=1; //必须初始化IO方向&lt;BR /&gt;&amp;nbsp;&amp;nbsp;MMA_MISO_D=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;MMA_MOSI_D=1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;MMA_SCK_D=1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; MMA_CS=1; //CS=1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;SPI0CR1=0x5e; //SPI初始化 0101 0000 中断禁止 主机模式 时钟空闲为高 先发最高位&lt;BR /&gt;&amp;nbsp;&amp;nbsp;SPI0CR2=0x10; //ss 引脚 受MODFEN 控制&lt;BR /&gt;&amp;nbsp;&amp;nbsp;SPI0BR=0x06; //SPI 128分频 16/128MHz&lt;BR /&gt;&amp;nbsp;&amp;nbsp;SPI_Write_Reg_mma7455(0x16,0x05); //SPI四线模式 不自检 范围2g 测量模式&lt;BR /&gt;&amp;nbsp;&amp;nbsp;SPI_Write_Reg_mma7455(0x0D,0x80); //禁止IIC功能&lt;BR /&gt;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned int SPI_Read_Reg_mma7455(unsigned int uiReg){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unsigned int uiTemp=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MMA_CS=0; //CS=0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uiTemp=SPI0DRL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (!SPI0SR_SPTEF); //判断发送寄存器是空的&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI0DRL= ((uiReg &amp;amp;0x3F)&amp;lt;&amp;lt;1); //向寄存器地址写 读的命令&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(!SPI0SR_SPIF); //写完读取从机的寄存器的指令之后 等待从机反馈数据&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uiTemp=SPI0DRL; //读取MMA7455反馈的数据&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI0DRL=0xff; //主机产生8个时钟信号，MMA7455返回 数据&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(!SPI0SR_SPIF);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uiTemp=SPI0DRL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MMA_CS=1; //CS=1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return (uiTemp);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;void SPI_Write_Reg_mma7455(unsigned int uiReg,unsigned int uiValue)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;unsigned int uiTemp=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MMA_CS=0; //CS=0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (!SPI0SR_SPTEF); //判断发送寄存器是空的&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI0DRL=(((uiReg &amp;amp;0x3F)&amp;lt;&amp;lt;1)|0x80); //选择像哪个寄存器写 指令&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (!SPI0SR_SPIF); //判断SPI0IF是否产生中断&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;uiTemp=SPI0DRL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (!SPI0SR_SPTEF);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI0DRL=uiValue;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(!SPI0SR_SPIF);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;uiTemp=SPI0DRL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;MMA_CS=1; //CS=1&lt;/P&gt;&lt;P&gt;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;i'm sorry my english is very poor so i want use chinese to tall you problem&lt;/P&gt;&lt;P&gt;上面程序是用XS128的SPI模块与mma7455通信的程序段，可是我不知道为什么一直得不到数据~请大家给我看看~谢谢~&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2011 18:56:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XS128-SPI-communicate-with-MMA7455-problem/m-p/182677#M6729</guid>
      <dc:creator>toyota</dc:creator>
      <dc:date>2011-11-14T18:56:49Z</dc:date>
    </item>
    <item>
      <title>Re: XS128 SPI communicate with MMA7455  problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XS128-SPI-communicate-with-MMA7455-problem/m-p/182678#M6730</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, and welcome to the forum.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Unfortunately, my Chinese is non-existent, so I cannot be sure of your difficulty.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I&amp;nbsp;gather that the SPI module has been set up for 8-bit operation (assuming 16-bit operation is also available for the particular device).&amp;nbsp; Your code suggests that 8-bit operation is actually required.&amp;nbsp; However, I can see that your parameters and the variable are 16-bit size.&amp;nbsp; It would be preferred to match these to the actual data size.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;#define SPI_send(x)  (void)SPI_transfer(x)#define SPI_recv()   SPI_transfer(0xFF)     // Returns received valueunsigned char SPI_transfer( unsigned char val){   while (!SPI0SR_SPTEF);   SPI0DRL = val;   while (!SPI0SR_SPIF);   return SPI0DRL;}   unsigned char SPI_Read_Reg_mma7455( unsigned char ucReg){   unsigned char ucTemp;      MMA_CS = 0;                   // CS = 0   SPI_send( (ucReg &amp;amp; 0x3F) &amp;lt;&amp;lt; 1);   ucTemp = SPI_recv();   MMA_CS = 1;                   // CS = 1   return ucTemp;}void SPI_Write_Reg_mma7455( unsigned char ucReg, unsigned char ucValue){   MMA_CS = 0;                   // CS = 0   SPI_send( ((ucReg &amp;amp; 0x3F) &amp;lt;&amp;lt; 1) | 0x80);   SPI_send( ucValue);      MMA_CS = 1;                   // CS = 1}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Another issue may be whether you have set the CPHA and CPOL bits to suit the MMA7455?&amp;nbsp; I believe that CPHA = 0, CPOL = 0 is required.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mac&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:33:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XS128-SPI-communicate-with-MMA7455-problem/m-p/182678#M6730</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2020-10-29T09:33:34Z</dc:date>
    </item>
    <item>
      <title>Re: XS128 SPI communicate with MMA7455  problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XS128-SPI-communicate-with-MMA7455-problem/m-p/182679#M6731</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, was I thought I put in the problem won't have a reply, did not think of you respond to me, your questions I immediately adjusted, if you say a problem can be solved the problem of my I come again thank you to you. My English is very poor, so use translation software written Chinese replies to you, many wrong place to please you don't mind&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;thanks&lt;/P&gt;&lt;P&gt;form&amp;nbsp; TianFeng&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Nov 2011 18:09:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XS128-SPI-communicate-with-MMA7455-problem/m-p/182679#M6731</guid>
      <dc:creator>toyota</dc:creator>
      <dc:date>2011-11-16T18:09:44Z</dc:date>
    </item>
  </channel>
</rss>

