亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? at91sam7s64的論文
?? C
字號:
//*--------------------------------------------------------------------------------------
//*      ATMEL Microcontroller Software Support  -  ROUSSET  -
//*--------------------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*--------------------------------------------------------------------------------------
//* File Name           : USB HID example
//* Object              :
//* Translator          :
//* 1.0 05/Oct/04 ODi	: CReation
//* 1.1 04/Nov/04 JPP	: Add led1 On at power supply
//*--------------------------------------------------------------------------------------

#include "board.h"
#include "dbgu.h"
#include "hid_enumerate.h"

#define BUTTON_SAMPLING 1700 // Sampling frequency of buttons

#define BL_OFF(pio) ((pio) & SW1)
#define BR_OFF(pio) ((pio) & SW2)
#define BU_OFF(pio) ((pio) & SW3)
#define BD_OFF(pio) ((pio) & SW4)

#define BL_ON(pio) (!BL_OFF(pio))
#define BR_ON(pio) (!BR_OFF(pio))
#define BU_ON(pio) (!BU_OFF(pio))
#define BD_ON(pio) (!BD_OFF(pio))
#define CLICKL_ON 1
#define CLICKR_ON 2

struct _AT91S_HID 	HID;

//*----------------------------------------------------------------------------
//* \fn    AT91F_USB_Open
//* \brief This function Open the USB device
//*----------------------------------------------------------------------------
void AT91F_USB_Open(void)
{
    // Set the PLL USB Divider
    AT91C_BASE_CKGR->CKGR_PLLR |= AT91C_CKGR_USBDIV_1 ;

    // Specific Chip USB Initialisation
    // Enables the 48MHz USB clock UDPCK and System Peripheral USB Clock
    AT91C_BASE_PMC->PMC_SCER = AT91C_PMC_UDP;
    AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_UDP);

    // Enable UDP PullUp (USB_DP_PUP) : enable & Clear of the corresponding PIO
    // Set in PIO mode and Configure in Output
    AT91F_PIO_CfgOutput(AT91C_BASE_PIOA,AT91C_PIO_PA25);
    // Clear for set the Pul up resistor
    AT91F_PIO_SetOutput(AT91C_BASE_PIOA,AT91C_PIO_PA25);
    //AT91F_PIO_ClearOutput(AT91C_BASE_PIOA,AT91C_PIO_PA25);

    //AT91F_PIO_CfgInput(AT91C_BASE_PIOA,AT91C_PIO_PA24);
    //AT91F_PIO_CfgPullup(AT91C_BASE_PIOA,~AT91C_PIO_PA24);
    //while(!(AT91F_PIO_GetInput(AT91C_BASE_PIOA)&AT91C_PIO_PA24));

    // CDC Open by structure initialization
    AT91F_HID_Open(&HID, AT91C_BASE_UDP);
}

