Например TDA7294

Форум РадиоКот • Просмотр темы - BASCOM AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Пт авг 07, 2020 04:18:32

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 5878 ]     ... , , , 292, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пт ноя 29, 2019 11:30:06 
Друг Кота

Карма: 55
Рейтинг сообщений: 785
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3753
Откуда: Ижевск
Рейтинг сообщения: 0
Вы объявили режим CTC, а ждете прерывание по переполнению, которое никогда не запустится, т.к. счетчик не доходит до MAX.
Код:
Enable OC1     'Timer1


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пт ноя 29, 2019 20:43:01 
Встал на лапы

Зарегистрирован: Вс мар 27, 2011 07:48:48
Сообщений: 97
Откуда: г. Екатеринбург
Рейтинг сообщения: 0
Я подозревал, что тут дело в неправильной организации таймера. У меня в этом деле мало опыта. Подскажите, как правильно запустить таймер1 по переполнению. Мне это пригодится в будущем.

Добавлено after 44 minutes 9 seconds:
С таймером разобрался - нашел пример в инете. ШД включается и останавливается через 3 сек, как мне и надо. Осталось только понять, почему МК вновь не просыпается при срабатывании геркона.


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пт ноя 29, 2019 21:22:46 
Первый раз сказал Мяу!
Аватар пользователя

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Вс май 15, 2016 19:02:01
Сообщений: 26
Откуда: Украина
Рейтинг сообщения: 0
Код:
Config Int0 = Falling

У вас прерывание происходит по спаду сигнала, т. е. при переходе c высокого уровня на низкий. В программе подтяжки нет. Как подключен геркон?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Сб ноя 30, 2019 07:42:35 
Встал на лапы

Зарегистрирован: Вс мар 27, 2011 07:48:48
Сообщений: 97
Откуда: г. Екатеринбург
Рейтинг сообщения: 0
Геркон подтянут к плюсу через R=10к. Не стал возиться со схемой, т.к. она очень простая. Переделал нижнюю часть кода. Теперь команда Спать - внутри цикла Do-Loop. Но все равно МК не просыпается от геркона. Пока не могу понять причину. Вот основная часть кода:
Код:
Do
If F = 1 Then                                               'ñðàáîòàë ãåðêîí
   Led = 1                                                  'çàãîðåëñÿ ñâåòîäèîä
   Decr S
   If S = 0 Then                                            'ðàññ÷åò íîìåðîâ îáìîòîê ØÄ
    S = 8
   End If

   Select Case S

   Case 1 : Portb = &B00000001
   Case 2 : Portb = &B00000011
   Case 3 : Portb = &B00000010
   Case 4 : Portb = &B00000110
   Case 5 : Portb = &B00000100
   Case 6 : Portb = &B00001100
   Case 7 : Portb = &B00001000
   Case 8 : Portb = &B00001001

   End Select

   Waitus 1000

End If

If A = 5 Then                                               'A=5 - ïðîøëî 5 ñåêóíä
   Stop Timer1
   Led = 0 : F = 0 : A = 0
   Powerdown                                                'ÌÊ óñíóë
End If

Loop

End

Pusk:                                                       'íàæàòà êíîïêà ïóñêà
Start Timer1
F = 1
Return

Timecount:                                                  'ïîäñ÷åò âðåìåíè
Incr A
Return


Добавлено after 31 minute 40 seconds:
Заменил Powerdown на Idle. МК засыпает и нормально просыпается при срабатывании геркона. НО! Померил потребление в разных режимах. В режиме сна потребление-260ма, в режиме вращения ШД - 120ма. Т.е. в режиме сна схема кушает в 2 раза больше. Почему - не могу понять. Не сталкивался с этим раньше. Хотя, конечно, практической пользы для меня от засыпания МК нет, т.к. питание будет от сети. Но все равно что-то здесь неправильно, учитывая то, что МК будет спать по 12 часов и включаться на 3-5 сек.


Вернуться наверх
 
Вебинар «Каждому ключу — свой драйвер» (13.08.2020)

Компания КОМПЭЛ приглашает вас принять участие в вебинаре, который будет посвящен теме драйверов управления транзисторами компании Infineon. Мы рассмотрим четыре различных технологии изготовления микросхем драйверов, в чём их отличия и особенности.

Зарегистрироваться на вебинар>>
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Сб ноя 30, 2019 20:24:57 
Первый раз сказал Мяу!

Зарегистрирован: Пт фев 18, 2011 16:09:15
Сообщений: 20
Рейтинг сообщения: 0
В хелпе Баскома указано "When an END statement is encountered, all interrupts are disabled and a never-ending loop is generated".
У Вас имеется комбинация
Ex:
Stop Timer1
Led = 0 : F = 0 : A = 0
Powerdown
End - не в этом ли дело?


Вернуться наверх
 
