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

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

?? main.c

?? ATMEL ATSAM7S64處理器部分控制程序。
?? C
字號:
/*********************************************************************************************
* File:	adc.c
* Author:	Embest z.j.zheng
* Desc:	test adc function,super terminal get the digital converted from adc through the uart
* History:	
*********************************************************************************************/
/*------------------------------------------------------------------------------------------*/
/*								include files												*/
/*------------------------------------------------------------------------------------------*/
#include "Board.h"
#include "dbgu.h"
#include "all_init.h"

/*------------------------------------------------------------------------------------------*/
/*								Global variable										 		*/
/*------------------------------------------------------------------------------------------*/
char data_out[16];
volatile char message[80];
/* Digit Symbol table*/
char Symbol[] = { DIGIT_0, DIGIT_1, DIGIT_2, DIGIT_3, DIGIT_4, DIGIT_5, DIGIT_6, DIGIT_7,
    			 DIGIT_8, DIGIT_9, DIGIT_A, DIGIT_B, DIGIT_C, DIGIT_D, DIGIT_E, DIGIT_F};
/* LED segment table */
int Seg[] = { SEGMENT_A, SEGMENT_B, SEGMENT_C, SEGMENT_D, SEGMENT_E, SEGMENT_F, SEGMENT_G, SEGMENT_P};
const int led_sw[6]= {LED1, LED2, LED3,LED3, LED2, LED1};

/*********************************************************************************************
* name:		spi_send
* func:		spi bus send byte
* para:		chr		--in,	send value
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void spi_send(char chr)			
{
	AT91F_SPI_PutChar(AT91C_BASE_SPI,chr,0);                     // send a byte
}

/*********************************************************************************************
* name:		time_dly
* func:		display code
* para:		dly			--in, delay value
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void  time_dly(int  dly)
{  
	int  i;

	for(; dly>0; dly--) 
		for(i=0; i<500; i++);
}

/*********************************************************************************************
* name:		twi_write
* func:		write the data to the eeprom by the twi
* para:		pointer. pointer to the array
* ret:		none
* modify:
* comment:	
*********************************************************************************************/
void twi_write( AT91PS_TWI pTWI,int Numn)
{ 	
	AT91C_BASE_TWI->TWI_CWGR = 0x40f0f;
	pTWI->TWI_CR = AT91C_TWI_MSEN;		
	pTWI->TWI_MMR = (AT91C_TWI_IADRSZ_1_BYTE | (!AT91C_TWI_MREAD) | AT91C_TWI_DADR);
	pTWI->TWI_IADR = 0x0 + Numn;                                //INTERNAL ADDRESS 
	pTWI->TWI_THR =Numn;

	pTWI->TWI_CR = AT91C_TWI_START;                             //start
	while(pTWI->TWI_SR&0x4==0 ){};
	time_dly(100);					
	pTWI->TWI_CR = AT91C_TWI_STOP ;                            //stop
	while(pTWI->TWI_SR&0x1==0){};	
}

/*********************************************************************************************
* name:		twi_read
* func:		read the data from the eeprom by the twi
* para:		none
* ret:		none 
* modify:
* comment:	
*********************************************************************************************/
void twi_read(AT91PS_TWI pTWI,int n)
{	
	AT91C_BASE_TWI->TWI_CWGR = 0x40f0f;
	AT91C_BASE_TWI->TWI_CR = AT91C_TWI_MSEN | AT91C_TWI_SVDIS;
	pTWI->TWI_MMR = (AT91C_TWI_IADRSZ_1_BYTE | AT91C_TWI_MREAD | AT91C_TWI_DADR);	
	pTWI->TWI_IADR = 0x0+n;                                     //INTERNAL ADDRESS 
	pTWI->TWI_CR |= AT91C_TWI_START;	                        //start

	while((pTWI->TWI_SR & 0x2) == 0 ){};
	data_out[n] = pTWI->TWI_RHR;
	time_dly(100);
	pTWI->TWI_CR |= AT91C_TWI_STOP;	                            //stop
	while((pTWI->TWI_SR & 0x1) == 0){};
}

