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

📄 lib_at91rm9200_h.html

📁 AT91RM9200的USB相关ACM CDC的源代码包! AT91RM9200-BasicUSBPipe-ARM1_2-2_0.zip
💻 HTML
📖 第 1 页 / 共 5 页
字号:


<html><head>

<meta charset="iso-8859-1" content="Arm / ATMEL/ AT91 library /" http-equiv="Content-Type">

<title>HTML software transalation</title>

</head>

<body><pre><font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//*         ATMEL Microcontroller Software Support  -  ROUSSET  -</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* The software is delivered "AS IS" without warranty or condition of any</font>
<font color=#B22222>//* kind, either express, implied or statutory. This includes without</font>
<font color=#B22222>//* limitation any warranty or condition with respect to merchantability or</font>
<font color=#B22222>//* fitness <font color=#0000FF>for</font> any particular purpose, or against the infringements of</font>
<font color=#B22222>//* intellectual property rights of others.</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* File Name           : lib_AT91RM9200.h</font>
<font color=#B22222>//* Object              : AT91RM9200 inlined functions</font>
<font color=#B22222>//* Generated           : AT91 SW Application Group  07/04/2003 (11:05:04)</font>
<font color=#B22222>//*</font>
<font color=#B22222>//* CVS Reference       : /lib_pdc.h/1.2/Tue Jul 02 11:29:40 2002//</font>
<font color=#B22222>//* CVS Reference       : /lib_dbgu.h/1.1/Fri Jan 31 11:18:40 2003//</font>
<font color=#B22222>//* CVS Reference       : /lib_rtc_1245d.h/1.1/Fri Jan 31 11:19:12 2003//</font>
<font color=#B22222>//* CVS Reference       : /lib_ssc.h/1.4/Fri Jan 31 11:19:20 2003//</font>
<font color=#B22222>//* CVS Reference       : /lib_spi_AT91RMxxxx.h/1.2/Fri Jan 31 11:19:30 2003//</font>
<font color=#B22222>//* CVS Reference       : /lib_tc_1753b.h/1.1/Fri Jan 31 11:20:02 2003//</font>
<font color=#B22222>//* CVS Reference       : /lib_pmc.h/1.3/Thu Nov 14 06:40:44 2002//</font>
<font color=#B22222>//* CVS Reference       : /lib_pio.h/1.3/Fri Jan 31 11:18:56 2003//</font>
<font color=#B22222>//* CVS Reference       : /lib_twi.h/1.2/Fri Jan 31 11:19:38 2003//</font>
<font color=#B22222>//* CVS Reference       : /lib_usart.h/1.5/Thu Nov 21 15:01:52 2002//</font>
<font color=#B22222>//* CVS Reference       : /lib_mci.h/1.2/Wed Nov 20 13:18:54 2002//</font>
<font color=#B22222>//* CVS Reference       : /lib_aic.h/1.3/Fri Jul 12 06:46:10 2002//</font>
<font color=#B22222>//* CVS Reference       : /lib_udp.h/1.3/Fri Jan 31 11:19:48 2003//</font>
<font color=#B22222>//* CVS Reference       : /lib_st.h/1.4/Fri Jan 31 11:20:12 2003//</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>

<font color=#008200>#ifndef</font> lib_AT91RM9200_H
<font color=#008200>#define</font> lib_AT91RM9200_H

/* *****************************************************************************
                SOFTWARE API FOR <a href="AT91RM9200_PDC.html#PDC">PDC</a>
   ***************************************************************************** */
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_SetNextRx">AT91F_PDC_SetNextRx</a></b></font>
<font color=#B22222>//* \brief Set the next receive transfer descriptor</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_SetNextRx">AT91F_PDC_SetNextRx</a> (
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC,     <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
	<font color=#0000FF>char</font> *address,       <font color=#B22222>// \arg address to the next bloc to be received</font>
	<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> bytes)  <font color=#B22222>// \arg number of bytes to be received</font>
{
	pPDC-><a href="AT91RM9200_PDC.html#PDC_RNPR">PDC_RNPR</a> = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) address;
	pPDC-><a href="AT91RM9200_PDC.html#PDC_RNCR">PDC_RNCR</a> = bytes;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_SetNextTx">AT91F_PDC_SetNextTx</a></b></font>
<font color=#B22222>//* \brief Set the next transmit transfer descriptor</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_SetNextTx">AT91F_PDC_SetNextTx</a> (
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC,       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
	<font color=#0000FF>char</font> *address,         <font color=#B22222>// \arg address to the next bloc to be transmitted</font>
	<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> bytes)    <font color=#B22222>// \arg number of bytes to be transmitted</font>
{
	pPDC-><a href="AT91RM9200_PDC.html#PDC_TNPR">PDC_TNPR</a> = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) address;
	pPDC-><a href="AT91RM9200_PDC.html#PDC_TNCR">PDC_TNCR</a> = bytes;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_SetRx">AT91F_PDC_SetRx</a></b></font>
