2025年st7796s中文手册(st7796s spi)

st7796s中文手册(st7796s spi)p br p p strong 一 HX8357D strong p p 先下指令 p p write cmd 0xB9 p p write para 0xFF p

大家好,我是讯享网,很高兴认识大家。




讯享网

 <p><br></p><p><strong>一、HX8357D:</strong></p><p>先下指令:</p><p>write_cmd(0xB9);</p><p>write_para(0xFF);</p><p>write_para(0x83);</p><p>write_para(0x57);</p><p>write_cmd(0xFE&nbsp;);</p><p>write_para(0xD0);</p><p>read_data(0xFF,one_byte_return);&nbsp;</p><p>//Read&nbsp;HX8357-D&nbsp;ID=99h&nbsp;&nbsp;读0XFF返回0x99刚是HX8357D</p><p><strong><strong>二、</strong></strong><strong>ILI9488与ILI9486</strong>读ID流程一样</p><p><img src="https://mmbiz.qpic.cn/mmbiz_jpg/qYRFMPMXmtTqfugIRPQkyub53xTWpsEqmvkDnEDCBFoicFANgAhJFhXGwGhEOlkLYLQGZzwzeicyjyCasjBBSeFQ/640?wx_fmt=jpeg&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1"></p><p><br></p><p>void&nbsp;DispRegValue(void)<br>{<br>unsigned&nbsp;char&nbsp;i=0;<br>unsigned&nbsp;char&nbsp;id1,id2,id3,id4;</p><p>SPI_CS=0;</p><p>SPI_RES=1;<br>Delay(160); &nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;delay&nbsp;40&nbsp;ms<br>SPI_RES=0;<br>Delay(160); &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;//&nbsp;delay&nbsp;40&nbsp;ms</p><p>&nbsp;SPI_RES=1;</p><p>Delay(480); &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;//&nbsp;delay&nbsp;120&nbsp;ms</p><p><br></p><p>&nbsp;//Adjust&nbsp;Control&nbsp;3&nbsp;<br>SPI_WriteComm(0XF7);<br>SPI_WriteData(0xA9);<br>SPI_WriteData(0x51);<br>SPI_WriteData(0x2C);<br>SPI_WriteData(0x82);<br><br>&nbsp;//3W-SDA&nbsp;read&nbsp;id</p><p>&nbsp;SPI_WriteComm(0XB0);<br>SPI_WriteData(0X80); //byte1 <br><br>SPI_WriteComm(0XFB);<br>SPI_WriteData(0X80); <br>id1=Read_chipID(0xd3); &nbsp;&nbsp; //Parameter1=DUMMY&nbsp;无效<br><br>SPI_WriteComm(0X2E);<br>SPI_WriteData(0X81); //Parameter2=0X88 无效 <br>id2=Read_chipID(0xd3);<br><br>SPI_WriteComm(0XFB);<br>SPI_WriteData(0X82); //Parameter3=0X94 有用</p><p>id3=Read_chipID(0xd3);<br><br>&nbsp; SPI_WriteComm(0XFB);<br>SPI_WriteData(0X83);//Parameter4=0X88 ,9486为0X86<br>id4=Read_chipID(0xd3);<br>}</p><p>unsigned&nbsp;int&nbsp;Read_chipID(unsigned&nbsp;char&nbsp;regist)<br>{&nbsp;&nbsp;<br>unsigned&nbsp;char&nbsp;i,dat=0x00;<br>DIR=0; //MCU&nbsp;send&nbsp;data&nbsp;to&nbsp;driver&nbsp;ic<br>SPI_CS=0;<br>SPI_DI=0;<br>SPI_CLK=0;<br>SPI_CLK=1; //写0XD3<br>for(i=8;i&gt;0;i--)&nbsp;<br>{<br>regist&lt;&lt;=1;<br>SPI_DI=CY;<br>SPI_CLK=0;<br>_nop_();_nop_();_nop_();_nop_();<br>SPI_CLK=1;<br>}<br>SPI_DI=1;&nbsp;&nbsp;&nbsp;&nbsp;//读之前将SDA拉高<br>Delay(80);&nbsp;&nbsp;&nbsp;&nbsp;//延时20ms<br>&nbsp;&nbsp;&nbsp;&nbsp;for(i=8;i&gt;0;i--)&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<br>SPI_CLK=0;<br>Delay(4);&nbsp;//1ms<br>SPI_CLK=1;<br>dat&lt;&lt;=1;&nbsp;&nbsp; //MCU&nbsp;read&nbsp;data&nbsp;from&nbsp;driver&nbsp;ic<br>&nbsp;&nbsp;&nbsp;&nbsp;if(SPI_DI)<br>{<br>dat++; <br>}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br>DIR=0; &nbsp;&nbsp;&nbsp;&nbsp;//MCU&nbsp;send&nbsp;data&nbsp;to&nbsp;driver&nbsp;ic<br>CS0=1;&nbsp;&nbsp;<br>DIR=0;<br>return&nbsp;dat;<br>}</p><p><br></p><p><strong>三、ILI9481</strong>读BF寄存器,可以读到ID,第四,第五个字节为需要的ID<br></p><p>复位过后写C6H再去读BFH</p><p><br></p><p>void&nbsp;DispRegValue(void)<br>{</p><p>unsigned&nbsp;char&nbsp;i=0,&nbsp;id1,id2,id3,id4;<br>&nbsp;SPI_CS=0;<br></p><p>SPI_RES=1;<br>Delay(160);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;delay&nbsp;40&nbsp;ms<br>SPI_RES=0;<br>&nbsp;Delay(160); &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;//&nbsp;delay&nbsp;40&nbsp;ms</p><p>&nbsp;SPI_RES=1;</p><p><br></p><p>Delay(480); &nbsp; &nbsp; &nbsp; &nbsp;// delay 120 ms</p><p>//3W-SDA read id</p><p>SPI_WriteComm(0xC6);</p><p>SPI_WriteData(0X80);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//SDA读使能</p><p>id1=Read_chipID(0XBF);&nbsp; &nbsp;&nbsp;//byte1=0X02</p><p>id2=Read_chipID(0XBF);&nbsp; &nbsp;&nbsp;//byte2=0x04有用</p><p>id3=Read_chipID(0XBF); &nbsp;//byte3=0X94 有用</p><p>id4=Read_chipID(0XBF);&nbsp; &nbsp;&nbsp;//byte4=0X81 有用 </p><p>id5=Read_chipID(0XBF);&nbsp; &nbsp;&nbsp;//byte5=0XFF 有用</p><p>}</p><p>unsigned&nbsp;int&nbsp;Read_chipID(unsigned&nbsp;char&nbsp;regist)<br>{&nbsp;&nbsp;<br>&nbsp;unsigned&nbsp;char&nbsp;i,dat=0x00;</p><p>DIR=0; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;//MCU&nbsp;send&nbsp;data&nbsp;to&nbsp;driver&nbsp;ic</p><p>SPI_CS=0;<br>SPI_DI=0;<br>SPI_CLK=0;<br>SPI_CLK=1; &nbsp;&nbsp;&nbsp;&nbsp;//写<strong>0XBF</strong><br>for(i=8;i&gt;0;i--)&nbsp;<br>{<br>regist&lt;&lt;=1;<br>SPI_DI=CY;<br>SPI_CLK=0;<br>_nop_();_nop_();_nop_();_nop_();<br>SPI_CLK=1;<br>}<br>SPI_DI=1;&nbsp;&nbsp;&nbsp;&nbsp;//读之前将SDA拉高<br>Delay(80);&nbsp;&nbsp;&nbsp;&nbsp;//延时20ms<br>&nbsp;&nbsp;&nbsp;&nbsp;for(i=8;i&gt;0;i--)&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<br>SPI_CLK=0;<br>Delay(4);&nbsp;//1ms<br>SPI_CLK=1;<br>dat&lt;&lt;=1;&nbsp;&nbsp;</p><p>DIR=1;&nbsp; &nbsp;&nbsp;//MCU&nbsp;read&nbsp;data&nbsp;from&nbsp;driver&nbsp;ic</p><p>&nbsp;&nbsp;&nbsp;&nbsp;if(SPI_DI)<br>{<br>dat++; <br>}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br>DIR=0;&nbsp;&nbsp;&nbsp;&nbsp; //MCU&nbsp;send&nbsp;data&nbsp;to&nbsp;driver&nbsp;ic<br>CS0=1;&nbsp;&nbsp;<br>DIR=0;<br>return&nbsp;dat;<br>}</p><p>送完初始化后先下以下指令</p><p>write_cmd(0xc6);</p><p>write_dat(0x82);</p><p><br></p><p><strong>四、</strong><strong>ST7796S</strong>读BF寄存器,可以读到ID,第三,第四个字节为需要的ID值</p><p>复位过后:FBH送偏移量,再读D3H</p><p><br></p><p>void&nbsp;DispRegValue(void)<br>{<br></p><p>unsigned&nbsp;char&nbsp;i=0;<br>unsigned&nbsp;char&nbsp;id1,id2,id3,id4;<br>&nbsp; SPI_CS=0;</p><p>SPI_RES=1;<br>Delay(160); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;delay&nbsp;40&nbsp;ms<br>SPI_RES=0;<br>Delay(160); &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;//&nbsp;delay&nbsp;40&nbsp;ms</p><p>&nbsp;SPI_RES=1;</p><p>Delay(480); &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;//&nbsp;delay&nbsp;120&nbsp;ms</p><p><br></p><p>SPI_WriteComm(0XFB);<br>SPI_WriteData(0X10); <br>id1=Read_chipID(0xd3); &nbsp;&nbsp; //Parameter1=0x00无效<br><br>SPI_WriteComm(0XFB);<br>SPI_WriteData(0X11); //Parameter2=0X77 有用 <br>id2=Read_chipID(0xd3);<br><br>SPI_WriteComm(0XFB);<br>SPI_WriteData(0X12); //Parameter3=0X96 有用 </p><p>id3=Read_chipID(0xd3);</p><p><br></p><p>SPI_WriteComm(0XFB);<br>SPI_WriteData(0X13); //Parameter3=0X00 有用</p><p>id3=Read_chipID(0xd3);</p><p>}</p><p>unsigned&nbsp;int&nbsp;Read_chipID(unsigned&nbsp;char&nbsp;regist)<br>{&nbsp;&nbsp;<br>unsigned&nbsp;char&nbsp;i,dat=0x00;<br>DIR=0; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;//MCU&nbsp;send&nbsp;data&nbsp;to&nbsp;driver&nbsp;ic</p><p>SPI_CS=0;<br>SPI_DI=0;<br>SPI_CLK=0;<br>SPI_CLK=1; //写0xd3<br>for(i=8;i&gt;0;i--)&nbsp;<br>{<br>regist&lt;&lt;=1;<br>SPI_DI=CY;<br>SPI_CLK=0;<br>_nop_();_nop_();_nop_();_nop_();<br>SPI_CLK=1;<br>}<br>SPI_DI=1;//读之前将SDA拉高<br>Delay(80);//延时20ms<br>&nbsp;&nbsp;&nbsp;&nbsp;for(i=8;i&gt;0;i--)&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<br>SPI_CLK=0;<br>Delay(4);&nbsp;//1ms<br>SPI_CLK=1;<br>dat&lt;&lt;=1;&nbsp;&nbsp;</p><p>DIR=1;&nbsp; &nbsp;&nbsp;//MCU&nbsp;read&nbsp;data&nbsp;from&nbsp;driver&nbsp;ic</p><p>&nbsp;&nbsp;&nbsp;&nbsp;if(SPI_DI)<br>{<br>dat++; <br>}&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br>DIR=0; //MCU&nbsp;send&nbsp;data&nbsp;to&nbsp;driver&nbsp;ic<br>CS0=1;&nbsp;&nbsp;<br>DIR=0;<br>return&nbsp;dat;<br>}</p><p><img src="https://mmbiz.qpic.cn/mmbiz_jpg/qYRFMPMXmtTqfugIRPQkyub53xTWpsEqSSOjoibM3fKoh2Qccau5wGEZlp3CH74DKRzjReFZUVzrZG9icJ3Bic2yA/640?wx_fmt=jpeg&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1"></p><p><strong>以上读代码都是基于51单片机实现,仅供参考</strong></p><p><br></p> 

讯享网
小讯
上一篇 2025-05-25 17:54
下一篇 2025-06-16 20:41

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/206958.html