непонятным образом меняется регистр DDRA ATmega128, программа написана на C от IAR
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено bookevg 29 апреля 2004 г. 16:19

непонятным образом меняется регистр DDRA ATmega128, программа написана на C от IAR
Отключал инициализацию всей периферии (прерываний нет),
но все равно явление наблюдается
Код где данное явление происходит ниже:

void LcdWaitBusy (void)
{
// LCD_DATA есть DDRA
PORT_LCD_DATA = 0xB0; /* set LCD_DATA port in input mode */
DDR_LCD_DATA = 0x4F; /* set LCD_DATA port in input mode */

LCD_DI = 0; /* Instruction mode */
LCD_RW = 1; /* Read mode */

LCD_E = 0; /* strobe */
LcdDelay(16);
LCD_E = 1;
LcdDelay(16);

while ( tstBit(PIN_LCD_DATA,7 ))//; /* mask the other status bits and test the BUSY bit */
{
if ( DDR_LCD_DATA != 0x4f )
{
//DDR_LCD_DATA = 0x4F; попадаю сюда
__no_operation();
}
}

LCD_E = 0;
PORT_LCD_DATA = 0x00; /* set LCD_DATA port in input mode */
DDR_LCD_DATA = 0xFF; /* set LCD_DATA port in input mode */
LcdDelay(16);
}

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru