Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
19.06.2009, 15:26
|
|
Частый гость
Регистрация: 07.02.2005
Сообщений: 32
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
непонятное в LCD
проблема с LCD, выводит странные знаки в канце сразу после последнего символа, коды этих символов в таблице ASCII 196, 208 соответственно(через пробелы)
прилагаю rar фаил с частю кода и jpg.
помогите пожалуста разобратся, я начинающи и програмировать начал недавно, сразуже извиняюсь за простоту написания кода(пишу для себя чтоб по понятнее было)
-- Прилагается рисунок: --
Прикрепленный файл: 3310253.rar
|
|
|
|
19.06.2009, 15:32
|
|
Частый гость
Регистрация: 07.02.2005
Сообщений: 32
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
вот и код определения нажатой кнопки
char cifri;
char _get_key(void)
{
while ((PINA.0)&&(PINA.1)&&(PINA.2)&&(PINA.3))
{
PORTA.4=0;
if ((!PINA.0)&&(!PORTA.4))
{
return cifri='1';
};
if ((!PINA.1)&&(!PORTA.4))
{
return cifri='4';
};
if ((!PINA.2)&&(!PORTA.4))
{
return cifri='7';
};
if ((!PINA.3)&&(!PORTA.4))
{
return cifri='*';
};
PORTA.4=1;
PORTA.5=0;
if ((!PINA.0)&&(!PORTA.5))
{
return cifri='2';
};
if ((!PINA.1)&&(!PORTA.5))
{
return cifri='5';
};
if ((!PINA.2)&&(!PORTA.5))
{
return cifri='8';
};
if ((!PINA.3)&&(!PORTA.5))
{
return cifri='0';
};
PORTA.5=1;
PORTA.6=0;
if ((!PINA.0)&&(!PORTA.6))
{
return cifri='3';
};
if ((!PINA.1)&&(!PORTA.6))
{
return cifri='6';
};
if ((!PINA.2)&&(!PORTA.6))
{
return cifri='9';
};
if ((!PINA.3)&&(!PORTA.6))
{
return cifri=175;
};
PORTA.6=1;
};
};char cifri;
char _get_key(void)
{
while ((PINA.0)&&(PINA.1)&&(PINA.2)&&(PINA.3))
{
PORTA.4=0;
if ((!PINA.0)&&(!PORTA.4))
{
return cifri='1';
};
if ((!PINA.1)&&(!PORTA.4))
{
return cifri='4';
};
if ((!PINA.2)&&(!PORTA.4))
{
return cifri='7';
};
if ((!PINA.3)&&(!PORTA.4))
{
return cifri='*';
};
PORTA.4=1;
PORTA.5=0;
if ((!PINA.0)&&(!PORTA.5))
{
return cifri='2';
};
if ((!PINA.1)&&(!PORTA.5))
{
return cifri='5';
};
if ((!PINA.2)&&(!PORTA.5))
{
return cifri='8';
};
if ((!PINA.3)&&(!PORTA.5))
{
return cifri='0';
};
PORTA.5=1;
PORTA.6=0;
if ((!PINA.0)&&(!PORTA.6))
{
return cifri='3';
};
if ((!PINA.1)&&(!PORTA.6))
{
return cifri='6';
};
if ((!PINA.2)&&(!PORTA.6))
{
return cifri='9';
};
if ((!PINA.3)&&(!PORTA.6))
{
return cifri=175;
};
PORTA.6=1;
};
};
|
|
|
|
19.06.2009, 20:04
|
|
Частый гость
Регистрация: 13.01.2008
Сообщений: 25
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
А чего странного в символах? По-моему, это знаки катаканы ТА и МИ. Видимо, дисплей с поддержкой японского (-:
|
|
|
|
19.06.2009, 20:13
|
|
Частый гость
Регистрация: 07.02.2005
Сообщений: 32
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
И откуда они взялись я же по японски не фурычу 8O
|
|
|
|
19.06.2009, 21:56
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
|
Оформи код как положено - тэг code .
Пора бы знать , что у неруссифицированых зашито- см. даташиты...
А в ПРОТЕУСЕ надо сменить LCDALPHA.dll на патченую - ищи здесь или клянчи у Тени ...
__________________
Осторожно , злой кот
|
|
|
|
19.06.2009, 22:15
|
|
Частый гость
Регистрация: 07.10.2006
Сообщений: 32
Сказал спасибо: 4
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Сообщение от zippoge
|
И откуда они взялись я же по японски не фурычу 8O
|
Код:
|
char lcd_buffer[10]; // Я думаю тут всё ясно |
замени на
Код:
|
char lcd_buffer[11]; |
и проблема уйдет...
|
|
|
|
19.06.2009, 22:35
|
|
Частый гость
Регистрация: 07.02.2005
Сообщений: 32
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
ну уже перепобывал с [1] до [10] но не помогает. в случае [5] появлялись после 3-го, а в остальных случаях перед последним символом.
|
|
|
|
19.06.2009, 22:52
|
|
Частый гость
Регистрация: 07.02.2005
Сообщений: 32
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
мдааа [11] помогло, спасибо всем особенно Segel06.
спасибо большое.
|
|
|
|
20.06.2009, 19:03
|
|
Прохожий
Регистрация: 28.12.2008
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
непонятное в LCD
Вы пытаетесь вывести в строку LCD бодьше символов, чем допустимо для данного LCD.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Графический LCD
|
renatavr |
Микроконтроллеры, АЦП, память и т.д |
8 |
08.01.2008 21:24 |
[Решено] Непонятное устройство
|
griggs |
Отвлекитесь, эмбеддеры! |
17 |
19.05.2007 21:55 |
символьный LCD
|
crazz |
Микроконтроллеры, АЦП, память и т.д |
0 |
23.03.2007 14:03 |
LCD
|
ur5mjc |
Информация по радиокомпонентам |
3 |
09.01.2007 02:59 |
Часовой пояс GMT +4, время: 08:47.
|
|