/*********************************************************************************************
* name:		menu
* func:		Usart debug menu
* para:		none		
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void menu( char value)
{
	unsigned int i,j,button_ID,timer0;
	char AD_Data,AD[2];
  
	switch (value) {

		case '1':                                              // leds test
			AT91F_DBGU_Printk("pio output function test.\n\rlook at the leds(Input 0 to quit)..\n\r");
			// led3 is multipex with TWD
			AT91F_PIO_CfgOutput( AT91C_BASE_PIOA, LED3 ) ;
			AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED3 ) ;		
			do
			{
			timer0++;
			if(timer0 > 0x60000)
				timer0 = 0;
				AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED1|LED2|LED3) ;
				AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, led_sw[timer0>>16] ) ;
				AT91F_DBGU_Get(&value);
			}while(value != '0');
			AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED1|LED2|LED3) ;		
		break;
		
		case '2':                                               // spi test
			AT91F_DBGU_Printk("spi function test.\n\rlook at the 8 segment digital ..\n\r");
			AT91F_SPI_Enable(AT91C_BASE_SPI);
			for(i=0;i<16;i++)
			{
			spi_send(~Symbol[i]);                               // 8 segment digital display number from 0 to f
	   		time_dly(500);
	    	}
	    	spi_send(~Symbol[0]);
	    	time_dly(500);
	    	AT91F_SPI_Disable(AT91C_BASE_SPI);
		break;
		
		case '3':                                              // pwm test								
			AT91F_DBGU_Printk("pwm function test.\n\rlisten to the beep ..\n\r");
			AT91F_PWMC_StartChannel(AT91C_BASE_PWMC,AT91C_PWMC_CHID0);
			time_dly(10000);
			AT91F_PWMC_StopChannel(AT91C_BASE_PWMC,AT91C_PWMC_CHID0);		
		break;
		
		case '4':                                              // adc test
			AT91F_DBGU_Printk("adc function test.\n\r");
			AT91F_ADC_EnableChannel(AT91C_BASE_ADC,AT91C_ADC_CH4);
			AT91F_ADC_StartConversion(AT91C_BASE_ADC);
			for(j=500;j>0;j--);
			AD_Data=AT91F_ADC_GetConvertedDataCH4(AT91C_BASE_ADC);
			AT91F_DBGU_Printk("the current digital output of ADC is:	0x");				
			j=AD_Data;
			j=(j&0xf0)>>4;
			if ((j>=0)&(j<=9)) 
				AD[0]=0x30+j;
			else AD[0]=0x41+j-10;
				j=AD_Data;     
			j=j&0x0f;	
			if ((j>=0)&(j<=9)) 
				AD[1]=0x30+j;
			else AD[1]=0x41+j-10;		 	
				AD[2]='\0';
				AT91F_DBGU_Printk(AD);
			AT91F_DBGU_Printk( "\n\r" );			
		break;
		
		case '5':                                              // button test
			AT91F_DBGU_Printk("PIO input function test.\n\r");
			AT91F_DBGU_Printk("push down any button you want(Input 0 to quit)..\n\r");
			do	
			{ 
			j = AT91F_PIO_GetInput(AT91C_BASE_PIOA);
			button_ID = j&SW_MASK; 
			if ((button_ID&SW1_MASK) == 0)AT91F_DBGU_Printk("\rthe current pushed down button is 	NO.1 ");
			else if ((button_ID&SW2_MASK) == 0)AT91F_DBGU_Printk("\rthe current pushed down button is 	NO.2 ");
			else if ((button_ID&SW3_MASK) == 0)AT91F_DBGU_Printk("\rthe current pushed down button is 	NO.3 ");
			else if ((button_ID&SW4_MASK) == 0)AT91F_DBGU_Printk("\rthe current pushed down button is 	NO.4 ");
			AT91F_DBGU_Get(&value);
			}while( value != '0' );
			AT91F_DBGU_Printk( "\n\r" );					
		break;
		
		case '6':                                               // twi test
		
			AT91F_DBGU_Printk("twi function test\n\r");
			AT91F_DBGU_Printk("Write char 0-f into AT24C02\n\r");
			// Configure PIO controllers to periph mode, in open drain
			AT91F_TWI_CfgPIO();                                 // TWD(PA3) is a multiplex with LED3
			AT91F_PIO_CfgOpendrain(AT91C_BASE_PIOA,AT91C_PA3_TWD );
			for(i = 0; i <= 15; i++)
			{
				twi_write(AT91C_BASE_TWI,i);                    // write the i number into the at24c02
				twi_read(AT91C_BASE_TWI,i);                     // read the i number out from the at24c02
			}
	
			for(i = 0; i < 10; i++)                             // change into ASCII
				data_out[i] += '0'; 
			for(i = 10; i < 16; i++)	
				data_out[i] += 'a'-10; 	
			data_out[16] = '\0';
	
			AT91F_DBGU_Printk("Read out 16 bytes from AT24C02\n\r");	
			AT91F_DBGU_Printk(data_out);
		break;

		default:
		AT91F_DBGU_Printk("\n\r");
		break;
	}
}

/*********************************************************************************************
* name:		main
* func:		Main function
* para:		none		
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
Main( void )
{
    char value;
	AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_PIOA ) ;

	SPI_Init();
	
	adc_Init();
	twi_Init();	
	led_Init();	
	button_Init();
	pwm_Init();	
	
    AT91F_DBGU_Init();                                          // Init DBGU
    AT91F_DBGU_Printk("ATEBSAM7S boards part functions test.--version 050300\n\r");
    AT91F_DBGU_Printk("1)leds test\n\r2)spi test\n\r3)pwm test\n\r4)adc test\n\r5)button test\n\r6)twi test\n\r");
    while(1)
    {
	if (AT91F_DBGU_Get(&value) == 0 ) menu(value);
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产综合久久 | 国产99久久久国产精品潘金网站| 中文一区二区在线观看| 欧美视频在线不卡| 91伊人久久大香线蕉| 成人少妇影院yyyy| 国产精品中文欧美| 国内久久精品视频| 激情综合色综合久久| 亚洲成人av免费| 一区二区三区日韩精品| 亚洲视频免费在线| 亚洲色图19p| 国产经典欧美精品| 成人激情视频网站| 日本高清不卡视频| 欧日韩精品视频| 欧美一区二区三区在线观看视频| 欧美日韩一区三区四区| 欧美一区二区在线视频| 一区二区三区.www| 色综合久久天天| 欧美日韩一卡二卡三卡| 亚洲人成网站精品片在线观看 | 91蜜桃视频在线| 中文字幕国产一区二区| 国产激情一区二区三区四区| 精品日韩av一区二区| 久久久影视传媒| 国产精品久久毛片a| 亚洲综合偷拍欧美一区色| 日韩电影在线观看网站| 久久99精品久久久久久 | 色婷婷国产精品综合在线观看| 久久精品免费在线观看| 婷婷夜色潮精品综合在线| 免费在线看一区| 91在线免费视频观看| 欧美一级日韩不卡播放免费| 日韩1区2区3区| 欧美精品一区二区精品网| 国产欧美一区二区三区在线看蜜臀 | 日韩视频免费观看高清完整版在线观看 | 日韩精彩视频在线观看| 国产麻豆精品在线| 91福利视频久久久久| 一个色在线综合| 欧美妇女性影城| 亚洲欧美国产三级| 91极品视觉盛宴| 日韩av不卡一区二区| 精品国精品国产尤物美女| 成人性生交大片免费看视频在线| 国产精品久久久久7777按摩| 91九色最新地址| 久久综合综合久久综合| 在线影视一区二区三区| 日本美女一区二区三区视频| 亚洲精品一区二区三区影院| 成人动漫中文字幕| 日韩专区一卡二卡| 国产日韩欧美高清| 欧美色老头old∨ideo| 久久电影国产免费久久电影| 国产精品二区一区二区aⅴ污介绍| 91在线精品秘密一区二区| 午夜免费久久看| 久久久久久久久久久久久久久99 | 日韩一区二区三区在线视频| 极品销魂美女一区二区三区| 亚洲视频一区二区在线观看| 欧美一区二区视频观看视频| av电影在线观看一区| 久久精品一区二区三区av| 91在线视频免费观看| 欧美aaaaaa午夜精品| 亚洲手机成人高清视频| 在线播放国产精品二区一二区四区| 亚洲精品一区二区精华| 色94色欧美sute亚洲线路一ni| 精品一区二区三区免费毛片爱| 国产精品久久久久久久久图文区| 欧美日韩精品专区| 99久久精品免费| 精品一区二区三区在线视频| 亚洲狠狠爱一区二区三区| 成人午夜免费视频| 日韩高清国产一区在线| 亚洲免费在线观看视频| 久久亚洲欧美国产精品乐播| 麻豆成人综合网| 欧美日韩大陆一区二区| 成人av第一页| 国产伦精品一区二区三区视频青涩| 亚洲电影在线播放| 亚洲丝袜精品丝袜在线| 中文字幕不卡在线| 欧美精品一区二区三区在线| 欧美丰满一区二区免费视频| 色综合一区二区三区| 日本一区二区视频在线| 日韩欧美一级二级三级久久久 | 天堂在线亚洲视频| 日韩毛片视频在线看| 欧美激情艳妇裸体舞| 久久久精品国产免大香伊| 欧美成人女星排行榜| 777奇米四色成人影色区| 91国模大尺度私拍在线视频| 91麻豆swag| 一本大道久久a久久精二百| 不卡电影一区二区三区| 成人av片在线观看| 91网站在线播放| 色综合中文字幕国产| 成人在线一区二区三区| 国产aⅴ精品一区二区三区色成熟| 国产美女精品人人做人人爽| 极品瑜伽女神91| 国产寡妇亲子伦一区二区| 国产精品一区在线| 成人手机电影网| 在线亚洲一区二区| 91成人免费在线视频| 欧美日韩中文字幕一区二区| 欧美一级理论片| 久久久久国产精品人| 中文字幕一区二区不卡| 91精品国产色综合久久不卡蜜臀| 91麻豆精品国产无毒不卡在线观看| 欧美日韩国产经典色站一区二区三区 | 成人福利视频网站| 91蝌蚪porny九色| 欧美日本一区二区三区四区| 欧美另类z0zxhd电影| 日韩免费在线观看| 国产清纯白嫩初高生在线观看91 | 色视频欧美一区二区三区| 欧美日韩aaa| 久久综合丝袜日本网| 国产精品不卡在线观看| 亚洲成a人片综合在线| 精品一区二区在线看| 99久久精品国产一区二区三区| 欧美日韩国产综合一区二区三区| 亚洲精品一区二区三区在线观看| 国产精品白丝在线| 日精品一区二区三区| 国产91精品在线观看| 欧美午夜精品久久久| 久久综合九色综合欧美就去吻| 国产精品午夜在线观看| 日韩一区国产二区欧美三区| 久久蜜臀精品av| 亚洲午夜精品在线| 国产剧情av麻豆香蕉精品| 色婷婷综合视频在线观看| 精品国产三级电影在线观看| 亚洲日本在线a| 免费久久99精品国产| 91在线视频官网| 国产日韩欧美一区二区三区乱码 | 欧美久久高跟鞋激| 中文字幕在线一区免费| 蜜桃视频在线观看一区| 色素色在线综合| 国产精品天干天干在观线| 日韩国产在线观看| 日本高清免费不卡视频| 国产校园另类小说区| 日本欧美一区二区在线观看| 91女人视频在线观看| 久久久久久久av麻豆果冻| 午夜精品影院在线观看| 色综合久久天天| 国产欧美久久久精品影院| 蜜臀国产一区二区三区在线播放| 欧美在线啊v一区| 日韩一区欧美一区| 国产黄色91视频| 日韩一区二区三区三四区视频在线观看| 亚洲天天做日日做天天谢日日欢 | 欧美日韩一区二区三区视频| 中文字幕av不卡| 成人手机电影网| 精品福利在线导航| 免费在线成人网| 91精品国产一区二区| 日韩成人av影视| 欧美裸体一区二区三区| 午夜久久久久久久久| 欧美自拍偷拍一区| 亚洲一区二区偷拍精品| 91久久一区二区| 亚洲一区自拍偷拍| 欧美视频在线观看一区| 亚洲一级电影视频| 欧美日韩免费观看一区二区三区| 一区二区三区精密机械公司| 色一区在线观看|