📄 lib_at91rm9200_h.html
字号:
pSPI-><a href="AT91RM9200_SPI.html#SPI_CR">SPI_CR</a> = <a href="AT91RM9200_h.html#AT91C_SPI_SPIEN">AT91C_SPI_SPIEN</a>;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_SPI_Disable">AT91F_SPI_Disable</a></b></font>
<font color=#B22222>//* \brief Disable the <a href="AT91RM9200_SPI.html#SPI">SPI</a> controller</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_SPI_Disable">AT91F_SPI_Disable</a> (
<a href="AT91RM9200_h.html#AT91PS_SPI">AT91PS_SPI</a> pSPI <font color=#B22222>// pointer to a <a href="AT91RM9200_SPI.html#SPI">SPI</a> controller</font>
)
{
<font color=#B22222>//* Write to the CR <font color=#0000FF>register</font></font>
pSPI-><a href="AT91RM9200_SPI.html#SPI_CR">SPI_CR</a> = <a href="AT91RM9200_h.html#AT91C_SPI_SPIDIS">AT91C_SPI_SPIDIS</a>;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_SPI_CfgMode">AT91F_SPI_CfgMode</a></b></font>
<font color=#B22222>//* \brief Enable the <a href="AT91RM9200_SPI.html#SPI">SPI</a> controller</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_SPI_CfgMode">AT91F_SPI_CfgMode</a> (
<a href="AT91RM9200_h.html#AT91PS_SPI">AT91PS_SPI</a> pSPI, <font color=#B22222>// pointer to a <a href="AT91RM9200_SPI.html#SPI">SPI</a> controller</font>
<font color=#0000FF>int</font> mode) <font color=#B22222>// mode <font color=#0000FF>register</font> </font>
{
<font color=#B22222>//* Write to the MR <font color=#0000FF>register</font></font>
pSPI-><a href="AT91RM9200_SPI.html#SPI_MR">SPI_MR</a> = mode;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_SPI_CfgPCS">AT91F_SPI_CfgPCS</a></b></font>
<font color=#B22222>//* \brief Switch to the correct PCS of <a href="AT91RM9200_SPI.html#SPI">SPI</a> Mode Register : Fixed Peripheral Selected</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_SPI_CfgPCS">AT91F_SPI_CfgPCS</a> (
<a href="AT91RM9200_h.html#AT91PS_SPI">AT91PS_SPI</a> pSPI, <font color=#B22222>// pointer to a <a href="AT91RM9200_SPI.html#SPI">SPI</a> controller</font>
<font color=#0000FF>char</font> PCS_Device) <font color=#B22222>// PCS of the Device</font>
{
<font color=#B22222>//* Write to the MR <font color=#0000FF>register</font></font>
pSPI-><a href="AT91RM9200_SPI.html#SPI_MR">SPI_MR</a> &= 0xFFF0FFFF;
pSPI-><a href="AT91RM9200_SPI.html#SPI_MR">SPI_MR</a> |= ( (PCS_Device<<16) & <a href="AT91RM9200_h.html#AT91C_SPI_PCS">AT91C_SPI_PCS</a> );
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_SPI_ReceiveFrame">AT91F_SPI_ReceiveFrame</a></b></font>
<font color=#B22222>//* \brief Return 2 <font color=#0000FF>if</font> <a href="AT91RM9200_PDC.html#PDC">PDC</a> has been initialized with Buffer and Next Buffer, 1 <font color=#0000FF>if</font> <a href="AT91RM9200_PDC.html#PDC">PDC</a> has been initializaed with Next Buffer, 0 <font color=#0000FF>if</font> <a href="AT91RM9200_PDC.html#PDC">PDC</a> is busy</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> <a href="#AT91F_SPI_ReceiveFrame">AT91F_SPI_ReceiveFrame</a> (
<a href="AT91RM9200_h.html#AT91PS_SPI">AT91PS_SPI</a> pSPI,
<font color=#0000FF>char</font> *pBuffer,
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> szBuffer,
<font color=#0000FF>char</font> *pNextBuffer,
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> szNextBuffer )
{
<font color=#0000FF>return</font> <a href="#AT91F_PDC_ReceiveFrame">AT91F_PDC_ReceiveFrame</a>(
(<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a>) &(pSPI->SPI_RPR),
pBuffer,
szBuffer,
pNextBuffer,
szNextBuffer);
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_SPI_SendFrame">AT91F_SPI_SendFrame</a></b></font>
<font color=#B22222>//* \brief Return 2 <font color=#0000FF>if</font> <a href="AT91RM9200_PDC.html#PDC">PDC</a> has been initialized with Buffer and Next Buffer, 1 <font color=#0000FF>if</font> <a href="AT91RM9200_PDC.html#PDC">PDC</a> has been initializaed with Next Buffer, 0 <font color=#0000FF>if</font> <a href="AT91RM9200_PDC.html#PDC">PDC</a> is bSPIy</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> <a href="#AT91F_SPI_SendFrame">AT91F_SPI_SendFrame</a>(
<a href="AT91RM9200_h.html#AT91PS_SPI">AT91PS_SPI</a> pSPI,
<font color=#0000FF>char</font> *pBuffer,
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> szBuffer,
<font color=#0000FF>char</font> *pNextBuffer,
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> szNextBuffer )
{
<font color=#0000FF>return</font> <a href="#AT91F_PDC_SendFrame">AT91F_PDC_SendFrame</a>(
(<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a>) &(pSPI->SPI_RPR),
pBuffer,
szBuffer,
pNextBuffer,
szNextBuffer);
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_SPI_Close">AT91F_SPI_Close</a></b></font>
<font color=#B22222>//* \brief Close <a href="AT91RM9200_SPI.html#SPI">SPI</a>: disable IT disable transfert, close <a href="AT91RM9200_PDC.html#PDC">PDC</a></font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_SPI_Close">AT91F_SPI_Close</a> (
<a href="AT91RM9200_h.html#AT91PS_SPI">AT91PS_SPI</a> pSPI) <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_SPI.html#SPI">SPI</a> controller</font>
{
<font color=#B22222>//* Reset all the Chip Select <font color=#0000FF>register</font></font>
pSPI-><a href="AT91RM9200_SPI.html#SPI_CSR">SPI_CSR</a>[0] = 0 ;
pSPI-><a href="AT91RM9200_SPI.html#SPI_CSR">SPI_CSR</a>[1] = 0 ;
pSPI-><a href="AT91RM9200_SPI.html#SPI_CSR">SPI_CSR</a>[2] = 0 ;
pSPI-><a href="AT91RM9200_SPI.html#SPI_CSR">SPI_CSR</a>[3] = 0 ;
<font color=#B22222>//* Reset the <a href="AT91RM9200_SPI.html#SPI">SPI</a> mode</font>
pSPI-><a href="AT91RM9200_SPI.html#SPI_MR">SPI_MR</a> = 0 ;
<font color=#B22222>//* Disable all interrupts</font>
pSPI-><a href="AT91RM9200_SPI.html#SPI_IDR">SPI_IDR</a> = 0xFFFFFFFF ;
<font color=#B22222>//* Abort the Peripheral Data Transfers</font>
<a href="#AT91F_PDC_Close">AT91F_PDC_Close</a>((<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a>) &(pSPI->SPI_RPR));
<font color=#B22222>//* Disable receiver and transmitter and stop any activity immediately</font>
pSPI-><a href="AT91RM9200_SPI.html#SPI_CR">SPI_CR</a> = <a href="AT91RM9200_h.html#AT91C_SPI_SPIDIS">AT91C_SPI_SPIDIS</a>;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_SPI_PutChar">AT91F_SPI_PutChar</a></b></font>
<font color=#B22222>//* \brief Send a character,does not check <font color=#0000FF>if</font> ready to send</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_SPI_PutChar">AT91F_SPI_PutChar</a> (
<a href="AT91RM9200_h.html#AT91PS_SPI">AT91PS_SPI</a> pSPI,
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> character,
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> cs_number )
{
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> value_for_cs;
value_for_cs = (~(1 << cs_number)) & 0xF; <font color=#B22222>//Place a zero among a 4 ONEs number</font>
pSPI-><a href="AT91RM9200_SPI.html#SPI_TDR">SPI_TDR</a> = (character & 0xFFFF) | (value_for_cs << 16);
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_SPI_GetChar">AT91F_SPI_GetChar</a></b></font>
<font color=#B22222>//* \brief Receive a character,does not check <font color=#0000FF>if</font> a character is available</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>int</font> <a href="#AT91F_SPI_GetChar">AT91F_SPI_GetChar</a> (
<font color=#0000FF>const</font> <a href="AT91RM9200_h.html#AT91PS_SPI">AT91PS_SPI</a> pSPI)
{
<font color=#0000FF>return</font>((pSPI-><a href="AT91RM9200_SPI.html#SPI_RDR">SPI_RDR</a>) & 0xFFFF);
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_SPI_GetInterruptMaskStatus">AT91F_SPI_GetInterruptMaskStatus</a></b></font>
<font color=#B22222>//* \brief Return <a href="AT91RM9200_SPI.html#SPI">SPI</a> Interrupt Mask Status</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> <a href="#AT91F_SPI_GetInterruptMaskStatus">AT91F_SPI_GetInterruptMaskStatus</a>( <font color=#B22222>// \<font color=#0000FF>return</font> <a href="AT91RM9200_SPI.html#SPI">SPI</a> Interrupt Mask Status</font>
<a href="AT91RM9200_h.html#AT91PS_SPI">AT91PS_SPI</a> pSpi) <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_SPI.html#SPI">SPI</a> controller</font>
{
<font color=#0000FF>return</font> pSpi-><a href="AT91RM9200_SPI.html#SPI_IMR">SPI_IMR</a>;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_SPI_IsInterruptMasked">AT91F_SPI_IsInterruptMasked</a></b></font>
<font color=#B22222>//* \brief Test <font color=#0000FF>if</font> <a href="AT91RM9200_SPI.html#SPI">SPI</a> Interrupt is Masked </font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>int</font> <a href="#AT91F_SPI_IsInterruptMasked">AT91F_SPI_IsInterruptMasked</a>(
<a href="AT91RM9200_h.html#AT91PS_SPI">AT91PS_SPI</a> pSpi, <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_SPI.html#SPI">SPI</a> controller</font>
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> flag) <font color=#B22222>// \arg flag to be tested</font>
{
<font color=#0000FF>return</font> (<a href="#AT91F_SPI_GetInterruptMaskStatus">AT91F_SPI_GetInterruptMaskStatus</a>(pSpi) & flag);
}
/* *****************************************************************************
SOFTWARE API FOR <a href="AT91RM9200_TC.html#TC">TC</a>
***************************************************************************** */
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_TC_InterruptEnable">AT91F_TC_InterruptEnable</a></b></font>
<font color=#B22222>//* \brief Enable <a href="AT91RM9200_TC.html#TC">TC</a> Interrupt</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_TC_InterruptEnable">AT91F_TC_InterruptEnable</a>(
<a href="AT91RM9200_h.html#AT91PS_TC">AT91PS_TC</a> pTc, <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_TC.html#TC">TC</a> controller</font>
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> flag) <font color=#B22222>// \arg <a href="AT91RM9200_TC.html#TC">TC</a> interrupt to be enabled</font>
{
pTc-><a href="AT91RM9200_TC.html
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -