Перейти к содержимому

Зарядка-конструктор


Сообщений в теме: 46

#41
BobLoran

    Пользователь

  • Пользователи
  • 12 сообщений
  • ГородРнД

В папке с IDE есть файл "Basic Compiler Reference Manual" - почитай его.

Спасибо, попытался почитать, но пока тяжело даётся, видимо сказываются пробелы знаний в основах программирования. Некоторые термины и понятия абсолютно незнакомы, приходится обращаться к г-ну Гуглу, но всё это сильно тормозит работу, и банально нет нужного количества времени.
Параллельно с учёбой, вопрос:

'Adcin 3, volt_temp 'прочитали АЦП. получили 0-1023 единиц
'5*5( делитель на 5)/1023 = вольт ( примерно 24.4 мВ на единицу )
If jmp_0 = 0 And jmp_3 = 0 Then 'если на GP0 и GP3 нолики (8 банок), то
volt_min = 328 'в единицах АЦП 8*1000/24,4 = 328
volt_max = 541 '8*1650(max значение банки)/24,4=541
If jmp_0 = 1 And jmp_3 = 0 Then 'если на GP0 единичка а на GP3 нолик (10 банок), то
volt_min = 614 'в единицах АЦП 10*1000/24,4 = 410
volt_max = 1013 '10*1650(max значение банки)/24,4=676
If jmp_0 = 0 And jmp_3 = 1 Then 'если на GP0 нолик а на GP3 единичка (12 банок), то
volt_min = 614 'в единицах АЦП 12*1000/24,4 = 492
volt_max = 1013 '12*1650(max значение банки)/24,4=811
Else 'ну, и если 15 банок то
volt_min = 615 'в единицах АЦП 15*1000/24,4 = 615
volt_max = 1014 '15*1650(max значение банки)/24,4=1014
Endif

После того, как я добавляю этот "параграф" выбора аккумуляторов выходит ошибка: "Error in line 235: Endif is missing."
Как я понял, где-то потерялась команда "Endif". Вся программа состоит из 234-х строк!!! Ставлю 235-й Endif, ошибка та-же. Что может быть?
Полная версия прошивки на Бейсике в аттаче.

P.S. не знаю, прав или нет, но вышел из положения следующим образом:


Symbol jmp_0 = GPIO.0 'программирование колличества банок
Symbol jmp_3 = GPIO.3 'программирование колличества банок
Symbol charge = GPIO.5 'управление зарядом
Symbol led_ok = GPIO.2 'светодиод ОК
Symbol discharge = GPIO.1 'управление разрядом



'Adcin 3, volt_temp 'прочитали АЦП. получили 0-1023 единиц
'5*5( делитель на 5)/1023 = вольт ( примерно 24.4 мВ на единицу )

If jmp_0 = 0 Then Goto a8
Goto a12


a8:
'--------------------------------------------------------------------------------------
If jmp_3 = 1 Then Goto a10
volt_min = 328 'в единицах АЦП 8*1000/24,4 = 328
volt_max = 541 '8*1650(max значение банки)/24,4=541
Goto pre

a10:
'---------------------------------------------------------------------------------------
volt_min = 410 'в единицах АЦП 10*1000/24,4 = 410
volt_max = 676 '10*1650(max значение банки)/24,4=676
Goto pre

a12:
'---------------------------------------------------------------------------------------
If jmp_3 = 1 Then Goto a15
volt_min = 492 'в единицах АЦП 12*1000/24,4 = 492
volt_max = 811 '12*1650(max значение банки)/24,4=811
Goto pre

a15:
'---------------------------------------------------------------------------------------
volt_min = 615 'в единицах АЦП 15*1000/24,4 = 615
volt_max = 1014 '15*1650(max значение банки)/24,4=1014
Goto pre
'---------------------------------------------------------------------------------------
'алгоритм такой:
'GP0&GP3 = 0 - заряжаем 8 банок
'GP0&GP3 = 1 - заряжаем 15 банок
'GP0 = 0; GP3 = 1 - заряжаем 10 банок
'GP0 = 1; GP3 = 0 - заряжаем 12 банок

pre:
'------------------------------------------------------------------------------------------------------------------------------------------
WaitMs 50 'устаканились
Gosub beep_ok 'пропищали что старт
Gosub beep_ok


Прикрепленные файлы

  • Прикрепленный файл  111.zip   2.88К


#42
BobLoran

    Пользователь

  • Пользователи
  • 12 сообщений
  • ГородРнД
И ещё вопрос:
Можно ли каким нить образом *.hex перегнать в *.bas ??? Ессна, я понимаю, что там комментов не будет, но всё таки???
Заранее благодарен!

#43
GLUHOY

    Продвинутый пользователь

  • Проверенные
  • 31 сообщений
Что же такие посты большие?
По поводу IF----ENDIF:
сколько IF столько и ENDIF.
хотя можно исхитриться по другому.

И ещё вопрос:
Можно ли каким нить образом *.hex перегнать в *.bas ??? Ессна, я понимаю, что там комментов не будет, но всё таки???
Заранее благодарен!

Только в .ASM

Блин, а файлик не прилепился. :-(
исправляю.

Прикрепленные файлы

  • Прикрепленный файл  111_new.rar   2.83К


#44
BobLoran

    Пользователь

  • Пользователи
  • 12 сообщений
  • ГородРнД

Только в .ASM

Тогда задам вопрос в другой плоскости.
Как я понял, ЭТО тоже Ваше творение.
Хочу в плане самообразования изучить интерфейс обмена с РС, но до ассемблера ещё не дорос. Так вот, мож остался этот варик на Бейсике. Заранее благодарен.
В аттаче файлик в HEX

Прикрепленные файлы

  • Прикрепленный файл  CH_gr_dis_2ACC_NO_IMP.rar   2.23К


#45
GLUHOY

    Продвинутый пользователь

  • Проверенные
  • 31 сообщений

Тогда задам вопрос в другой плоскости.
Как я понял, ЭТО тоже Ваше творение.
Хочу в плане самообразования изучить интерфейс обмена с РС, но до ассемблера ещё не дорос. Так вот, мож остался этот варик на Бейсике. Заранее благодарен.
В аттаче файлик в HEX


Из исходников на этот проект только куски остались, так что придется
читать файл "Basic Compiler Reference Manual" и… "Hello World!"

DEFINE SEROUT_DELAYUS = 5000
SEROUT PORTC.6, 1200, "Hello world!", CrLf

#46
BobLoran

    Пользователь

  • Пользователи
  • 12 сообщений
  • ГородРнД
И снова привет! Был в отъезде, устроил себе перерыв. :)
Возник ещё один вопрос, на который, пока, не могу найти ответ в литературе. Как получать на выходе прямоугольные импульсы со скважностью 50%, и заданной частотой, видно из исходников автора. Вопрос такой:
Можно ли задавать скважность выходных импульсов???
Поясню: Я хочу научить эту зарядку автоматически выставлять зарядный ток, меняя скважность. Ессна по окончании испытаний выложу результаты…
Спасибо!

#47
OFFender

    Новичок

  • Пользователи
  • 1 сообщений
А можно узнать у уважаемого BobLoran'a , что за транзисторы используются в последней схеме ?