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

📄 at90usb1287_8h-source.html

📁 usbport-sl811usb主控器芯片usb程序实现
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">  #error "XTAL-Frequency has to be 2, 4, 6, 8, 12 or 16 MHz for USB devices!"</span><a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00041"></a><a class="code" href="at90usb1287_8h.html#df01ce81a9e439634ef15058b61d8c4e">00041</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbSetPLL_CPU_Frequency()              PLLCSR = (_pre_&lt;&lt;2)</span><a name="l00042"></a><a class="code" href="at90usb1287_8h.html#e4ce2818c094ba7197f7ee3c55ed6975">00042</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbEnablePLL()                          SetBit(PLLCSR, PLLE)</span><a name="l00043"></a><a class="code" href="at90usb1287_8h.html#b74fb663701287cc0ebc5aa38aff6d9d">00043</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbDisablePLL()                         ClearBit(PLLCSR, PLLE)</span><a name="l00044"></a><a class="code" href="at90usb1287_8h.html#70ceadcb5d3b15213555e6822c0d9e06">00044</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbIsPLL_Locked()                       BitIsSet(PLLCSR, PLOCK)</span><a name="l00045"></a><a class="code" href="at90usb1287_8h.html#703c1cf94f2c6aa1bb4593e2adc13647">00045</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbWaitPLL_Locked()                     while (!(PLLCSR &amp; (1&lt;&lt;PLOCK)));</span><a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define UsbEnableClock()                        ClearBit(USBCON, FRZCLK)</span><a name="l00047"></a>00047 <span class="preprocessor"></span><a name="l00048"></a>00048 <span class="comment">//USB general registers, section 21.12.1, page 263 of datasheet</span><a name="l00049"></a>00049 <span class="comment">// UHWCON (UsbHardWareCONfiguration)</span><a name="l00050"></a><a class="code" href="at90usb1287_8h.html#4b5e764f8a0390494ffa735b419a734b">00050</a> <span class="preprocessor">#define UsbSetDeviceMode()                SetBit(UHWCON, UIMOD)           // select host or device mode manually</span><a name="l00051"></a><a class="code" href="at90usb1287_8h.html#d0c2c5bba0e9cdcecaf36bd698b4d6d7">00051</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbSetHostMode()                  ClearBit(UHWCON, UIMOD)</span><a name="l00052"></a><a class="code" href="at90usb1287_8h.html#7a4079853629dced7f373de393a5a5f9">00052</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbEnableUID_ModeSelection()      SetBit(UHWCON, UIDE)            // enable mode selection by UID pin</span><a name="l00053"></a><a class="code" href="at90usb1287_8h.html#6dbce2df7363e97acf1a3b0fa1fffd96">00053</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbDisableUID_ModeSelection()     ClearBit(UHWCON, UIDE)</span><a name="l00054"></a><a class="code" href="at90usb1287_8h.html#50cf6ab6f0c9878f9a18c9fe183912eb">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbEnableUVCON_PinControl()       SetBit(UHWCON, UVCONE)          // enable UVCON pin control, figure 21-7</span><a name="l00055"></a><a class="code" href="at90usb1287_8h.html#b243ad708547e8fd98c8cc5d62954955">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbDisableUVCON_PinControl()      ClearBit(UHWCON, UVCONE)</span><a name="l00056"></a><a class="code" href="at90usb1287_8h.html#0659d6e10d82795daf57a4ebf033f388">00056</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbEnablePadsRegulator()          SetBit(UHWCON, UVREGE)          // USB pads (D+, D-) supply</span><a name="l00057"></a><a class="code" href="at90usb1287_8h.html#d6011b8832ead5417050acfdff065a24">00057</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbDisablePadsRegulator()         ClearBit(UHWCON, UVREGE)</span><a name="l00058"></a>00058 <span class="preprocessor"></span><a name="l00059"></a>00059 <span class="comment">// USBCON (USB CONfiguration)</span><a name="l00060"></a><a class="code" href="at90usb1287_8h.html#d30258b3727c819f50ba618b9f4c0331">00060</a> <span class="preprocessor">#define UsbEnableController()             SetBit(USBCON, USBE)            // USB controller enable</span><a name="l00061"></a><a class="code" href="at90usb1287_8h.html#ecdc04e3a7e0f05a212586a26762757b">00061</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbDisableController()            ClearBit(USBCON, USBE)          // reset and disable controller</span><a name="l00062"></a><a class="code" href="at90usb1287_8h.html#330212cd8a2053bd2162048f024dc4f5">00062</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbIsControllerEnabled()          BitIsSet(USBCON, USBE)</span><a name="l00063"></a><a class="code" href="at90usb1287_8h.html#d5db2c8d360299e048bcf29f352711c6">00063</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbSetHostModeReg()               SetBit(USBCON, HOST)            // select multiplexed controller registers</span><a name="l00064"></a><a class="code" href="at90usb1287_8h.html#1cf7478c0ad09bd307dba17c50f368ad">00064</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbSetDeviceModeReg()             ClearBit(USBCON, HOST)          //</span><a name="l00065"></a><a class="code" href="at90usb1287_8h.html#d0df5e513f5427a9903eb037ac600fe4">00065</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbFreezeClock()                  SetBit(USBCON, FRZCLK)          // reduce power consumption</span><a name="l00066"></a><a class="code" href="at90usb1287_8h.html#7fff55826a16d37ff120586f647e60be">00066</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbEnableClock()                  ClearBit(USBCON, FRZCLK)</span><a name="l00067"></a><a class="code" href="at90usb1287_8h.html#2e53291cfe94a16559b3e764a435f20d">00067</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbIsClockFreezed()               BitIsSet(USBCON, FRZCLK)</span><a name="l00068"></a><a class="code" href="at90usb1287_8h.html#90c696b9a99fc871213613e95403dc9c">00068</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbEnableOTG_Pad()                SetBit(USBCON, OTGPADE)         // ??? is this the UID pad?</span><a name="l00069"></a><a class="code" href="at90usb1287_8h.html#7fcf78671ffb50a3a96f463e0f2bad01">00069</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbDisableOTG_Pad()               ClearBit(USBCON, OTGPADE)</span><a name="l00070"></a><a class="code" href="at90usb1287_8h.html#4475fba351838ccd4c219598e843ad2f">00070</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbEnableID_TransitionInt()       SetBit(USBCON, IDTE)            // enable ID transition interrupt generation</span><a name="l00071"></a><a class="code" href="at90usb1287_8h.html#e6e62df5204701da60fc0339dfeff474">00071</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbDisableID_TransitionInt()      ClearBit(USBCON, IDTE)</span><a name="l00072"></a><a class="code" href="at90usb1287_8h.html#501696b65dee917c4a1d46fd1306d62e">00072</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbEnableVBUS_TransitionInt()     SetBit(USBCON, VBUSTE)          // enable VBUS transition interrupt</span><a name="l00073"></a><a class="code" href="at90usb1287_8h.html#59c2d06da4f4a4086b3ce31f2ccfc91c">00073</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbDisableVBUS_TransitionInt()    ClearBit(USBCON, VBUSTE)</span><a name="l00074"></a>00074 <span class="preprocessor"></span><a name="l00075"></a>00075 <span class="comment">// USBSTA (USBSTAtus, read only)</span><a name="l00076"></a><a class="code" href="at90usb1287_8h.html#127eae50fd60ee77c3ee8ee2517ff93f">00076</a> <span class="preprocessor">#define UsbIsFullSpeedMode()              BitIsSet(USBSTA, SPEED)         // set by hardware if controller is in fullspeed mode,</span><a name="l00077"></a><a class="code" href="at90usb1287_8h.html#f16928470d4ef6f10899be2ff090e310">00077</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbIsLowSpeedMode()               BitIsClear(USBSTA, SPEED)       // use in host mode only, indeterminate in device mode</span><a name="l00078"></a><a class="code" href="at90usb1287_8h.html#a148bfc03f31aead10bc5b41f43bbc00">00078</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbIsUID_PinHigh()                BitIsSet(USBSTA, ID)            // query UID pad/pin</span><a name="l00079"></a><a class="code" href="at90usb1287_8h.html#4f56eb8512f2dd75b80603f7697d9c3a">00079</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbIsVBUS_PinHigh()               BitIsSet(USBSTA, VBUS)          // query VBUS pad/pin</span><a name="l00080"></a>00080 <span class="preprocessor"></span><a name="l00081"></a>00081 <span class="comment">// USBINT (USBINTerrupt)</span><a name="l00082"></a><a class="code" href="at90usb1287_8h.html#39e7d835684bc48f5d94e0c640435777">00082</a> <span class="preprocessor">#define UsbIsIDTI_FlagSet()               BitIsSet(USBINT, IDTI)          // set by hardware if ID pin transition detected</span><a name="l00083"></a><a class="code" href="at90usb1287_8h.html#8e63c5c4b3422ed6aa62924cecc9ecd8">00083</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbClearIDTI_Flag()               ClearBit(USBINT, IDTI)          // shall be cleared by software</span><a name="l00084"></a><a class="code" href="at90usb1287_8h.html#47b74a292e7a4684eaa7b866c86e8231">00084</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbIsVBUSTI_FlagSet()             BitIsSet(USBINT, VBUSTI)        // set by hardware if transition on VBUS pad is detected</span><a name="l00085"></a><a class="code" href="at90usb1287_8h.html#48ab78bc582b9fb0a59bf73cee952690">00085</a> <span class="preprocessor"></span><span class="preprocessor">#define UsbClearVBUSTI_Flag()             ClearBit(USBINT, VBUSTI)        // shall be cleared by software</span><a name="l00086"></a>00086 <span class="preprocessor"></span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 08:14:10 2007 for usbstack by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address></body></html>

⌨️ 快捷键说明

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