Почему такое происходит. И как должно быть?
|
|
vladh |
Дата: Ср, 23.10.2013, 16:52 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Уважаемые форумчане. Вот пересаживаюсь с Протона на мВ и сразу столкнулся с кучей вопросов. Вопрос 1. В приложении привожу схему. В этой схеме МК соединен с ЖКИ и клавиатурой 3х4. Создал код на базе того, который с успехом у меня работает в Протоне. Здесь же код капризничает. В коде есть закоментированные строки в которых анализируется появление 1 в 3 столбце типа: 'If Ver3 = 1 Then 'Key = 3 'GoSub Pik 'Return 'end if Если убрать коментарии и попробовать откомпилировать код, то компилятор ругается. Причем не совсем понятно, что ему не нравится. Может быть кто то поймет причину ругачки? Вопрос 2. Почему в Протеусе в режиме прогона программы маркер бегает по экрану, и значение клавиши появляется в разных местах программы. И последний 3 вопрос. Как должен быть организован код программы на листке редактора кода. Сам компилятор делит на две части программы. Это раздел определений и раздел самой программы. В других компиляторах я тоже делил на два раздела. Раздел определений и установок и раздел собственно самой программы. В мВ при попытке разместить скажем символы в разделе определений но после раздела определений переменных, компилятор ругается. Также, если в этом разделе(разделе определений) разместить команды присвоения, например, после строчек определения переменных присвоить переменной Key постоянного значения, компилятор опять ругается?
|
|
|
|
Matrix252005 |
Дата: Ср, 23.10.2013, 17:13 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток!!!
vladh, сейчас я гляну код!!!
А почему Вы не хотите использовать готовую библиотеку мВ??? Она вроде бы нормально работает!!! И может лучше сделать вместо подпрограмм процедуры???
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
vladh |
Дата: Ср, 23.10.2013, 17:24 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Цитата Matrix252005 ( ) А почему Вы не хотите использовать готовую библиотеку мВ??? Она вроде бы нормально работает!!! Наверное. Хотя при попытке её использования тоже свои проблемы. Но об этом в другой раз.Добавлено (23.10.2013, 17:24) ---------------------------------------------
Цитата Matrix252005 ( ) И может лучше сделать вместо подпрограмм процедуры??? Мне думается это не принципиально.
|
|
|
|
Matrix252005 |
Дата: Ср, 23.10.2013, 17:29 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Я посмотрел Ваш код и схему и есть вопросы:
1) lcd_Out (1,1,"Bóo㸼 ºoã º»a³¸Á¸") - это что??? Я так понял что тут должен был быть русский шрифт 2) у Вас Symbol HorB = PORTC.0 Ниже в тексте HorB.0 = 1 3) код нормально компилировался!!!
Сейчас попробую проверить сам код в работе...
P.S. я не сильно люблю эту "клаву"... Сколько не пытался на ней сделать отладку, ничего из этого не выходило... Я клавиатуру набирал из кнопок...Добавлено (23.10.2013, 17:29) --------------------------------------------- Да!!! Вот еще что забыл спросить:
А почему у Вас входа "висят" в воздухе???
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
vladh |
Дата: Ср, 23.10.2013, 17:38 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Цитата Matrix252005 ( ) 1) Да, это текст кириллицой выводимый на экран ЖКИ. Второй вопрос не понял. Выводы висящие в воздухе при моделировании не влияют.
|
|
|
|
Matrix252005 |
Дата: Ср, 23.10.2013, 17:54 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
По поводу второго вопроса:
В начале программы идет присвоение имен для портов, для вывода PORTC.0 имя HorB, а ниже в коде написано: HorB.0 = 1Добавлено (23.10.2013, 17:54) --------------------------------------------- ОК!!! Я сегодня уже не успею подправить код... Сейчас приду домой и гляну!!!
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
vladh |
Дата: Ср, 23.10.2013, 20:54 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Цитата Matrix25200513221В начале программы идет присвоение имен для портов, для вывода PORTC.0 имя HorB, а ниже в коде написано: HorB.0 = 1Да, действительно, это моя опечатка. Должно было быть HorB = 1
|
|
|
|
ivan_fd |
Дата: Ср, 23.10.2013, 23:39 | Сообщение # 8 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
У меня все нормально компилируется.
Второй вопрос, не понятно, что Вы имеете ввиду.
Третий вопрос, посмотрите в справке раздел Program Organization
Код program <program name> include <include other modules>
'******************************************************** '* Declarations (globals): '********************************************************
' symbols declarations symbol ...
' constants declarations const ...
' structures declarations structure ... ' variables declarations dim Name[, Name2...] as [^]type [absolute 0x123] [external] [volatile] [register]
[sfr]' procedures declarations sub procedure procedure_name(...) <local declarations> ... end sub
' functions declarations sub function function_name(...) as return_type <local declarations> ... end sub
'******************************************************** '* Program body: '********************************************************
main: ' write your code here end.
Сообщение отредактировал
ivan_fd - Ср, 23.10.2013, 23:42
|
|
|
|
vladh |
Дата: Чт, 24.10.2013, 07:17 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Цитата ivan_fd 13230Третий вопрос, посмотрите в справке раздел Program Organization Спасибо. Этот важный раздел я почему то не увидел. Теперь первые два вопроса. После того как я исправил ошибку на которую указывал Matrix252005, я убрал символы комментария" ' " и все вроде стало компилироваться. Но при пошаговой симуляции у меня в тех строчках где стояли символы комментариев отсутствует нумерация строк и строки эти в симуляции не участвуют. Как результат программа не видит 3 колонки клавиатуры (клавиши 3, 6, 9, #). И последнее, исходя из задумки номер нажатой клавиши должен отображаться на 3 строке в 4 позиции. При пошаговой симуляции вроде так и происходит. Но вот в динамике код отображается в нескольких местах на этой строке. Почему?
Сообщение отредактировал
vladh - Чт, 24.10.2013, 09:20
|
|
|
|
Matrix252005 |
Дата: Чт, 24.10.2013, 08:47 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток!!!
Владимир, я "подправил" Ваш код, посмотрите что вышло... Все норм работает!!! Подправил схему в протеусе, заменил клавиатуру...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
vladh |
Дата: Чт, 24.10.2013, 09:48 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Цитата Matrix252005 ( ) Владимир, я "подправил" Ваш код, посмотрите что вышло... Все норм работает!!! Спасибо, Николай. Быстро посмотрел. Вроде бы как надо. Сейчас буду разбираться почему так. А схему можно было и не трогать. Там все ОК.
|
|
|
|
Matrix252005 |
Дата: Чт, 24.10.2013, 09:50 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Мне не нравится та клава... Сколько не пробовал на ней отлаживать, всегда были бока... Вот и поменял на кнопки...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
vladh |
Дата: Чт, 24.10.2013, 10:02 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Во время пошаговой симуляции кнопка более наглядна для отладки работы клавиатур. Но на последующих этапах, особенно когда клавиатура в вашей программе второстепенна, то удобнее стандартная Протеус'овская. "Я так думаю" (ф.Мкртчан в фильме "Мимино").
|
|
|
|
ivan_fd |
Дата: Чт, 24.10.2013, 10:23 | Сообщение # 14 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Извиняюсь, что не в тему. Но вот теперь можно сказать, так как код более больший, а не мигание светодиода.
Я сейчас тоже балуюсь с клавиатурой, но на Протоне. У меня код немного больше и запутанее. Так же, специально добавил вывод на LCD (для сравнения), у меня он не используется. Так вот: код на протоне занимает всего 770 слов на том же контроллере, что у Вас. На МикроБасике - 1224 слова.
Еще раз извините, я ничего не навязываю, просто для сравнения.
Сообщение отредактировал
ivan_fd - Чт, 24.10.2013, 10:24
|
|
|
|
Matrix252005 |
Дата: Чт, 24.10.2013, 10:48 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Цитата ivan_fd ( ) Еще раз извините, я ничего не навязываю, просто для сравнения. Я тоже извиняюсь, я тоже не хочу ничего не восхвалять или унизить!!!
Провел тест с библиотекой клавиатуры 4х4 из мВ, предварительно убрав тот код!!!
Сейчас программа скан. клавиатуры занимает: Used ROM (program words): 498 (6%) Free ROM (program words): 7694 (94%)
А там на любителя!!!
P.S. Если нужно, могу выложить код программы.
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|