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

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

Во примерец для авр

Отправлено 1111 11 февраля 2008 г. 14:44
В ответ на: А как тут код выложить? отправлено 1111 11 февраля 2008 г. 14:42

<code>

//::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Чтение EEPROM
//::::::::::::::::::::::::::::::::::::::::::::::::::::::
void GB_Read_EEPROM(void)
{
u32_t addr;
u8_t len, i;

u8_t __eeprom* ee_ptr = 0;

*(u32_t*)(u8_t*)&addr = *(u32_t*)(u8_t*)&gb.rx_buf[GB_RX_MEM_CNTRL_ADDR];
*((u8_t*)&addr + 3) = 0;
len = gb.rx_buf[GB_RX_MEM_CNTRL_DATA_LEN];

ee_ptr += (u16_t)addr;

if(((addr + len) <= EEPROM_SIZE) && (len <= GB_MAX_LEN_SUB_DATA) && (len != 0))
{
i = 0;
do
{
gb.tx_buf[GB_TX_MEM_CNTRL_DATA + i] = *(ee_ptr + i);
i++;
}while(i<len);

gb.tx_buf[GB_TX_ADDR] = gb.own_address;
gb.tx_buf[GB_TX_CMD] = GB_CMD_MEM_CNTRL;
gb.tx_buf[GB_TX_N] = len;
GB_Send_Pac();
}
else
{
GB_Send_Error(GB_ERR_MISMTH_PARAM);//Вернем код ошибки
}
}

//::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Запись EEPROM
//::::::::::::::::::::::::::::::::::::::::::::::::::::::
void GB_Write_EEPROM(void)
{
u32_t addr;
u8_t len, i;

u8_t __eeprom* ee_ptr = 0;

*(u32_t*)(u8_t*)&addr = *(u32_t*)(u8_t*)&gb.rx_buf[GB_RX_MEM_CNTRL_ADDR];
*((u8_t*)&addr + 3) = 0;
len = gb.rx_buf[GB_RX_MEM_CNTRL_DATA_LEN];

ee_ptr += (u16_t)addr;

if(((addr + len) <= EEPROM_SIZE) && (len <= GB_MAX_LEN_SUB_DATA) && (len != 0))
{
i = 0;
do
{
*(ee_ptr + i) = gb.rx_buf[GB_RX_MEM_CNTRL_DATA + i];
i++;
}while(i<len);

GB_Send_Error(GB_ERR_NOT);
}
else
{
GB_Send_Error(GB_ERR_MISMTH_PARAM);//Вернем код ошибки
}
}

</code>


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

Ответы


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

Сообщение:

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

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

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

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