BASCOM AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
KOTик
Встал на лапы
Сообщения: 148
Зарегистрирован: Пн июн 07, 2010 16:16:57
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение KOTик »

vem566 писал(а):Ну было бы странно, если бы такая конструкция работала.
Можно попробовать проще. Мелкие косяки программы выясняются сравнением текстов myDRL и myDRL1.
В протеусе все нормально.


Странно. Я только что запустил и мигание светодиода не потому алгоритму, что в коде. Между мигания должна быть пауза в 2сек., а ее просто нет.

Код: Выделить всё

  Status = 1 : Waitms 50                                ': Waitms 10
      Status = 0 : Waitms 300                               ': Waitms 10
      Status = 1 : Waitms 50                                ': Waitms 10
      Status = 0 : Waitms 300                               ': Waitms 10
      Status = 1 : Waitms 50                                ': Waitms 10
      Status = 0 : Wait 2


Кроме того, осталась та же проблема - Wait 2 тормозит отработку кнопки настройки.
У вас точно все работает?

Кстати, Я тоже подумывал расписать кол-во миганий в зависимости от ШИМ в ручную.
Просто, думал о компактности кода, потому и прибегнул к цикло Фор некст и добавил N_blink.
Спасибо за оказанную помощь, но чего-то не пашет :(
Тормозит кнопка и мигание не такое :kill:
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

Re: BASCOM AVR в вопросах и ответах

Сообщение vem566 »

Честно говоря, я с кнопкой до конца и не разбирался.
Мигало работало исправно. Длительность включения специально убавил до 50 мсек. Похоже на проблесковый маячок.
А кнопку можно повесить на прерывание и внутри развлекаться как угодно. В данной конструкции задержка работы во время обработки прерывания никак не скажется на результате.
Как на примере.
И еще один маленький косяк в программе: алиас порту В.2(выход на светодиод) должен быть обозначен как порт, а не пин.
Пин, это когда вход и порт, когда выход. И в свойствах элемента в протеусе лучше указывать цифровой элемент, а не аналоговый, как по умолчанию. Это очень заметно повышает точность моделирования схемы при цифровых сигналах. Во вложении есть картинка как и что менять.
Вложения
myDRL.rar
(113.16 КБ) 314 скачиваний
Аватара пользователя
KOTик
Встал на лапы
Сообщения: 148
Зарегистрирован: Пн июн 07, 2010 16:16:57
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение KOTик »

Спасибо! Самое то! :beer:
Только подпилил немного прошивку.
И как не додумался активировать INT0.
А насчет косяка - это я автоматом копи-паст делал и забыл сменить ПИН на ПОРТ :)))

Кстати, весь и-нет перерыл, но ничего внятного по настройке PCINT не нашел.
Может кто подскажет, как оно настраивается и юзается.
В чем преимущества, различия между INT0 и PCINT0 и в каком порядке будет обработка?
Cerberus
Родился
Сообщения: 3
Зарегистрирован: Пт июл 25, 2014 15:02:03

Re: BASCOM AVR в вопросах и ответах

Сообщение Cerberus »

Всем привет. Знаком кто с этим зверем LM7001 ?.
Уже 3 день мучаюсь... Казалось бы все очень просто, но ничего не получается.
Спецы помогите мне разобраться с этой микросхемой. Буду рад любой помощи!
Нужно всего лишь отправить данные на этот PLL чтоб частота была например 27мгц. Частота одна и фиксированная. Или можно сделать просто переменную с частотой и хранить её.
Пробовал так -

Portd.2 = 0 'CE
U = Freqlm7001 - 10700
Kd = U / 25

Portd.2 = 1

Shiftout Portd.0 , Portd.1 , Kd , 3 , 14
Kd = 640
Shiftout Portd.0 , Portd.1 , Kd , 3 , 10
Portd.2 = 0 'CE

Но почему то напряжение на выходе (управление варикапом) lm7001 постоянно скачет.
Cerberus
Родился
Сообщения: 3
Зарегистрирован: Пт июл 25, 2014 15:02:03

Re: BASCOM AVR в вопросах и ответах

Сообщение Cerberus »

Жаль спецов нет. Ладно сам разберусь.
Аватара пользователя
Moto_v3x
Потрогал лапой паяльник
Сообщения: 307
Зарегистрирован: Ср мар 31, 2010 11:45:58
Откуда: Славянск

Re: BASCOM AVR в вопросах и ответах

Сообщение Moto_v3x »

Cerberus, а такой пример подойдет
http://sq1ftb.prothost.pl/articles.php?article_id=8
Cerberus
Родился
Сообщения: 3
Зарегистрирован: Пт июл 25, 2014 15:02:03

Re: BASCOM AVR в вопросах и ответах

Сообщение Cerberus »

Спасибо вам конечно, но дело в том что мне надо в синтезатор отправить всего один раз одну частоту. Если быть более точным, коэф.дел.. Менять частоту не надо будет. Пример конечно можно как то "прилепить" но память сильно расходуется, а это не есть хорошо.
PS Ну собственно разобрался. Запустил синтезатор. Отлично просто работает! :) Все проще чем я думал. Прошу модераторов удалить сообщения чтоб не засорять форум.
Sergik07
Родился
Сообщения: 19
Зарегистрирован: Вт сен 10, 2013 18:12:58

Re: BASCOM AVR в вопросах и ответах

Сообщение Sergik07 »

KOTик писал(а):Кстати, весь и-нет перерыл, но ничего внятного по настройке PCINT не нашел.


Вот здесь есть немного о PCINT http://bascomavr.3bb.ru/viewtopic.php?id=1122
AlekseyV
Грызет канифоль
Сообщения: 291
Зарегистрирован: Ср май 26, 2010 20:40:47

Re: BASCOM AVR в вопросах и ответах

Сообщение AlekseyV »

Доброго времени!
Можно каким-либо образом считать USB Flash через FT232RL в ATMega128A используя AVR-Dos или другим способом?
Гуглил не нашел.
Аватара пользователя
radio-kot
Собутыльник Кота
Сообщения: 2584
Зарегистрирован: Вт сен 14, 2010 10:27:19

Re: BASCOM AVR в вопросах и ответах

Сообщение radio-kot »

vem566 писал(а):Специально скомпилировал и загнал в протеус. Все как и должно быть.
дак приложите все архивом! че таить то?
Будете проходить мимо- проходите!
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

Re: BASCOM AVR в вопросах и ответах

Сообщение vem566 »

radio-kot писал(а):че таить то?

Ни разу не пытался что то утаить. А это вообще о чем? В смысле тема какая?
Аватара пользователя
KOTик
Встал на лапы
Сообщения: 148
Зарегистрирован: Пн июн 07, 2010 16:16:57
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение KOTик »

Sergik07 писал(а): Вот здесь есть немного о PCINT http://bascomavr.3bb.ru/viewtopic.php?id=1122

В примере рассматривается прерывание PCINT0, он же INT0... (attiny13).
Вот цитата
"3. Разрешаем PCINT0. Так как у тини13 всего-то и есть,что одно INT0(PCINT0), трудностей быть не должно."

Трудностей нет. Работает. А вот мне нужно зайдествовать PCINT4.
Т.е., как-то так

Код: Выделить всё

Pcmsk = &B00010000  'разрешаем прерывание PCINT4
Gimsk = &B00010000

Ничего не пашет. Басик ругается "Unknown interrupt source" (неизвестный источник прерывания). :kill:
Перелопатил весь гугл - были пару примеров у немцов - тоже не пашет.
Скажите, в чем трабла? :roll:
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Re: BASCOM AVR в вопросах и ответах

Сообщение zero648 »

KOTик писал(а):

Код: Выделить всё

Pcmsk = &B00010000  'разрешаем прерывание PCINT4
Gimsk = &B00010000

В GIMSK за прерывания PCINT отвечает пятый бит, а не четвертый.
Аватара пользователя
radio-kot
Собутыльник Кота
Сообщения: 2584
Зарегистрирован: Вт сен 14, 2010 10:27:19

Re: BASCOM AVR в вопросах и ответах

Сообщение radio-kot »

zero648 писал(а): пятый бит
это бит_4 так как первый бит (считая слева) это бит_0 :)
Будете проходить мимо- проходите!
Аватара пользователя
KOTик
Встал на лапы
Сообщения: 148
Зарегистрирован: Пн июн 07, 2010 16:16:57
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение KOTик »

zero648 писал(а):
KOTик писал(а):

Код: Выделить всё

Pcmsk = &B00010000  'разрешаем прерывание PCINT4
Gimsk = &B00010000

В GIMSK за прерывания PCINT отвечает пятый бит, а не четвертый.

Я его переписал - результат тот же :(
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Re: BASCOM AVR в вопросах и ответах

Сообщение zero648 »

radio-kot писал(а):
zero648 писал(а): пятый бит
это бит_4 так как первый бит (считая слева) это бит_0 :)

Хорошо, шестой, если считать справа-налево. Даташит хоть посмотри сначала.
Аватара пользователя
radio-kot
Собутыльник Кота
Сообщения: 2584
Зарегистрирован: Вт сен 14, 2010 10:27:19

Re: BASCOM AVR в вопросах и ответах

Сообщение radio-kot »

Посмотри! в дш и написано "бит 5" "бит 7" но не "пятый" и не "седьмой". потому что они шестой и восьмой по порядку считая слева на право.
Будете проходить мимо- проходите!
Sergik07
Родился
Сообщения: 19
Зарегистрирован: Вт сен 10, 2013 18:12:58

Re: BASCOM AVR в вопросах и ответах

Сообщение Sergik07 »

Я его переписал - результат тот же

Может мы говорим о разных вещах? Выложите весь код,тогда будет понятно о чем речь.
Jonny_3103
Родился
Сообщения: 8
Зарегистрирован: Вт сен 16, 2014 18:36:13

Re: BASCOM AVR в вопросах и ответах

Сообщение Jonny_3103 »

Доброе время суток.
Немного начал экспериментировать на Bascom.
Нужен простой таймер на 2 канала. Для Гидропоники.
1-Включение света с 7 до 23, 2-включение по 5 минут помпы через каждые 2 часа.
Вот набросал кусок кода, но софтовые часы жутко спешат, использовать DS пока не хочу.
Подскажите как сделать корректировку времени.
Спойлер

Код: Выделить всё

$regfile = "m8Adef.dat"                                     ' мега8
$crystal = 8000000
$sim
Dim I As Byt
Portc = &H38
Config Clock = Soft                                         'конфигурируем софтовые часы
Config Timer1 = Counter , Edge = Falling , Prescale = 1 : Enable Interrupts
' конфигурируем таймер 1 на подсчет импульсов на кварце, припаянного к Xtal1 Xtal2 на 32768 гц БЕЗ КОНДЕРОВ!
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portd.7 , Db6 = Portd.6 , Db7 = Portd.5 , E = Portb.2 , Rs = Portb.1
Config Lcd = 16 * 2
Config Debounce = 30
Cls
'Config Portb.0 = Output
'начало основного цикла
I = 0
Do
Debounce Pinc.4 , 0 , Minuti , Sub
Debounce Pinc.5 , 0 , Chasi , Sub

Locate 1 , 1
Lcd _hour ; ":" ; _min ; ":" ; _sec ; "   "
'Помпа
I = _hour And &B00000001
If I = 0 And _min < 5 Then
Locate 2 , 1 : Lcd "POM"
Else
Locate 2 , 1 : Lcd "OFF "
End If

'Освещение
If _hour > 6 And _hour < 22 Then
Locate 2 , 5 : Lcd "OSV"
Else
Locate 2 , 5 : Lcd "OFF"
End If
Locate 2 , 4 : Lcd I


Loop

Minuti:
Incr _min
If _min = 60 Then
_min = 00
End If
_sec = 00
Return
 
Chasi:
Incr _hour
If _hour > 23 Then
_hour = 00
End If
Return

End
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

Re: BASCOM AVR в вопросах и ответах

Сообщение vem566 »

Тут дело скорее в кварце. Или конденсаторы нужны, или плата не промыта, или кварц с придурью. Есть у меня несколько штук таких. При кривом включении возбуждаются вроде на 32768, но проходят пачки импульсов с удвоенной частотой. Иногда и не предсказуемо. Поэтому и идут часы как хотят.
Ответить

Вернуться в «AVR»