debuginsimulator.ini

来自「S3C2410底层驱动KEIL版--IIC」· INI 代码 · 共 50 行

INI
50
字号
// Simulate AT24C02 256*8bit EEPROM
MAP V:0,V:0xFF READ WRITE                    		// Map User Memory region
DEFINE int SADR                              		// Slave Address
signal void AT24C02(void) 
{
	unsigned long adr;
	SADR = 0x50;		
	adr = V:0;
	while(1)
	{
		wwatch (TWI_OUT);                        	// Wait for data from Microcontroller
		while (TWI_OUT == 0x0100)                	// START detected
		{              
			wwatch (TWI_OUT);                      	// Wait for data from Microcontroller
			if (TWI_OUT > 0xFF) continue;
			if ((TWI_OUT >> 1) != SADR) continue;  	// test if Slave is addressed
			TWI_IN = 0xFF00;                       	// ACK to Microcontroller
			if (TWI_OUT & 1)						// Slave Read
			{                     
				while (1) 
				{ 
					TWI_IN = _RBYTE(adr);           // Read Byte from Memory
					adr++;                          // Increment Address
					wwatch (TWI_OUT);               // Wait for ACK from Microcontroller
					if (TWI_OUT != 0xFF00) break;
        		}
      		}										// Slave Write
      		else
			{                                 
				wwatch (TWI_OUT);                   // Wait for data from Microcontroller
				if (TWI_OUT > 0xFF) continue;
				adr = TWI_OUT | V:0;                // Set Memory Address
				TWI_IN = 0xFF00;                    // ACK to Microcontroller
				while (1)
				{
					wwatch (TWI_OUT);               // Wait for data from Microcontroller
					if (TWI_OUT > 0xFF) break;
					_WBYTE (adr, TWI_OUT);          // Store Byte in Memory
					adr++;                          // Increment Address
					TWI_IN = 0xFF00;                // ACK to Microcontroller
				}
			} 
		}
	}
}

map 0x33FFFF00, 0x33FFFFA0 read write exec
AT24C02()
	    

⌨️ 快捷键说明

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