//*--------------------------------------------------------------------------------------
//* Function Name       : main
//* Object              :
//*--------------------------------------------------------------------------------------
int main ( void )
{
	char prevButton = 0, button = 0;
	int x = 0, y = 0;
	unsigned int pioStatus;

    //Init trace DBGU
    //AT91F_DBGU_Init();
    //AT91F_DBGU_Printk("\n\r-I- BasicUSB 1.1 (USB_DP_PUP) \n\r0) Set Pull-UP 1) Clear Pull UP\n\r");


    // Init USB device
    AT91F_USB_Open();

    // Configure the RTT:
    *AT91C_RTTC_RTMR = BUTTON_SAMPLING;

    // Set in PIO mode and Configure in Input
    AT91F_PIOA_CfgPMC();
    AT91F_PIO_CfgInput(AT91C_BASE_PIOA, (SW1|SW2));


    // Wait for the end of enumeration
    while (!HID.IsConfigured(&HID));

    // Start waiting some cmd
    while (1) {
		// Check enumeration
		if (HID.IsConfigured(&HID)) {
			// Wait for several ms
			while ( !((*AT91C_RTTC_RTSR) & AT91C_SYSC_RTTINC) );
			// Check PIO changes
			pioStatus = *AT91C_PIOA_PDSR;
			// Click on Button Left
			if (BL_ON(pioStatus) && BR_OFF(pioStatus)) {
				x = (x > 0) ? -1 : ((-127 < x) ? --x : x);
				AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, LED2);
				AT91F_PIO_SetOutput(AT91C_BASE_PIOA, LED1);
			}
			// Click on Button Right
			else if (BL_OFF(pioStatus) && BR_ON(pioStatus)) {
				x = (x < 0) ? 0 : ((x < 127) ? ++x : x);
				AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, LED1);
				AT91F_PIO_SetOutput(AT91C_BASE_PIOA, LED2);
			}
			// Click on Both
			else if (BL_ON(pioStatus) && BR_ON(pioStatus)) {
				button |= CLICKL_ON;
				x = 0;
				AT91F_PIO_SetOutput(AT91C_BASE_PIOA, LED1|LED2);
			}
			// Release right/left button
			else {
				button &= ~(CLICKL_ON);
				x = 0;
				AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, LED1|LED2);
			}
			if (BU_ON(pioStatus) && BD_OFF(pioStatus)) {
				y = (y > 0) ? -1 : ((-127 < y) ? --y : y);
				AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, LED4);
				AT91F_PIO_SetOutput(AT91C_BASE_PIOA, LED3);
			}
			else if (BU_OFF(pioStatus) && BD_ON(pioStatus)) {
				y = (y < 0) ? 0 : ((y < 127) ? ++y : y);
				AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, LED3);
				AT91F_PIO_SetOutput(AT91C_BASE_PIOA, LED4);
			}
			else if (BU_ON(pioStatus) && BD_ON(pioStatus)) {
				button |= CLICKR_ON;
				y = 0;
				AT91F_PIO_SetOutput(AT91C_BASE_PIOA, LED3|LED4);
			}
			else {
				button &= ~(CLICKR_ON);
				y = 0;
				AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, LED3|LED4);
			}
			// Send Coordinates	
			if ((prevButton != button) || x || y) {
				prevButton = button;
				HID.SendReport(&HID, button, x, y);
			}	

        }
   }
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩欧美一区二区三区乱码| 国产成人在线看| 久久―日本道色综合久久| 91一区二区三区在线观看| 青青草成人在线观看| 亚洲美女偷拍久久| 成人免费一区二区三区视频 | 亚洲欧洲精品一区二区精品久久久| 亚洲欧美福利一区二区| 日韩成人伦理电影在线观看| 亚洲日本va午夜在线影院| 国产精品欧美久久久久一区二区| 国产喂奶挤奶一区二区三区| 欧美精品一区二区三区四区| 欧美老肥妇做.爰bbww视频| 一本色道久久综合狠狠躁的推荐| 国产成人精品影视| 欧洲一区在线电影| 在线观看www91| 久久综合色婷婷| 日本一区二区视频在线| 亚洲一区二区高清| 亚洲一区电影777| 国产精品一区二区在线观看不卡 | 欧美精品一区在线观看| 亚洲久本草在线中文字幕| 亚洲精品成a人| 国产一区二三区| 国内精品久久久久影院薰衣草| 国产剧情一区二区三区| 欧美影院午夜播放| 欧美一区二区三区不卡| 777a∨成人精品桃花网| 日韩精品一区在线观看| 精品国产欧美一区二区| 亚洲一区二区美女| 不卡在线观看av| 色婷婷精品久久二区二区蜜臂av| 精品福利av导航| 午夜精品久久久久久久| 99国产一区二区三精品乱码| 色老汉一区二区三区| 欧美色涩在线第一页| 日韩欧美二区三区| 亚洲一区视频在线观看视频| 成人动漫精品一区二区| 久久毛片高清国产| 日本aⅴ精品一区二区三区| 欧洲av一区二区嗯嗯嗯啊| 一区在线中文字幕| 国产成人综合视频| 精品久久免费看| 亚洲女子a中天字幕| 国产成人在线视频免费播放| 欧美精品一区二区三区一线天视频 | 日本大胆欧美人术艺术动态| 在线欧美日韩国产| 亚洲少妇最新在线视频| 不卡的av电影| 欧美国产一区二区| 五月天激情小说综合| 一本一道综合狠狠老| 中文字幕亚洲电影| 北岛玲一区二区三区四区| 91精品综合久久久久久| 五月综合激情婷婷六月色窝| 91高清视频在线| 亚洲精品国产无天堂网2021| 色综合久久久久综合| 亚洲欧美综合另类在线卡通| hitomi一区二区三区精品| 中文字幕一区av| 色偷偷久久人人79超碰人人澡| 亚洲欧洲成人av每日更新| 99精品欧美一区二区三区小说 | 欧美午夜寂寞影院| 亚洲一区二区在线播放相泽| 在线免费观看日本欧美| 依依成人精品视频| 欧美色中文字幕| 午夜精品久久久久久久99樱桃| 91精品国产色综合久久不卡电影 | 久久精品亚洲一区二区三区浴池| 国产一区二区三区视频在线播放| 日韩欧美一区二区免费| 国产一区二区三区综合| 国产欧美一区视频| aa级大片欧美| 亚洲观看高清完整版在线观看| 国产成人在线观看免费网站| 国产婷婷色一区二区三区在线| 成人免费不卡视频| 2014亚洲片线观看视频免费| 东方aⅴ免费观看久久av| 日韩一级大片在线| 午夜精品影院在线观看| 日韩欧美国产麻豆| 国产精品亚洲第一区在线暖暖韩国| 久久精品视频网| 91欧美一区二区| 婷婷开心激情综合| 精品国产乱码久久久久久蜜臀| 国产a久久麻豆| 亚洲最新在线观看| 91免费看视频| 日本aⅴ免费视频一区二区三区| 久久亚洲欧美国产精品乐播| 99久久伊人网影院| 亚洲va韩国va欧美va| 欧美最猛性xxxxx直播| 日本午夜一本久久久综合| 国产喂奶挤奶一区二区三区| 在线这里只有精品| 极品少妇xxxx偷拍精品少妇| 91精品在线一区二区| 国产成人免费高清| 亚洲国产成人av网| 久久久亚洲午夜电影| 在线视频国内一区二区| 久久福利资源站| 久久午夜电影网| 91福利精品第一导航| 精品一区二区精品| 一区二区视频免费在线观看| 精品盗摄一区二区三区| 色婷婷综合久久久久中文一区二区 | 成人18精品视频| 日本在线不卡一区| 国产精品久久网站| 99国产精品久| 麻豆专区一区二区三区四区五区| 欧美福利电影网| 成人精品一区二区三区四区| 午夜电影一区二区三区| 国产精品美女久久久久久2018| 911精品国产一区二区在线| 菠萝蜜视频在线观看一区| 青青草91视频| 亚洲免费观看高清完整版在线观看| 精品日韩欧美在线| 欧美系列日韩一区| 成人短视频下载| 国产在线精品视频| 日本系列欧美系列| 亚洲在线视频一区| 中文一区在线播放| 精品国产青草久久久久福利| 欧美日韩国产在线观看| 麻豆免费看一区二区三区| 一区二区三区精品视频在线| 国产精品天干天干在线综合| 欧美tickling挠脚心丨vk| 欧美巨大另类极品videosbest | 亚洲午夜免费电影| 国产精品久久久久影院| 久久网站最新地址| 欧美一区二区日韩| 51精品秘密在线观看| 欧美吻胸吃奶大尺度电影| 99精品国产91久久久久久| 丰满白嫩尤物一区二区| 国产尤物一区二区在线| 喷水一区二区三区| 香蕉av福利精品导航| 一区二区三区国产精华| 亚洲桃色在线一区| 中文成人综合网| 欧美激情在线一区二区三区| 久久免费精品国产久精品久久久久 | 亚洲自拍另类综合| 亚洲免费在线观看视频| 国产精品日韩精品欧美在线| 国产日韩欧美电影| 久久精品人人爽人人爽| 久久―日本道色综合久久| 精品国产一区二区精华| 久久伊人蜜桃av一区二区| 欧美r级在线观看| 亚洲精品一区二区三区香蕉| 欧美第一区第二区| 精品少妇一区二区三区免费观看| 91精品国产日韩91久久久久久| 777久久久精品| 6080午夜不卡| 日韩一区二区电影在线| 精品国产人成亚洲区| 国产午夜精品久久久久久久 | 成人app下载| 9色porny自拍视频一区二区| 99久久精品免费| 一本到三区不卡视频| 欧洲av一区二区嗯嗯嗯啊| 欧美日韩国产综合草草| 91精品国产福利在线观看| 精品国产乱码久久久久久闺蜜| 精品盗摄一区二区三区| 中文字幕成人在线观看| 亚洲男同性视频| 香港成人在线视频| 精品无码三级在线观看视频|