Новый ХИТ FANSO CR123A/SN

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Сб ноя 30, 2019 23:02:18 
Друг Кота

Карма: 55
Рейтинг сообщений: 785
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3753
Откуда: Ижевск
Рейтинг сообщения: 0
Код:
Config Int0 = Falling
Думаю, дело в этой строке. Т.к. INT0 выводит камень из POWER DOWN только по низкому уровню, а по спаду нет. Студия 3.21 дизассемблирует .hex и, при прогоне в симуляторе, не даёт завестись камню. Закомментировал эту строку и становится что-то похожее на правду.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вс дек 01, 2019 08:52:50 
Встал на лапы

Зарегистрирован: Вс мар 27, 2011 07:48:48
Сообщений: 97
Откуда: г. Екатеринбург
Рейтинг сообщения: 0
Ну вреде бы со всем почти разобрался. Избавился от безусловного перехода на метку Ex, теперь все работает в цикле Do-Loop. Вместо команды Powerdown сделал Idle- МК просыпается нормально. Но самое главное - сделал подачу питания не ULN2003 через герконовое реле, используя еще один порт. Так что ШД теперь вообще не греется.
Остался один непонятный момент. Я решил добавить в схему реверс ШД, используя Config Int1=Low_level. Написано вроде, что прерывание в таком случае генерируется, пока держится низкий уровень. Добавил еще одну кнопку для реверса. Я рассчитывал, что ШД будет работать, пока нажата кнопка реверса, а при отпускании должен остановиться. Но ШД почему-то не хочет останавливаться при отпускании кнопки. Может быть, все это должно работать как-то по другому? В принципе, это не смертельно, в крайнем случае буду использовать Timer1. Просто непонятно.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт дек 05, 2019 07:33:18 
Родился

Зарегистрирован: Вт июн 25, 2019 07:54:46
Сообщений: 6
Рейтинг сообщения: 0
Всем привет, есть задача.
На вход АЦП подключен переменный резистор, при вращении от начальной до конечной меняется значение АЦП от значения 1 до 10, то есть в минимальном положении 1, в середину крутнули 5, в крайнее положение - 10

Необходимо:
Допустим, крутанули резистор так, что значение АЦП у нас 4, выключили питание, включили.

Как задать как бы гистерезис +/-2, то есть, ключили питание, значение АЦП у нас 4, крутим резистор, пока значение АЦП не вышло за пределы 2 или 6 то светодиодом мы не светим.

То же самое если например было значение АЦП 5, включаем питание, при вращении резистора пока значение АЦП не будет 3 или 7 светодиод не включаем.

Получается, надо при включении питания к текущему значению АЦП применить условие сравнения, что ли
типа считали АЦП, оно = 5,
Тогда если оно не выходит за пределы <3 and >7 then
ничего не делаем
else
включаем диод.

НО, не распишешь же такое условия для каждого значения АЦП от 1 до 10,

помогите плз.

Добавлено after 1 minute 8 seconds:
то есть, считал значение ацп, и добавляешь к нему гистерезис, плюс минус 2 вольта к примеру, если через какое то время это значенеи вышло за пределы - включаем диод, если покрутили резистор к примеру.


Вернуться наверх
 
Бытовой пирометр АКИП-9312 – просто удобно!

Диапазон 35 °С ...42°С (температура тела) погрешность 0,3 °С
Диапазон 0 °С ...100°С (бытовая сфера) погрешность 1,0 °С
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт дек 05, 2019 08:04:46 
Друг Кота
Аватар пользователя

Карма: 39
Рейтинг сообщений: 540
Зарегистрирован: Вс янв 24, 2010 13:14:02
Сообщений: 4293
Откуда: Омск
Рейтинг сообщения: 0
Считываем АЦП, две переменные min_ и max_. К одной +2, к другой -2. И сравнение значения с этими переменными.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт дек 05, 2019 08:08:23 
Родился

Зарегистрирован: Вт июн 25, 2019 07:54:46
Сообщений: 6
Рейтинг сообщения: 0
Хорошо,а как реализовать именно этот участок кода, где идет сравнение? Если кто согласен помочь, напишите почту, могу благодарность на телефон кинуть, понимаю, что благотворительностью не все хотят заниматься)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт дек 05, 2019 16:53:17 
Родился

Зарегистрирован: Пт июл 05, 2019 23:25:44
Сообщений: 2
Откуда: СПб
Рейтинг сообщения: 0
Хорошо,а как реализовать именно этот участок кода, где идет сравнение?


Исходя из описания, как-то, видимо, так.
Код:

...
OnStartADVar = GetADC(0);
OnStartMax = OnStartADVar + 2
OnStartMin = OnStartADVar – 2

Do

CurADVar = GetADC(0)
If CurADVar => OnStartMin AND CurADVar <= OnStartMax Then
'do something
Esle
'do something else
End If

Loop
...



Или мимо?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пт дек 06, 2019 12:59:22 
Родился

Зарегистрирован: Вт июн 25, 2019 07:54:46
Сообщений: 6
Рейтинг сообщения: 0
Код:

...
OnStartADVar = GetADC(0);
OnStartMax = OnStartADVar + 2
OnStartMin = OnStartADVar – 2

Do

CurADVar = GetADC(0)
If CurADVar => OnStartMin AND CurADVar <= OnStartMax Then
'do something
Esle
'do something else
End If

Loop
...




Вроде то, что надо. За наводку спасибо, буду колдовать. О результатах сообщу.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн дек 16, 2019 14:47:11 
Электрический кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 24
Зарегистрирован: Пт июл 30, 2010 11:49:03
Сообщений: 1044
Откуда: Украина
Рейтинг сообщения: 0
Здравствуйте. Не натыкался кто на библиотеку для работы с дисплеем на контроллере - st7586?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вс янв 12, 2020 19:32:43 
Открыл глаза

Карма: -2
Рейтинг сообщений: -1
Зарегистрирован: Пт окт 25, 2013 17:13:03
Сообщений: 65
Рейтинг сообщения: 0
Странный глюк штатного прошивальщика в BascomAvr 2.0.7.1
Захотел прошить Attiny2313A. В исходнике указал
$regfile = "ATtiny2313A.DAT"
Вставляю Attiny2313A в USBASP, жму F4 - идентификация. Он ругается, что найденная 2313 не соответствует указанной 2313A
Если указываю
$regfile = "ATtiny2313.DAT", то не ругается, заявляет, что нашел 2313A и дальше прошивается нормально.
Пока баг вылечил просто тем, что переименовал рег.файл 2313 в 2313A.
Может, я что-то не так делаю?

_________________
GPS-часы на Attiny2313 и газоразрядных ИН-12
FuseBit Doctor


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт янв 16, 2020 00:19:24 
Открыл глаза

Карма: -2
Рейтинг сообщений: -1
Зарегистрирован: Пт окт 25, 2013 17:13:03
Сообщений: 65
Рейтинг сообщения: 0
Вопрос.
Если мне нужно выбрать из общего потока цифробуквенных данных только цифры от 0 до 9, то писать
If I >= 0 And I <= 9 Then
или есть более правильные варианты?

_________________
GPS-часы на Attiny2313 и газоразрядных ИН-12
FuseBit Doctor


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт янв 16, 2020 00:26:26 
Электрический кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 24
Зарегистрирован: Пт июл 30, 2010 11:49:03
Сообщений: 1044
Откуда: Украина
Рейтинг сообщения: 0
I это string*1?
Если да то

If ASC(I) >= 30 And ASC(I) <= 39 Then


https://avrhelp.mcselec.com/index.html?asc.htm


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт янв 16, 2020 00:34:05 
Открыл глаза

Карма: -2
Рейтинг сообщений: -1
Зарегистрирован: Пт окт 25, 2013 17:13:03
Сообщений: 65
Рейтинг сообщения: 0
I это string*1?
Если да то
If ASC(I) >= 30 And ASC(I) <= 39 Then
https://avrhelp.mcselec.com/index.html?asc.htm

Byte, просто я предполагал, что вместо >= AND <= есть другие варианты. Кстати, я сначала вообще думал >= Or <= но оно не работало!

_________________
GPS-часы на Attiny2313 и газоразрядных ИН-12
FuseBit Doctor


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт янв 16, 2020 00:35:52 
Электрический кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 24
Зарегистрирован: Пт июл 30, 2010 11:49:03
Сообщений: 1044
Откуда: Украина
Рейтинг сообщения: 0
Откуда в Byte - буквы? Это 8 битовая переменная. Там может быть только 0-255


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт янв 16, 2020 00:59:56 
Открыл глаза

Карма: -2
Рейтинг сообщений: -1
Зарегистрирован: Пт окт 25, 2013 17:13:03
Сообщений: 65
Рейтинг сообщения: 0
Откуда в Byte - буквы? Это 8 битовая переменная. Там может быть только 0-255

В потоке данных там и буквы и цифры в коде ASCII. Вот мне и надо взять из потока только цифры.
то есть это соответственно
If I >= 48 And I <= 57 Then (если в коде ASCII)

_________________
GPS-часы на Attiny2313 и газоразрядных ИН-12
FuseBit Doctor


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт янв 16, 2020 16:02:23 
Собутыльник Кота
Аватар пользователя

Карма: 7
Рейтинг сообщений: 114
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 2937
Рейтинг сообщения: 0
goldskif писал(а):
Вставляю Attiny2313A в USBASP, жму F4 - идентификация. Он ругается, что найденная 2313 не соответствует указанной 2313A
МК куплены в Китае?
Может перемаркировка?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 5878 ]     ... , , , 292, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y