Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Модератор форума: demanik  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Библиотека для Proton IDE (Создание библиотек)
Библиотека для Proton IDE
xaker-sss Дата: Пн, 29.10.2018, 06:21  |                                                                                                                Сообщение # 31
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 230
Репутация: 6   ±
Замечания:   ±
На сайте с 26.04.2009

Статус: Offline

Цитата Aleksey_174 ()
Теперь можно пользоваться родной командой Print
Проверил в железе, все работает прекрасно, еще немного подкорректировал, перебросил назначение выводов LCD в основную программу, теперь в файле библиотеки ничего менять не надо, просто подключил, и пользуйся.
Aleksey_174, Я попробовал разобраться что вы там исправили, но так ничего и не понял, у меня к вам совет и просьба, напишите статью как составлять библиотеки, как передавать данные туда и обратно, я просто раньше на дельфи баловался, мне нравились библиотеки, и готовые и свои, с ними писать одно удовольствие.
Давайте всем форумом просить Алексея не бросать это дело.
Еще раз большое спасибо.
Хочу библиотеку для DS18B20.
Прикрепления: LCD_I2C.zip(38.3 Kb)


ПРОТОН ЭТО ВЕЩЬ.
ЯНДЕКС Дата: 29.10.2018
Aleksey_174 Дата: Пн, 29.10.2018, 17:58  |                                                                                                                Сообщение # 32
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 75
Репутация: 12   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

Статья у меня вряд ли получится, т. к. я и сам толком не разбираюсь, я просто смотрел примеры и пытался понять что к чему.
Что понял конешно могу и обьяснить, например прием и передачу данных:
Передадим две данные и получим результат
Dim A as Byte
Dim B as Byte
Dim C as Byte

$define ABC(Avalue,Bvalue,Cresult)'
A = Avalue'
B = Bvalue'
GoSub _ABC'
Cresult = C

_ABC:     'здесь можно коментировать
C = A + B 'здесь можно коментировать
Return    'здесь можно коментировать

В итоге в программе обращение будет так:

ABC(2,2,C)
Print Dec C

Главное знать что после кода $define нельзя писать комментарии и выглядеть должно все как в одну строку, можно и строкой

$define ABC(Avalue,Bvalue,Cresult) A = Avalue:B = Bvalue:GoSub _ABC:Cresult = C

также обратите внимание на то, что после ABC(Avalue,Bvalue,Cresult) нет двоеточия и на то что, если писать не одной строкой, то стоит символ "'", кроме последней строки. 

Avalue,Bvalue,Cresult могут иметь разные названия, но чтоб не было объявлено таких переменных.

прилагаю примерчик с комментариями от том, что и где нужно расставлять
Прикрепления: DS18B20.rar(15.3 Kb)
Aleksey_174 Дата: Пн, 29.10.2018, 18:26  |                                                                                                                Сообщение # 33
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 75
Репутация: 12   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

Вот готовые не все проверял в железе, но в протеусе работают
Прикрепления: DS3231.inc(5.3 Kb) · DS_1302.inc(4.4 Kb) · DS1307.inc(4.1 Kb)
xaker-sss Дата: Пн, 29.10.2018, 18:34  |                                                                                                                Сообщение # 34
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 230
Репутация: 6   ±
Замечания:   ±
На сайте с 26.04.2009

Статус: Offline

Да это уже статья, жалко времени сейчас нет, мельком посмотрел код, и ваше объяснения, вроде все понятно. Спасибо и Удачи.

ПРОТОН ЭТО ВЕЩЬ.
xaker-sss Дата: Чт, 01.11.2018, 20:30  |                                                                                                                Сообщение # 35
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 230
Репутация: 6   ±
Замечания:   ±
На сайте с 26.04.2009

Статус: Offline

Вот в библиотеку DS18B20 добавил свой код, теперь и знак показывает.
Прикрепления: DS18B20.zip(42.7 Kb)


ПРОТОН ЭТО ВЕЩЬ.
Сообщение отредактировал xaker-sss - Чт, 01.11.2018, 20:34
xaker-sss Дата: Чт, 01.11.2018, 20:49  |                                                                                                                Сообщение # 36
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 230
Репутация: 6   ±
Замечания:   ±
На сайте с 26.04.2009

Статус: Offline

А вот готовый термометр с двумя библиотеками, писать практически ничего не надо.
Прикрепления: Termometr.zip(61.7 Kb)


ПРОТОН ЭТО ВЕЩЬ.
xaker-sss Дата: Чт, 01.11.2018, 20:57  |                                                                                                                Сообщение # 37
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 230
Репутация: 6   ±
Замечания:   ±
На сайте с 26.04.2009

