Stm32 Ошибка При Работе С Пином

24-09-2013, 14:32 От: admin Посмотрели: 681
Здраствуйте. Вообщем есть код для инициализации дисплея, проблема в том что не работают
 #define
вставки, при компиляции пишет  error: lvalue required as left operand of assignment. Кароче говоря я стал заменять эти вставки в коде просто вот такими конструкциями
GPIO_ResetBits(GPIOA,GPIO_Pin_6);
, ошибки исправились. Но появилась следующая проблема с  
LCD_RS=RS;
,  заменил на
GPIO_Pin_5= RS;
и компилятор всеравно выдает эту ошибку. Как можно здесь поступить ?


#define LCD_PORT GPIOA

#define LCD_CS 3
#define LCD_RESET 4
#define LCD_RS 5
#define LCD_CLK 6
#define LCD_DATA 7
//Команда/Данные
#define CMD 0
#define DAT 1
char RS_old;
void LCD_init(void)
{
LCD_RESET = 0;
delay_ms(500);
LCD_RESET = 1;
delay_ms(500);
Send_to_lcd(CMD, 0x01); //Программный сброс
Send_to_lcd(CMD, 0x36); //Memory Access Control (Направление заполнения области дисплея (памяти): 0bVHRXXXXX, V - заполнение по вертикали (0 - сверху-вниз, 1 - снизу-вверх),
//H - заполнение по горизонтали (0 - слева-направо, 1 - справа-налево), R - меняются местами строки и столбцы (при этом заполнение остается сверху-вниз, слева-направо))
Send_to_lcd(DAT, 0x00);
Send_to_lcd(CMD, 0x11); //Выход из спящего режима
delay_ms(20);
Send_to_lcd(CMD, 0x3a); //Установка цветовой палитры
#ifdef _8_BIT_COLOR
Send_to_lcd(DAT, 0x02); //Байт на пиксель 256 цветов
#else
Send_to_lcd(DAT, 0x05); //Два байта на пиксель 65536 цветов
#endif
delay_ms(20);
Send_to_lcd(CMD, 0x29); //Включение дисплея
}
//===============================================================
//Функция записи команды/данных в LCD (RS==0 - команда, RS==1 - данные)
//===============================================================
void Send_to_lcd (unsigned char RS, unsigned char data)
{
//unsigned char count;
LCD_CLK = 0;
LCD_DATA = 0;
if ((RS_old != RS) || (!RS_old && !RS)) //проверяем старое значение RS (если поступают одни команды то дергаем CS)
{
LCD_CS=1; // Установка CS
LCD_RS=RS;
LCD_CS=0; // Сброс CS
}
******************************************************************************
запись байта в дисплей
//******************************************************************************
LCD_DATA = 0;
if ((data & 128) == 128) LCD_DATA = 1;
LCD_CLK=1;
LCD_CLK=0;
LCD_DATA = 0;
if ((data & 64) == 64) LCD_DATA = 1;
LCD_CLK=1;
LCD_CLK=0;
LCD_DATA = 0;
if ((data & 32) == 32) LCD_DATA = 1;
LCD_CLK=1;
LCD_CLK=0;
LCD_DATA = 0;
if ((data & 16) ==16) LCD_DATA = 1;
LCD_CLK=1;
LCD_CLK=0;
LCD_DATA = 0;
if ((data & 8) == 8) LCD_DATA = 1;
LCD_CLK=1;
LCD_CLK=0;
LCD_DATA = 0;
if ((data & 4) == 4) LCD_DATA = 1;
LCD_CLK=1;
LCD_CLK=0;
LCD_DATA = 0;
if ((data & 2) == 2) LCD_DATA = 1;
LCD_CLK=1;
LCD_CLK=0;
LCD_DATA = 0;
if ((data & 1) == 1) LCD_DATA = 1;
LCD_CLK=1;
LCD_CLK=0;

RS_old=RS; //запоминаю значение RS
LCD_DATA = 0;
}


Спасибо!
Раздел: STM32

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Stm32 Ошибка При Работе С Пином все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031