<font color=#B22222>//* \brief Set the receive transfer descriptor</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_SetRx">AT91F_PDC_SetRx</a> (
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC,       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
	<font color=#0000FF>char</font> *address,         <font color=#B22222>// \arg address to the next bloc to be received</font>
	<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> bytes)    <font color=#B22222>// \arg number of bytes to be received</font>
{
	pPDC-><a href="AT91RM9200_PDC.html#PDC_RPR">PDC_RPR</a> = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) address;
	pPDC-><a href="AT91RM9200_PDC.html#PDC_RCR">PDC_RCR</a> = bytes;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_SetTx">AT91F_PDC_SetTx</a></b></font>
<font color=#B22222>//* \brief Set the transmit transfer descriptor</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_SetTx">AT91F_PDC_SetTx</a> (
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC,       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
	<font color=#0000FF>char</font> *address,         <font color=#B22222>// \arg address to the next bloc to be transmitted</font>
	<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> bytes)    <font color=#B22222>// \arg number of bytes to be transmitted</font>
{
	pPDC-><a href="AT91RM9200_PDC.html#PDC_TPR">PDC_TPR</a> = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) address;
	pPDC-><a href="AT91RM9200_PDC.html#PDC_TCR">PDC_TCR</a> = bytes;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_EnableTx">AT91F_PDC_EnableTx</a></b></font>
<font color=#B22222>//* \brief Enable transmit</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_EnableTx">AT91F_PDC_EnableTx</a> (
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
{
	pPDC-><a href="AT91RM9200_PDC.html#PDC_PTCR">PDC_PTCR</a> = <a href="AT91RM9200_h.html#AT91C_PDC_TXTEN">AT91C_PDC_TXTEN</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_EnableRx">AT91F_PDC_EnableRx</a></b></font>
<font color=#B22222>//* \brief Enable receive</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_EnableRx">AT91F_PDC_EnableRx</a> (
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
{
	pPDC-><a href="AT91RM9200_PDC.html#PDC_PTCR">PDC_PTCR</a> = <a href="AT91RM9200_h.html#AT91C_PDC_RXTEN">AT91C_PDC_RXTEN</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_DisableTx">AT91F_PDC_DisableTx</a></b></font>
<font color=#B22222>//* \brief Disable transmit</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_DisableTx">AT91F_PDC_DisableTx</a> (
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
{
	pPDC-><a href="AT91RM9200_PDC.html#PDC_PTCR">PDC_PTCR</a> = <a href="AT91RM9200_h.html#AT91C_PDC_TXTDIS">AT91C_PDC_TXTDIS</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_DisableRx">AT91F_PDC_DisableRx</a></b></font>
<font color=#B22222>//* \brief Disable receive</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_DisableRx">AT91F_PDC_DisableRx</a> (
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
{
	pPDC-><a href="AT91RM9200_PDC.html#PDC_PTCR">PDC_PTCR</a> = <a href="AT91RM9200_h.html#AT91C_PDC_RXTDIS">AT91C_PDC_RXTDIS</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_IsTxEmpty">AT91F_PDC_IsTxEmpty</a></b></font>
<font color=#B22222>//* \brief Test <font color=#0000FF>if</font> the current transfer descriptor has been sent</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>int</font> <a href="#AT91F_PDC_IsTxEmpty">AT91F_PDC_IsTxEmpty</a> ( <font color=#B22222>// \<font color=#0000FF>return</font> <font color=#0000FF>return</font> 1 <font color=#0000FF>if</font> transfer is complete</font>
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
{
	<font color=#0000FF>return</font> !(pPDC-><a href="AT91RM9200_PDC.html#PDC_TCR">PDC_TCR</a>);
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_IsNextTxEmpty">AT91F_PDC_IsNextTxEmpty</a></b></font>
<font color=#B22222>//* \brief Test <font color=#0000FF>if</font> the next transfer descriptor has been moved to the current td</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>int</font> <a href="#AT91F_PDC_IsNextTxEmpty">AT91F_PDC_IsNextTxEmpty</a> ( <font color=#B22222>// \<font color=#0000FF>return</font> <font color=#0000FF>return</font> 1 <font color=#0000FF>if</font> transfer is complete</font>
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
{
	<font color=#0000FF>return</font> !(pPDC-><a href="AT91RM9200_PDC.html#PDC_TNCR">PDC_TNCR</a>);
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_IsRxEmpty">AT91F_PDC_IsRxEmpty</a></b></font>
<font color=#B22222>//* \brief Test <font color=#0000FF>if</font> the current transfer descriptor has been filled</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>int</font> <a href="#AT91F_PDC_IsRxEmpty">AT91F_PDC_IsRxEmpty</a> ( <font color=#B22222>// \<font color=#0000FF>return</font> <font color=#0000FF>return</font> 1 <font color=#0000FF>if</font> transfer is complete</font>
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
{
	<font color=#0000FF>return</font> !(pPDC-><a href="AT91RM9200_PDC.html#PDC_RCR">PDC_RCR</a>);
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>

⌨️ 快捷键说明

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