это я понял, только вот реализацию никак

тут скачал книгу про армы товарища Редькина у него в примере вообще жуть написана, наверное он не сильно заморачивался над этим вопросом

void lcd_send_byte(U8 byte) //передача в ЖКИ байта двумя тетрадами
{
if (BIT_TEST(byte,4)) AT91F_PIO_SetOutput( AT91C_BASE_PIOA, DB4); //---
else AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, DB4); //
if (BIT_TEST(byte,5)) AT91F_PIO_SetOutput( AT91C_BASE_PIOA, DB5); //
else AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, DB5); //
if (BIT_TEST(byte,6)) AT91F_PIO_SetOutput( AT91C_BASE_PIOA, DB6); // передача ст тетрады
else AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, DB6); //
if (BIT_TEST(byte,7)) AT91F_PIO_SetOutput( AT91C_BASE_PIOA, DB7); //
else AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, DB7); //
lcd_pulse_E(); //---
if (BIT_TEST(byte,0)) AT91F_PIO_SetOutput( AT91C_BASE_PIOA, DB4); //---
else AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, DB4); //
if (BIT_TEST(byte,1)) AT91F_PIO_SetOutput( AT91C_BASE_PIOA, DB5); //
else AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, DB5); // передача мл тетрады
if (BIT_TEST(byte,2)) AT91F_PIO_SetOutput( AT91C_BASE_PIOA, DB6); //
else AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, DB6); //
if (BIT_TEST(byte,3)) AT91F_PIO_SetOutput( AT91C_BASE_PIOA, DB7); //
else AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, DB7); //
lcd_pulse_E(); //---
}
вота как....я чуть не упал когда увидел...наверное есть какие то другие программные реализации?
в общем доехал как выдать, всем спасибо, особенно aaarrr.
ну если есть примеры как лучше то пишите, могет понадобится таким же нубам как я
Сообщение отредактировал lazarev andrey - Jun 9 2008, 15:06