Меню BAS
|
|
oleg3462 | Дата: Воскресенье, 15.05.2016, 19:40 | Сообщение # 1 |
Новичок
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
| Операционная система - windows 7, BASCOM 2.0.7.8.
|
|
| |
Yuriy | Дата: Воскресенье, 22.05.2016, 14:11 | Сообщение # 2 |
Master
Группа: Администраторы
Сообщений: 54
Награды: 2
Репутация: 101
Статус: Offline
| oleg3462, выложите сохраненный проект.
|
|
| |
oleg3462 | Дата: Воскресенье, 29.05.2016, 17:16 | Сообщение # 3 |
Новичок
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
| Выкладываю сохранённый проект:
Код
'------Тест программы Меню BAS --------
$regfile = "m88def.dat" $crystal = 4000000 $hwstack = 40 $swstack = 16 $framesize = 16
'--------------------------- Параметры дисплея --------------------------------- '-------------------------- NOKIA-1202 display ------------------------------- '******************************* 96х68 рх ************************************* $lib "glcd-Nokia1100.lib" 'Подключаем библиотеку lcd
'-------------------------- Настраиваем LCD ---------------------------------- Config Graphlcd = 128x64sed , Cs1 = Portb.0 , Si = Portb.2 , Sclk = Portb.1 , Rst = Portb.7 'подключяем дисплей к портам МК Config Portb.6 = Output : Led Alias Portb.6 : Led = 1 Const Negative_lcd = 0 'Для негативного вывода информации, установить "Negative_lcd = 1" Const Mirror_y = 1 'Для переворота по Y установить "1/0" Const Mirror_x = 1 'Для переворота по X установить "1/0" Initlcd 'Инициализируем LCD Cls 'Очищаем LCD
'******************************* Переменные ************************************ Dim Dv As String * 4 , Di As String * 4 , Dt As String * 4 , U1 As Word , I1 As Word , T1 As Byte
'--------------------------- переменные меню ----------------------------------- Dim I As Word Dim U As Word Dim T As Byte
Dim I_epr As Eram Word Dim U_epr As Eram Word Dim T_epr As Eram Byte
'------------------------------------------------------------------------------- $include "menu_start.bas" '-------------------------------------------------------------------------------
Config Pinc.0 = Input Config Pinc.1 = Input Config Pinc.2 = Input
Do
U1 = U_epr I1 = I_epr T1 = T_epr
Setfont Font6x8
Dv = Str(u1) Di = Str(i1) Dt = Str(t1) Lcdat 5 , 10 , "Set U=" Lcdat 5 , 76 , "V" Lcdat 5 , 50 , Dv ;
Lcdat 5 , 10 , "Set I=" Lcdat 5 , 76 , "A" Lcdat 5 , 50 , Di ;
Lcdat 5 , 10 , "Set t=" Lcdat 5 , 76 , "s" Lcdat 5 , 50 , Dt ;
'-------------------------------- Меню ----------------------------------------- Menu: Knopka = 0 'Сброс кнопки M_exit = 0 'Флаг выхода из меню Flag = Reload 'Флаг загрузки меню
Setfont Font6x8 'устанавливаем шрифт Lcdat 1 , 1 , " *** menu *** " , 0 'Шапка меню опционально, учитывать настройки вывода меню
Do If Pinc.0 = 0 Then Knopka = 1 'Кнопка=1 ( back / - ) If Pinc.1 = 0 Then Knopka = 2 'Кнопка=2 ( Next / + ) If Pinc.2 = 0 Then Knopka = 3 'Кнопка=3 ( ОК ) Call Menu_load_value_data()
Loop Until M_exit = 1
'Сохраняем данные в память I_epr = I U_epr = U T_epr = T
Return 'или Goto '===============================================================================
'=============================================================================== ' End не ставить $include "menu_end.bas" '------------------------------------------------------------------------------- $include "Шрифты\font6x8.font" $include "Шрифты\font12x16dig.font"
|
|
| |
Yuriy | Дата: Воскресенье, 29.05.2016, 17:58 | Сообщение # 4 |
Master
Группа: Администраторы
Сообщений: 54
Награды: 2
Репутация: 101
Статус: Offline
| Ну а теперь вопросы, что не работает? На первый взгляд вижу несколько ошибок.. Return уходит в неизвестнось, у Do нет конца..
|
|
| |
oleg3462 | Дата: Воскресенье, 29.05.2016, 19:30 | Сообщение # 5 |
Новичок
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
| При компилировании компилятор выдает ошибки: Error : 28 Line : 146 IF THEN expected , in File : menu_end.bas Error : 7 Line : 146 IF THEN expected [END IF in source 146] , in File : menu_end.bas Error : 124 Line : 103 LOOP expected , in File : C:\Program Files\Меню BAS\Меню\Menu test.bas
|
|
| |
Yuriy | Дата: Воскресенье, 29.05.2016, 19:59 | Сообщение # 6 |
Master
Группа: Администраторы
Сообщений: 54
Награды: 2
Репутация: 101
Статус: Offline
| Вы исправили ошибки которые я указал?
|
|
| |
oleg3462 | Дата: Вторник, 31.05.2016, 15:03 | Сообщение # 7 |
Новичок
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
| Ошибки исправил, компилятор ошибок не выдает, но при симуляции в Proteus на дисплее кроме надписи ***menu*** ничего не происходит. Для экономии времени, большая просьба выложить рабочий проект, например как здесь http://mat.midlight.eu/wiki/index.php/Simple_LCD_Menu_Main_Page.
|
|
| |
Yuriy | Дата: Вторник, 31.05.2016, 23:07 | Сообщение # 8 |
Master
Группа: Администраторы
Сообщений: 54
Награды: 2
Репутация: 101
Статус: Offline
| Вылаживаю пример в Proteus и видео, я использовал прерывания , вы можете как угодно хоть в цикле , хоть через Debounce. Файлы
|
|
| |
oleg3462 | Дата: Четверг, 02.06.2016, 08:43 | Сообщение # 9 |
Новичок
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
| Спасибо! Пример работает. Теперь буду разбираться откуда глюки берутся у меня. Добавлено (02.06.2016, 08:43) --------------------------------------------- Переустановил BASCOM и все заработало! Программа очень удобная и полезная! При работе с программой заметил одну неприятность - при обновлении до версии 1.4 после закрытия программы обновления не сохраняются! Проверял на Windows 7 и Windows 10.
|
|
| |
Yuriy | Дата: Пятница, 03.06.2016, 22:56 | Сообщение # 10 |
Master
Группа: Администраторы
Сообщений: 54
Награды: 2
Репутация: 101
Статус: Offline
| Поправлено, после разблокировки на сервере, будет доступно для обновления.
|
|
| |