Статус: Offline

Блин не те файлы кинул, 8 протеус оказывается с другим расширением сохраняет, вот правильные.

Добавлено (01.11.2018, 21:02)
---------------------------------------------
Термометр прикольный, от контроллера всего три ноги надо.

Прикрепления: 9167525.zip(57.6 Kb) · 0486388.zip(46.0 Kb)


ПРОТОН ЭТО ВЕЩЬ.
Aleksey_174 Дата: Пт, 02.11.2018, 11:15  |                                                                                                                Сообщение # 38
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 75
Репутация: 12   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

xaker-sss, Теперь и у тебя получаться стало, только надо писать коментарий в библиотеке, как пользоваться. Чтоб взял почитал подключил, мож к нам народ подключится и библиотек море будет  wacko 
Пока я еще толком не понял, как бороться с лишнем в библиотеке, для экономии места, почему то некоторые не компилируют не используемый хлам, а некоторые компилируют все. За границей примеров мало по этому поводу, они вообще там зажрались. В одном примере нашел кое что, добавил к тебе примерчик, код конечно страшный но верный. Так же добавил еще своих датчиков LM75 проверил и доделал.
Прикрепления: Termometr.rar(24.3 Kb)
xaker-sss Дата: Пт, 02.11.2018, 14:36  |                                                                                                                Сообщение # 39
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 230
Репутация: 6   ±
Замечания:   ±
На сайте с 26.04.2009

Статус: Offline

Прикольно получается,
Цитата Aleksey_174 ()
только надо писать коментарий в библиотеке
Я этот код сам где-то спер, просто в библиотеку скопировал.
Цитата Aleksey_174 ()
почему то некоторые не компилируют не используемый хлам, а некоторые компилируют все.
Это не так важно, я лучше в библиотеке закомментирую ненужные процедуры, чем писать, или с другого проекта вытаскивать.

Еще можно вот над этим поработать:

    Repeat ' Начать внутренний цикл 
    DelayMS 25 ' Ждать окончания преобразования пока не придет бит, 
    ORead DC18_DQ, 4, ' сигнализирующий об окончании преобразования 
    Until C > 0 'Выйти из цикла если от DS18S20 поступил бит конца

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


ПРОТОН ЭТО ВЕЩЬ.
Aleksey_174 Дата: Пт, 02.11.2018, 14:58  |                                                                                                                Сообщение # 40
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 75
Репутация: 12   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

Repeat
    DelayMS 25
    ORead DC18_DQ, 4,  
    inc R_Temp
    Until C > 0 or R_Temp = 1000 
    R_Temp = 0
Ну можно так вроде работает
Кстати не знаешь как в протоне подсветку синтаксиса включить?
xaker-sss Дата: Пт, 02.11.2018, 15:08  |                                                                                                                Сообщение # 41
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 230
Репутация: 6   ±
Замечания:   ±
На сайте с 26.04.2009

Статус: Offline

Цитата Aleksey_174 ()
Кстати не знаешь как в протоне подсветку синтаксиса включить
Где-то здесь, вид - правка опций
Прикрепления: 8414465.png(126.5 Kb)


ПРОТОН ЭТО ВЕЩЬ.
Aleksey_174 Дата: Пт, 02.11.2018, 15:13  |                                                                                                                Сообщение # 42
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 75
Репутация: 12   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

А чтоб в программе буквы выделялись типа  GoTo, а то у меня goto
xaker-sss Дата: Пт, 02.11.2018, 15:18  |                                                                                                                Сообщение # 43
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 230
Репутация: 6   ±
Замечания:   ±
На сайте с 26.04.2009

Статус: Offline

В новой версии протона у меня такая-же байда была, я в начале терпел, но потом он меня по другим поводам достал, бахнул его, поставил старенький Proton 3.5.2.6, и на нем сейчас сижу.

ПРОТОН ЭТО ВЕЩЬ.
Aleksey_174 Дата: Пт, 02.11.2018, 15:24  |                                                                                                                Сообщение # 44
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 75
Репутация: 12   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

Но на старом же многие программы работать не будут.
xaker-sss Дата: Пт, 02.11.2018, 15:28  |                                                                                                                Сообщение # 45
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 230
Репутация: 6   ±
Замечания:   ±
На сайте с 26.04.2009

Статус: Offline

Для меня наоборот, ни одна старая прога на новом не идет, приходится многое исправлять, только дебилы так новые версии программ пишут, что старый код не поддерживают. Пока остаюсь на старом, а там видно будет, старый для меня намного удобней.

ПРОТОН ЭТО ВЕЩЬ.
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Библиотека для Proton IDE (Создание библиотек)
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск: