Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Скрипт, чтобы в дебагере кейла запустить.

Отправлено 1111 29 февраля 2008 г. 13:38
В ответ на: Типа того. А вообще лучьше гляньте на электрониксе в соответсвующем разделе. отправлено 1111 29 февраля 2008 г. 13:35


// Simulation of I2C Memory (Slave)

MAP 0x30000, 0x37FFF READ WRITE // Map User 64kB Memory region

DEFINE int SADR // Slave Address

signal void I2CMEMORY (void) {
unsigned long adr;

adr = 0x30000;

while (1) {
wwatch (I2C_OUT); // Wait for data from Microcontroller
while (I2C_OUT == 0x0100) { // START detected
wwatch (I2C_OUT); // Wait for data from Microcontroller
if (I2C_OUT > 0xFF) continue;
if ((I2C_OUT >> 1) != SADR) continue; // test if Slave is addressed
I2C_IN = 0xFF00; // ACK to Microcontroller
if (I2C_OUT & 1) { // Slave Read
while (1) {
I2C_IN = _RBYTE(adr); // Read Byte from Memory
adr++; // Increment Address
wwatch (I2C_OUT); // Wait for ACK from Microcontroller
if (I2C_OUT != 0xFF00) break;
}
}
else { // Slave Write
wwatch (I2C_OUT); // Wait for data from Microcontroller
if (I2C_OUT > 0xFF) continue;
adr = (I2C_OUT << 8) | 0x30000; // Set Memory Address High Byte
I2C_IN = 0xFF00; // ACK to Microcontroller
wwatch (I2C_OUT); // Wait for data from Microcontroller
if (I2C_OUT > 0xFF) continue;
adr = I2C_OUT | adr; // Set Memory Address Low Byte
I2C_IN = 0xFF00; // ACK to Microcontroller
while (1) {
wwatch (I2C_OUT); // Wait for data from Microcontroller
if (I2C_OUT > 0xFF) break;
_WBYTE (adr, I2C_OUT); // Store Byte in Memory
adr++; // Increment Address
I2C_IN = 0xFF00; // ACK to Microcontroller
}
}
}
}
}


SADR = 0x50 // Slave Address
I2CMemory() // Starting signal function



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
если прибавить четыре к четырём будет:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru