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

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

?? ad_test.c

?? S3C2410 CAN驅動程序,開發板是傅立葉電子的FFT2410
?? C
字號:
//====================================================================
// File Name : 2410test.c
// Function  : S3C2410 Test Main Menu
// Program   : Shin, On Pil (SOP)
// Date      : May 30, 2002
// Version   : 0.0
// History
//   0.0 : Programming start (February 20,2002) -> SOP
//   1.0 (20020530) : First release for customer
//   1.1 (20020801) : Strata NOR Flash Added and etc. -> SOP
//====================================================================

#include <stdlib.h>
#include <string.h>
#include "sja1000.h"
//Shin, On Pil
#include "def.h"
#include "option.h"
#include "2410addr.h"
#include "2410lib.h"
#include "2410slib.h"

#include "2410etc.h"
#include "2410IIC.h"
#include "2410iis.h"
#include "2410int.h"
#include "2410RTC.h"
#include "2410swi.h"
//#include "cpuspeed.h"
//#include "lcdpwr.h"
#include "timer.h"

//Kang, Weon Tark
#include "adc.h"
#include "dma.h"
#include "dma2.h"
#include "eint.h"
#include "extdma.h"
#include "k9s1208.h"
#include "mmu.h"
#include "nwait.h"
#include "sdi.h"
#include "stone.h"
#include "ts_auto.h"
#include "ts_sep.h"
#include "usbfifo.h"

//Shin, Jeong Seuk
#include "IrDA.h"
#include "lcd.h"
#include "lcdlib.h"
#include "glib.h"
#include "palette.h"
#include "spi.h"
#include "uart0.h"
#include "uart1.h"
#include "uart2.h"

//Kong, In Wook
#include "etc.h"
#include "flash.h"
#include "idle.h"
#include "pd6710.h"
#include "pll.h"
#include "power.h"
#include "pwr_c.h"
#include "stop.h"

void Isr_Init(void);
void HaltUndef(void);
void HaltSwi(void);
void HaltPabort(void);
void HaltDabort(void);
volatile int *ad_write=(volatile int*)(0x28500000);


unsigned int T_flag0=0;
unsigned int T_flag1=0;
unsigned long int cc=8;

//unsigned char data[11] = {'\0'};
//unsigned char Rx_Buf0[11] = {'\0'};
unsigned char Tx_Buf0[9] = {'\0'};
unsigned char Tx_Buf1[9] = {'\0'};
//unsigned char Rx_Buf1[11] = {'\0'};


/*writ to the register with tht data
	chanal--通道號,可選CAN總線1,CAN總線2
	reg-----寄存器號
	data----寄存器數據*/
void setcanport(unsigned char chanal, unsigned int reg, unsigned char data1)
{
    if(!chanal)
	   BASEADD = (volatile char*)(0x28000000);
    else
    	BASEADD =(volatile char*)(0x28400000);
	*(BASEADD+0x100)=reg;
	*(BASEADD)=data1;

}

/*read the data of the register to the return
	chanal--通道號,可選CAN總線1,CAN總線2
	reg-----寄存器號
	返回值--寄存器數據*/
unsigned char getcanport(unsigned char chanal, unsigned char reg)
{
    unsigned char temp;
    if(!chanal)
	   BASEADD = (volatile char*)(0x28000000);
    else
    	BASEADD = (volatile char*)(0x28400000);
  
	*(BASEADD+0x100)=reg;
	temp=*BASEADD;
	return (temp);
}

/*if receive mailbox have data
	chanal--通道號,可選CAN總線1,CAN總線2
	返回值--是否有數據,如果為0,表示有數據,否則沒有數據*/

unsigned char ifgetdata(unsigned char chanal)
{
   unsigned char temp;
   if(((getcanport(chanal,StatusReg) & RBS_Bit) != RBS_Bit))
      temp=1;
   else
      temp=0;   
   return (temp);

}


/*Receive one message
	chanal--通道號,可選CAN總線1,CAN總線2
	返回值--數據個數*/
unsigned char getdata(unsigned char chanal, unsigned char *buf)
{	
	int num,i;
	unsigned char data[11] = {'\0'};
    unsigned char panduan;
	
	data[0] = getcanport(chanal,RxBuffer1);
	data[1] = getcanport(chanal,RxBuffer2);
	data[2] = getcanport(chanal,RxBuffer3);
	data[3] = getcanport(chanal,RxBuffer4);
	data[4] = getcanport(chanal,RxBuffer5);
	data[5] = getcanport(chanal,RxBuffer6);
	data[6] = getcanport(chanal,RxBuffer7);
	data[7] = getcanport(chanal,RxBuffer8);
	data[8] = getcanport(chanal,RxBuffer9);
	data[9] = getcanport(chanal,RxBuffer10);
	
	num = data[1]&0x0f;

	
	for(i=0;i<num;i++)
	{
	*(buf++)=data[i+2];
	}

	setcanport(chanal,CommandReg,RRB_Bit);

	*buf=0;

	return (num);

	
}

/*Transmit one message
	num-----數據個數
	data----數據
	返回值--0 忙*/
unsigned char senddata(unsigned char chanal, unsigned char *buf)
{	    
	
	unsigned char temp = 0;
	unsigned char data[11] = {'\0'};
	int i;
	

	if((getcanport(chanal,StatusReg) & TBS_Bit) == TBS_Bit)
	{
		for(i=0;i<8;i++)
		{
		data[i]=*(buf+i);
		}
		temp = getcanport(chanal, StatusReg);
		setcanport(chanal,TxBuffer1,0x00);
		setcanport(chanal,TxBuffer2,0x08);
		setcanport(chanal,TxBuffer3,data[0]);
		setcanport(chanal,TxBuffer4,data[1]);
		setcanport(chanal,TxBuffer5,data[2]);
		setcanport(chanal,TxBuffer6,data[3]);
		setcanport(chanal,TxBuffer7,data[4]);
		setcanport(chanal,TxBuffer8,data[5]);
		setcanport(chanal,TxBuffer9,data[6]);
		setcanport(chanal,TxBuffer10,data[7]);
		
		setcanport(chanal,CommandReg,0x01);
		
		do 
		  {
		     temp = getcanport(chanal, StatusReg);
		     if ((temp & TCS_Bit)==TCS_Bit)
		        break;
		  } while(1);     //If it is transmitted succeded?

		return (1);
	}
	else if(!chanal)
	{
		if(!T_flag0)
		{
			for(i=0;i<8;i++)
			{
			Tx_Buf0[i]=*(buf+i);
			}
			T_flag0=1;//傳輸標志,1表示一個報文等待發送
		}
		else return (0);
	}
	else
	{
		if(!T_flag1)
		{
			for(i=0;i<8;i++)
			{
			Tx_Buf1[i]=*(buf+i);
			}
			T_flag1=1;//傳輸標志,1表示一個報文等待發送
		}
		else return (0);
	}
	
}


/*Initial the SJA1000 It just is BasicCAN */
void FFT_init_can(unsigned char chanal,unsigned char ac,unsigned char am,unsigned char btr0,unsigned char btr1)
{
	
	unsigned char temp = 0;

//進入復位請求設置模式
	while((temp&RM_RR_Bit)!=RM_RR_Bit)
	{
	printf("\n0x01 will be set to ModeControlReg\n");
	setcanport(chanal, ModeControlReg,0x07);/*Config MOD&CR register,初始化INT*/
	temp = getcanport(chanal, ModeControlReg);
	printf("\nModeControlReg=%d\n",temp);
	}
	
//設置接收碼
	setcanport(chanal, AcceptCodeReg, ac);

//設置屏蔽碼
	setcanport(chanal, AcceptMaskReg, am);

//設置總線bps
	setcanport(chanal, BusTiming0Reg, btr0);

	setcanport(chanal, BusTiming1Reg, btr1);

//設置CAN輸出模式	
	setcanport(chanal, OutControlReg, 0xda);

//設置時鐘分頻寄存器
	setcanport(chanal, ClockDivideReg, 0x48);

/*清除復位模式位*/
	do
	{
	setcanport(chanal, ModeControlReg, 0x06);/*Config MOD&CR register*/
	}while(((getcanport(chanal, ModeControlReg)) & RM_RR_Bit)!=ClrByte);
}

//===================================================================
void Main(void)
{
    int i,j,n,cc;
    unsigned char *buf;
	static unsigned int number=0;
	unsigned char d[5][9]={"asdfjkl;","12345678","90123456","78787878","abcdefgh"};
    unsigned char panduan;
	unsigned long t;

//  2. MMU的初始化
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//      MMU_Init();         //mmu.c
//   

//  3. 改變時鐘配置
    ChangeClockDivider(1,1);          // 1:2:4    2410lib.c

    ChangeMPllValue(0xa1,0x3,0x1);    // FCLK=202.8MHz  2410lib.c


//  4. 所有IO口的初始化配置
    Port_Init();              //2410lib.c
    

//  5. 所有中斷模式的初始化配置
    Isr_Init();

//  7. 串口的初始化配置和選擇

    Uart_Init(0,115200);
    Uart_Select(0);

//  8. delay和電源管理

    Delay(0);	//calibrate Delay()
    Check_PowerOffWakeUp();  //It's needed for power-off STOP mode test.   

    //Save the wasted power consumption on GPIO.
    rIISPSR=(2<<5)|(2<<0); //IIS_LRCK=44.1Khz @384fs,PCLK=50Mhz.
    rGPHCON = rGPHCON & ~(0xf<<18)|(0x5<<18);   //CLKOUT 0,1=OUTPUT to reduce the power consumption.

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//  9. 測試LCD
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

//    while(1)
   // {
    //    i = 0;
       // Uart_Printf("\n\nFFT-S3C2410 A/D TESTED\n");
        //Test_Ad();

   // }
   	FFT_init_can(1,1,255,71,175);   //通道號,接收碼,屏蔽碼,波特率0,波特率1
	FFT_init_can(0,1,255,71,175);   //通道號,接收碼,屏蔽碼,波特率0,波特率1

//
	for(i=0;i<1;i++)
	{
	buf=&d[i][0];
	senddata(1,buf);
	};
	
    for(;;)
    {
       panduan=ifgetdata(0);
       if(panduan==0)
         break;
    }
	
	getdata(0,buf);
	number=number+1;
	Uart_Printf("can test ok");
}

