Например TDA7294

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

Текущее время: Вт сен 09, 2025 18:26:46

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


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



Начать новую тему Ответить на тему  [ Сообщений: 6053 ]     ... , , , 62, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 14, 2011 17:57:03 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3379
Рейтинг сообщения: 0
Считываем текущее значение из порта или компаратора и пишем его в младший бит переменной.
Далее переменную двигаем.
Как-то так:
Код:
For I = 1 To 8
    Var.0 = Pinb.0
    Shift Var , Left , 1
    Waitms 2
Next I


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 14, 2011 18:50:55 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 35
Зарегистрирован: Сб дек 13, 2008 09:03:43
Сообщений: 347
Откуда: г.Советская Гавань
Рейтинг сообщения: 0
В связи с тем что шум величина случайная и Время между сработкой компаратора тоже случайно.
Для большего разброса параметров можно с вывода ШИМ через интегрирующую цепочку завести
на внешний компаратор или усилитель.

_________________
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 14, 2011 19:04:17 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 17, 2008 14:32:15
Сообщений: 2106
Откуда: Старые Васюки
Рейтинг сообщения: 0
Мурик писал(а):
Считываем текущее значение из порта или компаратора и пишем его в младший бит переменной.
Далее переменную двигаем.

А, тоже вариант. Можно ещё например время между появлениями единицы по таймеру считать. Но как-то ресурсоёмко выходит.

_________________
Даже остановленные часы два раза в сутки показывают правильное время.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 14, 2011 19:17:41 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 35
Зарегистрирован: Сб дек 13, 2008 09:03:43
Сообщений: 347
Откуда: г.Советская Гавань
Рейтинг сообщения: 0
Тогда по int отталкиваясь от аплитуды шим на внешнем компараторе

_________________
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 14, 2011 20:55:55 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 17, 2008 14:32:15
Сообщений: 2106
Откуда: Старые Васюки
Рейтинг сообщения: 0
Это и получится самопальный АЦП :))

_________________
Даже остановленные часы два раза в сутки показывают правильное время.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт фев 15, 2011 07:29:16 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 35
Зарегистрирован: Сб дек 13, 2008 09:03:43
Сообщений: 347
Откуда: г.Советская Гавань
Рейтинг сообщения: 0
Еще один вариант .По приходу имп. на компаратор считываем значение шим и
делим на переменную в какомто заданном диапазоне (вставленно в основной цыкл).Время прихода импульса неизвестно,значит и количество циклов тоже, каки и число делителя.Более простое решение больше на ум неприходит.

_________________
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 02:10:24 
Говорящий с текстолитом
Аватар пользователя

Карма: 7
Рейтинг сообщений: 12
Зарегистрирован: Вс дек 14, 2008 20:36:47
Сообщений: 1596
Откуда: SPb
Рейтинг сообщения: 0
Что делаю не так? после обработки PP.1, MK уходит в перезагрузку,, решил проблему, безусловным переходом по Лейблу.1, все работает, но надо же разобраться, тем более, что шевеление портами в теле Подпрограммы прерывания и штатный выход из оной к критическим действиям не приводит
И еще проблемка, порт подтянут через 10к к +5В. Замучал дребезг кантактов, отрабатывал в Протеусе, все изумительно, на живом устройстве, то срабатывает, потом отключается, то не срабатывает, то по нескольку раз, как с этим бороться, время задержки менял до 1сек :))
Зы кошачий таймер на перезагрузку влиять не может, стоит с максимальным делителем и отслежмвается, не он точно, уже убирал :))
Код:
$regfile = "m8def.dat"                                     
$crystal = 8000000 

Config Pind.2 = Input
Config Int0 = Falling
On Int0 baton
Enable Interrupts
Enable Int0

Do
  ...
  If Stjag  = 1 Then Goto PP.1
Лейбл.1   
    ...
Loop

baton :
Asm
Stjag = 1
конец  Asm
Waitms 250
Gifr = 64                                                 
wdr
Return

PP.1:
Stjag = 0
Шевелю ногами
Лейбл.1
Return

End


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 09:41:48 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 35
Зарегистрирован: Сб дек 13, 2008 09:03:43
Сообщений: 347
Откуда: г.Советская Гавань
Рейтинг сообщения: 0
Скорее всего тебн не хватает стека
Это параметрв то умолчанию
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space

Более развернуто http://bascomavr.3bb.ru/viewtopic.php?id=494

_________________
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 10:52:41 
Говорящий с текстолитом
Аватар пользователя

Карма: 7
Рейтинг сообщений: 12
Зарегистрирован: Вс дек 14, 2008 20:36:47
Сообщений: 1596
Откуда: SPb
Рейтинг сообщения: 0
Не, здесь вроде все в порядкке, на всякий случай проверил, увеличил еще, не в этом проблема
Код:
$hwstack = 64
$swstack = 32
$framesize = 64
$lib "lcd4.lbx"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 11:01:37 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Как-то смущает меня переход по goto а возврат по return. Может стоит по gosub уйти?

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 11:28:07 
Говорящий с текстолитом
Аватар пользователя

Карма: 7
Рейтинг сообщений: 12
Зарегистрирован: Вс дек 14, 2008 20:36:47
Сообщений: 1596
Откуда: SPb
Рейтинг сообщения: 0
Цитата:
Как-то смущает меня переход по goto а возврат по return. Может стоит по gosub уйти?

Волшебник!!! и чего я сразу не сделал, раньше все метки декларировал как ПП, а тут поленился :oops:
Благодарю :beer:
Осталось теперь только с дребезгом контактов разобраться :))


