insomnium
Пользователи-
Content Count
6 -
Joined
-
Last visited
About insomnium
|
-
Программирование на PicBasic Pro Урок №2
insomnium replied to Evgeniy's topic in Программирование на PicBasic Pro
Я думаю, все регистры сконфигурированы правильно. Моргания светодиодами работают норм. На данный момент сделал программу на контроллер pic12f509. Всё также, в Picbasic Pro работает, а после Proton виснет. Пробовал делать отладку через Proteus, виснет в районе цикла For...to. Как-то по-другому его надо делать, видимо. Device = 12F509 declare Xtal 4 Config IntRC_OSC, WDT_OFF, MCLRE_OFF, CP_OFF OPTION_REG = %11000000 TRISIO = %00011000 GPIO = %00000000 ALL_DIGITAL true Symbol BUT1 = GPIO.3 Symbol BUT2 = GPIO.4 Symbol LED = GPIO.5 -
insomnium started following Программирование на PicBasic Pro Урок №2
-
Программирование на PicBasic Pro Урок №2
insomnium replied to Evgeniy's topic in Программирование на PicBasic Pro
Осваиваю Proton. Попытался перевести в него эту программу. Всё компилится, но ни в протеусе, ни в железе не работает. Нажимаешь любую кнопку и всё зависает. Данные в переменную не записываются. Хотя MicroCode Studio (Picbasic Pro) всё чётко работает. Полагаю, что в Протоне как-то иначе нужно задавать цикл, хотя в мануале описано всё то же самое, что и в PicBasic Pro. Не могли бы вы подсказать куда копать? Вот код в Protone: Symbol Led = PortB.0 Symbol But1 = PortA.0 Symbol But2 = PortA.1 Dim TimePause as word Dim i as byte Dim buf1 as byte Dim buf2 as byte main: gosub opros for i = 0 to TimePause delayms 200 gosub opros next i toggle led goto main Opros: Button but1,0,255,255,buf1,1,speedDw Button but2,0,255,255,buf2,1,speedUp return SpeedDw: timepause = TimePause + 1 if TimePause > 10 then TimePause = 10 return SpeedUp: timepause = TimePause - 1 if TimePause > 10 then TimePause = 0 return -
Программирование на PicBasic Pro Урок №2
insomnium replied to Evgeniy's topic in Программирование на PicBasic Pro
Потому что данный способ конфигурации битов используется лишь для определённых версий компилятора. В вашем варианте, вероятно, стоит написать так: #CONFIG __config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_OFF & _CP_OFF & _PWRT_ON #ENDCONFIG Подробнее о конфигурационных битах можно ознакомиться в корневой папке, где расположен ваш компилятор: C:\Program Files (x86)\PBP3 Папки "DEVICE" и "DEVICE_REFERENCE". Там представлен полный список поддерживаемых микроконтроллеров и способов их конфигурации. -
Программирование на PicBasic Pro Урок №2
insomnium replied to Evgeniy's topic in Программирование на PicBasic Pro
Спасибо большое! -
Программирование на PicBasic Pro Урок №2
insomnium replied to Evgeniy's topic in Программирование на PicBasic Pro
Если вас не затруднит, объясните начинающему что я сделал не так. Пишу программу второй раз в жизни. Буду очень благодарен. У меня должен моргать один светодиод, с управлением скорости по одной кнопке (пока). В протеусе светодиод моргает с задержкой по умолчанию и скорость с кнопки не меняется. 'pic16f84a TrisA = %00000001 TrisB = %00000000 Led Var PortB.0 But var PortA.0 timepause var word i var byte Knopki: PortB = 0 Button but,0,255,255,timepause,1,speed 'изменение значения паузы кнопкой gosub main main: 'программа мигания одного светодиода led = 1 pause timepause + 300 'пауза по умолчанию 300 м.с. Led = 0 pause timepause + 300 'пауза по умолчанию 300 м.с. goto main speed: For i = 0 to timepause Pause 100 Gosub Knopki Next i -
Программирование на PicBasic Pro Урок №2
insomnium replied to Evgeniy's topic in Программирование на PicBasic Pro
Здравствуйте. Не подскажете, как реализовать алгоритм, при котором возможно будет менять скорость переключения светодиодов с помощью 2-х кнопок (больше-меньше)?. Я так понял, вместо паузы (pause) нужно вставить переменную и реализовывать в ней. Не подскажете что нужно добавить в эту переменную, какой код?