//===================================================================
void Isr_Init(void)
{
    pISR_UNDEF  = (unsigned)HaltUndef;
    pISR_SWI    = (unsigned)HaltSwi;
    pISR_PABORT = (unsigned)HaltPabort;
    pISR_DABORT = (unsigned)HaltDabort;
    
    rINTMOD     = 0x0;                     //All=IRQ mode
//    rINTCON=0x5;                           //Non-vectored,IRQ enable,FIQ disable    
    rINTMSK     = BIT_ALLMSK;              //All interrupt is masked.
    rINTSUBMSK  = BIT_SUB_ALLMSK;          //All sub-interrupt is masked. <- April 01, 2002 SOP

//    rINTSUBMSK  = ~(BIT_SUB_RXD0);         //Enable Rx0 Default value=0x7ff
//    rINTMSK     = ~(BIT_UART0);            //Enable UART0 Default value=0xffffffff    
    
//    pISR_UART0=(unsigned)RxInt;            //pISR_FIQ,pISR_IRQ must be initialized
}

//===================================================================
void HaltUndef(void)
{
    Uart_Printf("Undefined instruction exception.\n");
    while(1);
}

//===================================================================
void HaltSwi(void)
{
    Uart_Printf("SWI exception.\n");
    while(1);
}

//===================================================================
void HaltPabort(void)
{
    Uart_Printf("Pabort exception.\n");
    while(1);
}

//===================================================================
void HaltDabort(void)
{
    Uart_Printf("Dabort exception.\n");
    while(1);
}





/*
//=========================
    while(1)
    {
       Led_Display(3);
    }
//=========================    
*/
/*
//=========================
    while(1)
    {
       Led_Display(1);
       Delay(1500);   
       Led_Display(2);
       Delay(1500);             
       Led_Display(4);
       Delay(1500);   
       Led_Display(8);
       Delay(1500);                
    }
//=========================   
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
9久草视频在线视频精品| 亚洲不卡在线观看| 丁香网亚洲国际| 久久久久国产精品厨房| 国产乱码精品一区二区三区忘忧草| 日韩欧美在线一区二区三区| 久久成人羞羞网站| 久久精品亚洲精品国产欧美 | 精品久久久久99| 国内久久精品视频| 久久久91精品国产一区二区精品| 国产91露脸合集magnet| 亚洲色图视频网站| 欧美日韩mp4| 国产久卡久卡久卡久卡视频精品| 亚洲国产精品二十页| aaa亚洲精品一二三区| 一区二区欧美视频| 欧美电视剧在线看免费| 顶级嫩模精品视频在线看| 亚洲欧美色一区| 欧美一区三区四区| 成人理论电影网| 五月婷婷综合在线| 国产日韩精品一区二区三区在线| 色诱亚洲精品久久久久久| 日韩综合小视频| 中文字幕欧美三区| 8x8x8国产精品| 成人视屏免费看| 石原莉奈在线亚洲三区| 久久久久久久综合狠狠综合| 欧美亚洲一区二区在线| 久久精品99国产国产精| 亚洲欧美偷拍三级| 欧美岛国在线观看| 欧洲在线/亚洲| 国产伦精品一区二区三区在线观看| 亚洲桃色在线一区| 精品国产1区二区| 欧美午夜片在线看| 成人午夜在线视频| 美女爽到高潮91| 亚洲一区二区三区在线播放| 国产清纯白嫩初高生在线观看91| 欧美视频在线一区| 成人精品视频一区二区三区| 日本欧洲一区二区| 一区二区激情视频| 国产精品视频你懂的| 日韩精品在线网站| 欧美日韩日本视频| 91丨porny丨最新| 国产福利视频一区二区三区| 日本aⅴ免费视频一区二区三区| 国产精品情趣视频| 久久久91精品国产一区二区精品 | 日韩高清欧美激情| 国产精品三级av在线播放| 日韩美女视频一区二区在线观看| 日本韩国欧美一区| 97久久超碰精品国产| 成人午夜精品在线| 国产成人在线看| 激情久久五月天| 久久国产精品区| 日韩成人dvd| 日韩成人av影视| 日本免费在线视频不卡一不卡二| 亚洲资源在线观看| 亚洲精品国产精品乱码不99 | 一区二区三区四区五区视频在线观看| 国产性天天综合网| 国产欧美一区二区精品性| 精品国产乱码91久久久久久网站| 日韩欧美激情四射| 欧美一区午夜视频在线观看 | 精品少妇一区二区三区在线视频| 91精品在线免费| 欧美一区二区日韩一区二区| 9191久久久久久久久久久| 欧美丰满嫩嫩电影| 91麻豆精品国产| 日韩一区二区视频在线观看| 日韩一区二区精品| 日韩欧美不卡在线观看视频| 日韩精品一区二区三区三区免费| 日韩精品最新网址| 久久蜜臀中文字幕| 国产精品天干天干在观线| 日韩美女视频一区二区| 亚洲黄色免费网站| 午夜视频在线观看一区二区| 免费成人性网站| 国产黑丝在线一区二区三区| 91免费看片在线观看| 欧美在线视频全部完| 欧美一区二区三区在线观看视频 | 欧美色网站导航| 91精品午夜视频| 久久久久久久免费视频了| 国产欧美日韩精品a在线观看| 成人欧美一区二区三区视频网页| 亚洲精品高清视频在线观看| 日韩影院精彩在线| 国产美女在线精品| 色综合中文字幕国产| 欧美精品第1页| 国产视频一区二区在线| 亚洲乱码精品一二三四区日韩在线| 亚洲综合精品自拍| 国产在线精品一区在线观看麻豆| 成人毛片在线观看| 在线观看91精品国产麻豆| 久久久久久久一区| 亚洲123区在线观看| 国产精品中文字幕一区二区三区| 91论坛在线播放| 欧美成人精品3d动漫h| 亚洲婷婷在线视频| 麻豆91在线观看| 91在线视频播放| 精品欧美一区二区久久| 亚洲老司机在线| 久久国产日韩欧美精品| 91麻豆高清视频| 国产偷国产偷精品高清尤物| 亚洲高清免费观看 | 日韩免费视频线观看| 国产精品毛片a∨一区二区三区| 天天做天天摸天天爽国产一区 | 日韩精品电影在线| 97精品视频在线观看自产线路二| 欧美精品在欧美一区二区少妇| 中文在线一区二区| 久久国产精品99久久久久久老狼 | 丁香桃色午夜亚洲一区二区三区| 欧美影院一区二区三区| 国产精品美女久久久久久久| 蜜桃在线一区二区三区| 欧美在线免费视屏| 亚洲欧洲美洲综合色网| 精彩视频一区二区三区| 欧美男人的天堂一二区| 亚洲美腿欧美偷拍| 成人国产精品免费观看动漫| 精品国产乱码久久久久久久久| 亚洲午夜久久久久久久久电影网 | 国产一区二区日韩精品| 欧美精品高清视频| 午夜精品久久久久久久久| 在线免费视频一区二区| 中文字幕制服丝袜成人av | 99久久久国产精品| 国产女同性恋一区二区| 国产在线国偷精品免费看| 日韩欧美在线影院| 免费在线成人网| 欧美一区二区三区免费| 亚洲一区免费观看| 日本电影亚洲天堂一区| 亚洲手机成人高清视频| 91在线国产福利| 亚洲天堂精品在线观看| 91亚洲午夜精品久久久久久| 国产女同性恋一区二区| 成人亚洲精品久久久久软件| 国产欧美日韩综合精品一区二区| 国产在线精品免费| 中文av一区二区| 99久久综合国产精品| 亚洲天堂2014| 在线观看视频一区| 丝袜国产日韩另类美女| 91麻豆精品国产综合久久久久久 | 东方欧美亚洲色图在线| 国产精品国产自产拍高清av | 日韩一区日韩二区| 色伊人久久综合中文字幕| 亚洲激情五月婷婷| 欧美日本韩国一区| 免费精品视频在线| 国产性做久久久久久| 成人性生交大片免费看在线播放 | 中文字幕不卡在线播放| 成人性生交大片免费看视频在线| 亚洲日本中文字幕区| 欧美日韩在线三级| 精品在线播放免费| 国产精品国产三级国产aⅴ中文| 91香蕉视频黄| 日韩高清国产一区在线| 久久久久国产精品人| 91视频观看免费| 日韩经典中文字幕一区| 日本特黄久久久高潮| 久久综合成人精品亚洲另类欧美| 国产91色综合久久免费分享| 亚洲综合激情另类小说区| 91精品国产入口|