Последний раз редактировалось saschai Ср фев 16, 2011 12:01:04, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 11:59:32 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Ну вот и славно. :) Я вот не знаю, возможно и без проблем работает, но мне как-то спокойнее, если на метку по goto то возращаться тогда тоже goto в рабочий цикл. Ну а return он же как возврат из подпрограммы. Ну и из прерывания, разумеется. :)

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

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 12:06:44 
Говорящий с текстолитом
Аватар пользователя

Карма: 7
Рейтинг сообщений: 12
Зарегистрирован: Вс дек 14, 2008 20:36:47
Сообщений: 1596
Откуда: SPb
Рейтинг сообщения: 0
Можно кусочек кода глянуть?
Наверное придераюсь :)) , приввыык работать с DEBOUNCE, и наплевать на длительное удержание, читал, что можно сие использовать при обработке прерывания, вот только не знаю как :))
Перенос задержки в начало ПП прерывания слегка улучшил ситуациюю. но в корне не изменил, может у меня кнопки не правильные :))

Ты прав, ГОТО-РЕТУРН, не работает!!! Проверил в др. месте, не задикларировав ПП, тоже получил вылет.! Недавно подсмотрел в чужом листинге :)) , а поскольку програмка получилась обширной, в некоторых случаях, поленился декларировать ПП, а где работает :)) , посмотрел, что у меня организован, безусловный переход на метку :))

И еще один вопросик, про грамотный синтаксис описание включения сторожевого таймера, в основном коввыряюсь в АСМе с Пиками, там все просто, ставлю бит конфигурации и делитель однойй строкой, поппробывал в АВР, для протеуса все катит, но на реальной меге8, МК безвозратно виснет, в фьюзах WTDON, не программирую. а пользую

Код:
$framesize = 64
$lib "lcd4.lbx"
Wdtcr = &B00001111


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 13:30:31 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Действительно, если просто обрабатывать прерывание (даже с антидребезгом), то есть повторные срабатывания. И как я понимаю, происходят они в момент отпускания кнопки. То бишь прерывание уже отработано, а кнопку мы держим, и в момент отпускания из-за дребезга оно снова идет обрабатываться.

Код:
$regfile = "attiny2313.dat"
$crystal = 4000000

'----------

Config Porta.1 = Output       ' светодиод
Config Pind.2 = Input         ' INT0
Const Debouncetime = 150      ' 150 мс
Led Alias Porta.1
Led = 0

'----------

Config Int0 = Falling
On Int0 Button
Enable Interrupts
Enable Int0

'----------

Do

Loop

'----------

Button:

Toggle Led
Waitms Debouncetime  ' антидребезг
Eifr = 64                     ' сбрасываем флаг

Return

End


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

Код:
Button:

Waitms Debouncetime           ' антидребезг
Toggle Led

While Pind.2 = 0                   ' если кнопка удерживается
Waitms Debouncetime
Wend                                  ' крутимся здесь

Eifr = 64                             ' сбрасываем флаг

Return


P.S. C удовольствием посмотрел бы другие решения. :)

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 13:46:42 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3379
Рейтинг сообщения: 0
saschai писал(а):
ГОТО-РЕТУРН, не работает!!!
Я бы удивился если бы работало. :shock:
Это создаст фатальные проблемы со стеком, что приведёт к краху программы! :kill:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 13:51:27 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
saschai писал(а):
И еще один вопросик, про грамотный синтаксис описание включения сторожевого таймера


Ну по регистру вроде все правильно... Хотя, в баскоме есть свои плюшки :)

Код:
Config Watchdog = 2048
Start Watchdog

Reset Watchdog


Но судя по симулятору пишется в регистр все так же.

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 13:57:55 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Мурик писал(а):
Это создаст фатальные проблемы со стеком, что приведёт к краху программы!


Ну оно и приводит к краху, так что все хорошо. :))

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 13:57:55 
Говорящий с текстолитом
Аватар пользователя

Карма: 7
Рейтинг сообщений: 12
Зарегистрирован: Вс дек 14, 2008 20:36:47
Сообщений: 1596
Откуда: SPb
Рейтинг сообщения: 0
Цитата:
Я не видел подобных решений, но в процессе экспериментов получилось, что полностью убирает ложные срабатывания только проверка на удержание кнопки, непосредственно перед очисткой флага прерывания.

Шаман, однако, вчера просмотрел кучу листингов такого не видел, реально работает, и работает на ура!
Благодарю!
сейчас попробую с таймером, протеус глотает все без проблем, а вот на реальном МК, виснет, причем малая часть кода исполняется :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 14:03:40 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Проверил сейчас в железе на тиньке, работает сторожевой таймер средствами баском. Пока сбрасывается - все нормально. Не сбрасывается - перезагружается. Все как и положено. :)

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 16, 2011 14:19:57 
Говорящий с текстолитом
Аватар пользователя

Карма: 7
Рейтинг сообщений: 12
Зарегистрирован: Вс дек 14, 2008 20:36:47
Сообщений: 1596
Откуда: SPb
Рейтинг сообщения: 0
Как пприятно напрячь, умного человека :)) , с тем, чем мучался два дня, решилось за пол часа :))
Огромная благодарность!
Действительно средствами Васика все работает и в железе и в Симе, просто вчера перерыл весь он-лайн и офф хелп и кроме как упоменание в командах асм WDR, ничего не нашел.


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

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


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

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


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

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


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