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

📄 alva.c

📁 针对at91sam7s64芯片实现usb通讯的下位机程序
💻 C
字号:
/*----------------------------------------------------------------------------
		For Intellisence
 *---------------------------------------------------------------------------*/

#include <AT91SAM7S64.H>                    /* AT91SAM7S64 definitions */
#include "Board.h"
#include "type.h"
#include "usb.h"
#include "usbcfg.h"
#include "usbhw.h"
#include "usbcore.h"

AT91S_PIO * pPIO = AT91C_BASE_PIOA;         /* Global Pointer to PIO */
BYTE	data;
/* Main Program */

int main (void) {
  int timecount;												 
  AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_PIOA);	/* Enable Clock for PIO */
  *AT91C_PIOA_PER=0x0000000F;	  			/*PIOA0-2作为I/O使用*/
  *AT91C_PIOA_OER=0x0000000F;	   			/*PIOA0-2输出使能 */
  pPIO->PIO_PER  = LED_MASK;                /* Enable PIO for LED1..4  */
  pPIO->PIO_OER  = LED_MASK;                /* LED1..4 are Outputs     */
  pPIO->PIO_SODR = LED_MASK;                /* Turn off LED's ("1")    */
  data=0;

  USB_Init();                               /* USB Initialization */
  USB_Connect(TRUE);                        /* USB Connect */

  while (1)                                /* Loop forever */
  {
  	if(data==49)
	{	
 	    *AT91C_PIOA_CODR=0x00000001;  						/*开led1*/
		for(timecount=0;timecount<6000000;timecount++);
		*AT91C_PIOA_SODR=0x00000001; 						/*关led1*/		
		USB_WriteEP (1, &data, 1);
		data=0;
	}

	if(data==50)
	{
		*AT91C_PIOA_CODR=0x00000002;	  					 /*开led2*/
		for(timecount=0;timecount<6000000;timecount++);
		*AT91C_PIOA_SODR=0x00000002;
		USB_WriteEP (1, &data, 1);		 		 			/*关led2*/
		data=0;
	}
		if(data==51)
	{
		*AT91C_PIOA_CODR=0x00000004;	  				 	/*开led3*/
		for(timecount=0;timecount<6000000;timecount++);
		*AT91C_PIOA_SODR=0x00000004;
		USB_WriteEP (1, &data, 1);		 		 			/*关led3*/
		data=0;
	}
  }
  
}

⌨️ 快捷键说明

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