Esempio n. 1
0
int mymain(void)
{
	int offset = 0x2E;				// .wav data offset 
	short * p = (short *)0x22000000;		// use "loadb 0x22000000" to put wav file here first
	
	IIC_init();	
	
	WM8960_init();
	
	IIS_init();
	
	uart_putchar('o');
	uart_putchar('k');
	
	while (1)
	{			
	#ifdef DEBUG
		IISTXD = offset++;
		//	delay();
	#else			
		// polling  Primary Tx FIFO0 full status indication. 
		while((IISCON & (1<<8)) == (1<<8));
		
		IISTXD = *(p+offset);
		
		offset++;
		if (offset > (882046-0x2e) /2)			// 882046 is file size
			offset = 0x2E;			// replay from wav data offset
	#endif	
	}
	
	while (1);

	return 0;
}
Esempio n. 2
0
int vga_init(void)
{	
	IIC_init();
	    	
	IIC_write(0xEA, 0x4, 0x20);
	
	return 0;
}
Esempio n. 3
0
void EEPROM_Init(void)
{
#if (defined I2C_SW &&  I2C_SW == 1)
	sw_i2c_init();
#else
	IIC_init();
#endif
}
Esempio n. 4
0
File: mpu6050.c Progetto: but0n/Avem
void MPU_init() {
    IIC_init();
    do {
        MPU_Sigle_Write(PWR_MGMT_1, 0x00);
        MPU_Sigle_Write(SMPLRT_DIV, 0x07);
        MPU_Sigle_Write(CONFIG, 0x06);
        MPU_Sigle_Write(GYRO_CONFIG, 0x18);
        MPU_Sigle_Write(ACCEL_CONFIG, 0x01);
    } while(IMU_NOT_CONNECTED);
}
Esempio n. 5
0
void MPU_init() {
    IIC_init();
    delay(500);
    MPU_Sigle_Write(PWR_MGMT_1, 0x00);
    MPU_Sigle_Write(SMPLRT_DIV, 0x07);
    MPU_Sigle_Write(CONFIG, 0x06);
    MPU_Sigle_Write(GYRO_CONFIG, 0x18);
    MPU_Sigle_Write(ACCEL_CONFIG, 0x01);

    LED1 = MPU_Sigle_Read(WHO_AM_I) == 0x68?0:1;
    //LED1 = MPU_Sigle_Read(WHO_AM_I) == 0x68?1:0;
}
Esempio n. 6
0
void RTC_test()
{
	struct DATE date1 = {00,24,16,07,3,1,15};
	struct DATE date2 = {0};
	struct DATE date3 = {0};
	while(1){
	UINT8 i;
	IIC_init();
	//set_date(date);
	//P8563_init();
	for(i = 0;i<7;i++)
	g8563_Store[i] = 0;
	 date2 = get_date();
	
}}
Esempio n. 7
0
static int __init s3c2410_kbd_init(void)
{
	int ret;
	int oldiiccon;
	int flags;

	ret = set_external_irq(IRQ_KBD, EXT_FALLING_EDGE, GPIO_PULLUP_EN);

	local_irq_save(flags);
	IIC_init();
	
	Set_IIC_mode(ZLG7289_IICCON, &oldiiccon);
	ret=IIC_Read(ZLG7290_ADDR, 0);

	//restore IICCON
	Set_IIC_mode(oldiiccon, NULL);
	local_irq_save(flags);

	DPRINTK("zlg7290 system register=0x%x\n", ret);

	KBD_CLOSE_INT();

	ret = register_chrdev(0, DEVICE_NAME, &s3c2410_fops);
	if (ret < 0) {
		printk(DEVICE_NAME " can't get major number\n");
		return ret;
	}
	kbdMajor = ret;

	/* Enable touch interrupt */
	ret = request_irq(IRQ_KBD, s3c2410_isr_kbd,SA_INTERRUPT,
			DEVICE_NAME, s3c2410_isr_kbd);
	if (ret) {
		return ret;
	}
	kbddev.head = kbddev.tail = 0;
	kbddev.kbdmode= KEY_NULL;
	init_waitqueue_head(&(kbddev.wq));

#ifdef CONFIG_DEVFS_FS
	devfs_kbd_dir = devfs_mk_dir(NULL, "keyboard", NULL);
	devfs_kbdraw = devfs_register(devfs_kbd_dir, "0raw", DEVFS_FL_DEFAULT,
				kbdMajor, KBDRAW_MINOR, S_IFCHR | S_IRUSR | S_IWUSR, &s3c2410_fops, NULL);
#endif
	printk (DEVICE_NAME"\tinitialized\n");

	return 0;
}
Esempio n. 8
0
INT8U RTC_DS1307_Init(void)
{
#if (defined I2C_SW &&  I2C_SW == 1)
	INT8U ret = NO_I2C_ACK;
	CRITICAL_SECTION_START();
		sw_i2c_init();
	CRITICAL_SECTION_END();
	
	sw_i2c_start();							// Send start signal
	ret = sw_i2c_write(DS1307Address);		// Send identifer I2C address  (10100000b)
	delay_time(I2C_DELAY);
	sw_i2c_stop();	
	
	return ((ret == OK_I2C_ACK) ? TRUE : FALSE);
	
#else
	IIC_init();
#endif

}