📄 at90usb1287_8h-source.html
字号:
<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_<<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 & (1<<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 <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 + -