⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 at91sam7a3_spi.html

📁 1、程序目的:介绍AT91SAM7S256-EK TWI的基本用法: 2、 功能说明:通过TWI实现I2C
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x18</b></font></td><td><font size="-1"><a href="AT91SAM7A3_SPI.html#SPI_IDR">SPI_IDR</a></font></td><td><font size="-1">Interrupt Disable Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x1C</b></font></td><td><font size="-1"><a href="AT91SAM7A3_SPI.html#SPI_IMR">SPI_IMR</a></font></td><td><font size="-1">Interrupt Mask Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x30</b></font></td><td><font size="-1">SPI_CSR[4] (<a href="AT91SAM7A3_SPI.html#SPI_CSR">SPI_CSR</a>)</font></td><td><font size="-1">Chip Select Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x100</b></font></td><td><font size="-1">SPI_RPR (<a href="#PDC_RPR">PDC_RPR</a>)</font></td><td><font size="-1">Receive Pointer Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x104</b></font></td><td><font size="-1">SPI_RCR (<a href="#PDC_RCR">PDC_RCR</a>)</font></td><td><font size="-1">Receive Counter Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x108</b></font></td><td><font size="-1">SPI_TPR (<a href="#PDC_TPR">PDC_TPR</a>)</font></td><td><font size="-1">Transmit Pointer Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x10C</b></font></td><td><font size="-1">SPI_TCR (<a href="#PDC_TCR">PDC_TCR</a>)</font></td><td><font size="-1">Transmit Counter Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x110</b></font></td><td><font size="-1">SPI_RNPR (<a href="#PDC_RNPR">PDC_RNPR</a>)</font></td><td><font size="-1">Receive Next Pointer Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x114</b></font></td><td><font size="-1">SPI_RNCR (<a href="#PDC_RNCR">PDC_RNCR</a>)</font></td><td><font size="-1">Receive Next Counter Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x118</b></font></td><td><font size="-1">SPI_TNPR (<a href="#PDC_TNPR">PDC_TNPR</a>)</font></td><td><font size="-1">Transmit Next Pointer Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x11C</b></font></td><td><font size="-1">SPI_TNCR (<a href="#PDC_TNCR">PDC_TNCR</a>)</font></td><td><font size="-1">Transmit Next Counter Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x120</b></font></td><td><font size="-1">SPI_PTCR (<a href="#PDC_PTCR">PDC_PTCR</a>)</font></td><td><font size="-1">PDC Transfer Control Register</font></td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC"><font size="-1"><b>0x124</b></font></td><td><font size="-1">SPI_PTSR (<a href="#PDC_PTSR">PDC_PTSR</a>)</font></td><td><font size="-1">PDC Transfer Status Register</font></td></tr>
</null></table><br><table border=1 cellpadding=0 cellspacing=0 width="100%"><null><th bgcolor="#FFFFCC"><font size="-1"><b>Function</b></font></th><th bgcolor="#FFFFCC"><font size="-1"><b>Description</b></font></th><tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_IsInterruptMasked">AT91F_SPI_IsInterruptMasked</a></b></font></td><td><font size="-1">Test if SPI Interrupt is Masked </font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_PutChar">AT91F_SPI_PutChar</a></b></font></td><td><font size="-1">Send a character,does not check if ready to send</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_ReceiveFrame">AT91F_SPI_ReceiveFrame</a></b></font></td><td><font size="-1">Return 2 if PDC has been initialized with Buffer and Next Buffer, 1 if PDC has been initializaed with Next Buffer, 0 if PDC is busy</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_Reset">AT91F_SPI_Reset</a></b></font></td><td><font size="-1">Reset the SPI controller</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_Open">AT91F_SPI_Open</a></b></font></td><td><font size="-1">Open a SPI Port</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_GetChar">AT91F_SPI_GetChar</a></b></font></td><td><font size="-1">Receive a character,does not check if a character is available</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_Disable">AT91F_SPI_Disable</a></b></font></td><td><font size="-1">Disable the SPI controller</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_CfgCs">AT91F_SPI_CfgCs</a></b></font></td><td><font size="-1">Configure SPI chip select register</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_GetInterruptMaskStatus">AT91F_SPI_GetInterruptMaskStatus</a></b></font></td><td><font size="-1">Return SPI Interrupt Mask Status</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_CfgMode">AT91F_SPI_CfgMode</a></b></font></td><td><font size="-1">Enable the SPI controller</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_CfgPCS">AT91F_SPI_CfgPCS</a></b></font></td><td><font size="-1">Switch to the correct PCS of SPI Mode Register : Fixed Peripheral Selected</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_EnableIt">AT91F_SPI_EnableIt</a></b></font></td><td><font size="-1">Enable SPI interrupt</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_DisableIt">AT91F_SPI_DisableIt</a></b></font></td><td><font size="-1">Disable SPI interrupt</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_Enable">AT91F_SPI_Enable</a></b></font></td><td><font size="-1">Enable the SPI controller</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_Close">AT91F_SPI_Close</a></b></font></td><td><font size="-1">Close SPI: disable IT disable transfert, close PDC</font></td></tr>
<tr><td bgcolor="#FFFFCC"><font size="-1"><b><a href="lib_AT91SAM7A3_h.html#AT91F_SPI_SendFrame">AT91F_SPI_SendFrame</a></b></font></td><td><font size="-1">Return 2 if PDC has been initialized with Buffer and Next Buffer, 1 if PDC has been initializaed with Next Buffer, 0 if PDC is bSPIy</font></td></tr>
</null></table></null><h2>SPI Register Description</h2>
<null><a name="SPI_CR"></a><h4><a href="#SPI">SPI</a>: <i><a href="AT91SAM7A3_h.html#AT91_REG">AT91_REG</a></i> SPI_CR  <i>Control Register</i></h4><ul><null><font size="-2"><li><b>SPI0</b> <i><a href="AT91SAM7A3_h.html#AT91C_SPI0_CR">AT91C_SPI0_CR</a></i> 0xFFFE0000</font><font size="-2"><li><b>SPI1</b> <i><a href="AT91SAM7A3_h.html#AT91C_SPI1_CR">AT91C_SPI1_CR</a></i> 0xFFFE4000</font></null></ul><table border=1 cellpadding=0 cellspacing=0 width="100%"><null><th bgcolor="#FFFFCC"><b>Offset</b></th><th bgcolor="#FFFFCC"><b>Name</b></th><th bgcolor="#FFFFCC"><b>Description</b></th><tr><td align="CENTER" bgcolor="#FFFFCC">0</td><td align="CENTER"><a name="SPI_SPIEN"></a><b>SPI_SPIEN</b><font size="-2"><br><a href="AT91SAM7A3_h.html#AT91C_SPI_SPIEN">AT91C_SPI_SPIEN</a></font></td><td><b>SPI Enable</b><br>0 = No effect.<br>1 = Enables the SPI to transfer and receive data.</td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC">1</td><td align="CENTER"><a name="SPI_SPIDIS"></a><b>SPI_SPIDIS</b><font size="-2"><br><a href="AT91SAM7A3_h.html#AT91C_SPI_SPIDIS">AT91C_SPI_SPIDIS</a></font></td><td><b>SPI Disable</b><br>0 = No effect.<br>1 = Disables the SPI.<br>All pins are set in input mode and no data is received or transmitted.<br>If a transfer is in progress, the transfer is finished before the SPI is disabled.<br>If both SPIEN and SPIDIS are equal to one when the control register is written, the SPI is disabled.</td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC">7</td><td align="CENTER"><a name="SPI_SWRST"></a><b>SPI_SWRST</b><font size="-2"><br><a href="AT91SAM7A3_h.html#AT91C_SPI_SWRST">AT91C_SPI_SWRST</a></font></td><td><b>SPI Software reset</b><br>0 = No effect.<br>1 = Resets the SPI.<br>A software triggered hardware reset of the SPI interface is performed.</td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC">24</td><td align="CENTER"><a name="SPI_LASTXFER"></a><b>SPI_LASTXFER</b><font size="-2"><br><a href="AT91SAM7A3_h.html#AT91C_SPI_LASTXFER">AT91C_SPI_LASTXFER</a></font></td><td><b>SPI Last Transfer</b><br>0 = No effect.<br>1 = Deassert the NPCS after all transfers occured. Useful when CSAAT is set.</td></tr>
</null></table>
<a name="SPI_MR"></a><h4><a href="#SPI">SPI</a>: <i><a href="AT91SAM7A3_h.html#AT91_REG">AT91_REG</a></i> SPI_MR  <i>Mode Register</i></h4><ul><null><font size="-2"><li><b>SPI0</b> <i><a href="AT91SAM7A3_h.html#AT91C_SPI0_MR">AT91C_SPI0_MR</a></i> 0xFFFE0004</font><font size="-2"><li><b>SPI1</b> <i><a href="AT91SAM7A3_h.html#AT91C_SPI1_MR">AT91C_SPI1_MR</a></i> 0xFFFE4004</font></null></ul><table border=1 cellpadding=0 cellspacing=0 width="100%"><null><th bgcolor="#FFFFCC"><b>Offset</b></th><th bgcolor="#FFFFCC"><b>Name</b></th><th bgcolor="#FFFFCC"><b>Description</b></th><tr><td align="CENTER" bgcolor="#FFFFCC">0</td><td align="CENTER"><a name="SPI_MSTR"></a><b>SPI_MSTR</b><font size="-2"><br><a href="AT91SAM7A3_h.html#AT91C_SPI_MSTR">AT91C_SPI_MSTR</a></font></td><td><b>Master/Slave Mode</b><br>0 = SPI is in Slave mode.<br>1 = SPI is in Master mode.</td></tr>
<tr><td align="CENTER" bgcolor="#FFFFCC">1</td><td align="CENTER"><a name="SPI_PS"></a><b>SPI_PS</b><font size="-2"><br><a href="AT91SAM7A3_h.html#AT91C_SPI_PS">AT91C_SPI_PS</a></font></td><td><b>Peripheral Select</b><font size="-1"><table bgcolor="#E3F2FF" border=1 cellpadding=0 cellspacing=0 width="100%"><null><th><b>Value</b></th><th><b>Label</b></th><th><b>Description</b></th><tr><td align="CENTER">0</td><td align="CENTER"><a name="SPI_PS_FIXED"></a><b>SPI_PS_FIXED</b><font size="-1"><br><a href="AT91SAM7A3_h.html#AT91C_SPI_PS_FIXED">AT91C_SPI_PS_FIXED</a></font></td><td><br>Fixed Peripheral Select</td></tr>
<tr><td align="CENTER">1</td><td align="CENTER"><a name="SPI_PS_VARIABLE"></a><b>SPI_PS_VARIABLE</b><font size="-1"><br><a href="AT91SAM7A3_h.html#AT91C_SPI_PS_VARIABLE">AT91C_SPI_PS_VARIABLE</a></font></td><td><br>Variable Peripheral Select</td></tr>
</null></table></font>
</td></tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -