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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Max_Payne_EN
Родился
Сообщения: 12
Зарегистрирован: Ср фев 06, 2013 14:20:25
Откуда: Астрахань
Контактная информация:

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

Сообщение Max_Payne_EN »

kip96 писал(а):И всё же, начните с даташита!
У тини 13 нет 4 Мгц! Есть один генератор на 9.6Мгц и делитель на 8 (можно получить 1.2 Мгц),Ещё собака на 128кГц (что-то вроде этого, сам уже не помню)
Как Вы таймеры будете изучать? Надо почитать сначала, какие таймеры есть. А может собаку использовать. У неё собственный не зависимый таймер. В старых версиях Баскома нельзя было выставить большой делитель на собаку, хотя Тини 13 позволяла. Благо Баском позволяет напрямую обращаться к регистрам. Так и выкрутился из положения.

В баскоме стоит по умолчанию для attiny13. :dont_know:

Сделал пока так:

Спойлер

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

$regfile = "attiny13.dat"
$crystal = 4000000

$hwstack = 0
$swstack = 0
$framesize = 0

Config Portb.1 = Output : Set Pinb.4
Config Portb.3 = Output
Config Portb.0 = Output
Config Portb.4 = Input

Dim I As Integer
Dim K As Integer
K = 0
Nach:
Do
If Pinb.4 = 0 Then
Portb.3 = 1
   If Portb.1 = 0 Then
      Portb.1 = 1
      Goto Nach
   Else
     If K = 0 Then
      Waitms 100
      Portb.0 = 1
      Wait 2
      Portb.0 = 0
      K = 1
      Goto Nach
     End If
   End If
  I = 0
  While I < 10
     Waitms 400
     If Pinb.4 = 1 Then
     Portb.3 = 0
         If Portb.0 = 1 Then
            Portb.0 = 0
         Else
            Portb.1 = 0
            K = 0
         End If
       Goto Nach
     End If
     I = I + 1
  Wend
  If Pinb.4 = 0 Then
     Portb.0 = 1
     Portb.3 = 1
  End If
Else
Portb.3 = 0
End If
Loop

Return


Работает как и хотелось. Даташит перечитал.
Спасибо за наводку, буду про собаку читать.
Аватара пользователя
Max_Payne_EN
Родился
Сообщения: 12
Зарегистрирован: Ср фев 06, 2013 14:20:25
Откуда: Астрахань
Контактная информация:

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

Сообщение Max_Payne_EN »

JeysonRou писал(а):Да только как я заметил Bascom вычурная программа ибо чот сколько я не искал по поводу режимов Powerdown, Poversave. Там ничего нет :dont_know: :dont_know: :dont_know:
И как прикажете работать от батарейки???

Тут про спящий режим
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

Опять же. смотрим даташит, какой энергосберегающий режим ваш контролер поддерживает, и просто пишите команду.
К примеру на тини 2313 можно написать Standby, и на тини13 можно написать Standby. Но в первом случае она сработает, во втором нет, потому что её там нет по определению! Или ATmega8535 имеет Poversave, а ATmega8515 нет.


.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

Max_Payne_EN писал(а):
Даташит перечитал.

Поищите А.В. Евстифеев. Всё очень доступно. через него я начал напрямую включать режимы контролера
Все делают ошибки, только мудрецы - новые, а дураки - старые.
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

ATmega8535 у меня вот 2 валяется. Они наверное уже очень сильно устарели. Не знаю куда прилепить.
JeysonRou
Открыл глаза
Сообщения: 46
Зарегистрирован: Ср янв 16, 2013 06:51:09
Откуда: Сам не знаю...

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

Сообщение JeysonRou »

Max_Payne_EN писал(а):
JeysonRou писал(а):Да только как я заметил Bascom вычурная программа ибо чот сколько я не искал по поводу режимов Powerdown, Poversave. Там ничего нет :dont_know: :dont_know: :dont_know:
И как прикажете работать от батарейки???

Тут про спящий режим


Да всето это я уже обнаружил. А вот касательно работы с мегой8 и ее ражима Powersave когда работает только Т2 в асинхронном режиме.
Как усыпить ее по падению напрежения это то я сделал, а вот когда мы ей обратно возвращаем 5 вольт она не просыпается)))
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Вот блин.. Протеус вроде свежий, решил прогу написать для тини 13 а он при настройке ругается на hw стек. Что за ерунда???
Аватара пользователя
Max_Payne_EN
Родился
Сообщения: 12
Зарегистрирован: Ср фев 06, 2013 14:20:25
Откуда: Астрахань
Контактная информация:

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

Сообщение Max_Payne_EN »

осторожно! леоныч!!! писал(а):Вот блин.. Протеус вроде свежий, решил прогу написать для тини 13 а он при настройке ругается на hw стек. Что за ерунда???

Что конкретно пишет?
JeysonRou
Открыл глаза
Сообщения: 46
Зарегистрирован: Ср янв 16, 2013 06:51:09
Откуда: Сам не знаю...

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

Сообщение JeysonRou »

Я так понимаю вы сами все не знаете конкретно как в баскоме управлять мегой8 в плане режимов энергосбережения...
Ибо я попробывал ту програмку но она проблемнная ибо когда назначаются входы выходы начинаются глюки с уровнями. Тоесть кнопки сами нажимаются. Не спасает даже выделение конкретных портов :dont_know: :dont_know: :dont_know:
Суть какбы в том чтобы она работала по питанию... Когда напряжение падает допустим до 3вольт мы уходим в режим сна, когда возобновляются 5вольт мы просыпаемся и продолжаем нормально работать.
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Вот тут посмотрите, может поможет.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Аватара пользователя
константин_KoSS_89
Вымогатель припоя
Сообщения: 602
Зарегистрирован: Пн дек 29, 2008 01:40:28
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)

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

Сообщение константин_KoSS_89 »

TO JeysonRou
Я сделал на мега8 и модуле сим300 охранку и по разным причинам нужно питать мегу от пяти вольт, случай похож на ваш, поставил dc-dc преобразователь с упровляющим входом и паралельно входу и выходу питания преобразователя диод. тоесть по внешнему прерыванию просыпаюсь, включаю преобразователь и нормально работаю при пяти вольтах, по отключению вырубаю всё, что можно, в конце вырубаю dc-dc и засыпаю... так работоспособность сохраняется от 2,6V до 4.7V (правда у лития зашита после 3,2...3,5В сробатывает) без изменений в работе прибора.
JeysonRou
Открыл глаза
Сообщения: 46
Зарегистрирован: Ср янв 16, 2013 06:51:09
Откуда: Сам не знаю...

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

Сообщение JeysonRou »

max50 писал(а):Вот тут посмотрите, может поможет.

Ну уже немного ближе) :)
Вобще правда на СИ в 6 студии я это зделал за пять минут)
Но нужно на басе это реализовать.
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

JeysonRou писал(а):Я так понимаю вы сами все не знаете конкретно как в баскоме управлять мегой8

JeysonRou, Вы, похоже, вообще не понимаете. В Баскоме управлять энергосбережением просто! Пишите, к примеру Powersave, и программа, дойдя до этой команды, усыпит камень. Всё! По питанию - монитор питания в Меге включите. Или, как вариант, запитывайте Мегу через транзисторный ключ, на базу которого повесьте стабилитрон, на нужное Вам напряжение.
Да, и пишите, пожалуйста, без ошибок.
JeysonRou
Открыл глаза
Сообщения: 46
Зарегистрирован: Ср янв 16, 2013 06:51:09
Откуда: Сам не знаю...

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

Сообщение JeysonRou »

kip96 писал(а):
JeysonRou писал(а):Я так понимаю вы сами все не знаете конкретно как в баскоме управлять мегой8

JeysonRou, Вы, похоже, вообще не понимаете. В Баскоме управлять энергосбережением просто! Пишите, к примеру Powersave, и программа, дойдя до этой команды, усыпит камень. Всё! По питанию - монитор питания в Меге включите. Или, как вариант, запитывайте Мегу через транзисторный ключ, на базу которого повесьте стабилитрон, на нужное Вам напряжение.
Да, и пишите, пожалуйста, без ошибок.

Без ошибок некак. Я Австриец с русским у меня средне. :)
С Powersave уже давно разобрался проблемма не в этом. Я насколько понял внутри аппаратно у них это не реализуется (в Баскоме).
Ибо на си это можно все сделать внутри системно.
Тоеть при активном Т2 При подачи питания в 5вольт мега8 просыпается и работает до тех пор пока напряжение не падает до 3 вольт (Питание от батарейки CR2032). Тогда опять благополучно выполняем команду Powersave.
Как это в Bascom прописать черт его знает...
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

У Меги8 Т2 должен настроен в асинхронном режиме.
самое простое, это повесить ацп питание. По прерыванию Т2 мерять напругу, после чего принимать решение. Или вообще -через делитель напряжения на ногу. Если на ней 0, то уходим в Powersave. Далее, по прерывнию, смотрим состояние ноги. Если 1, то просыпаемся.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
JeysonRou
Открыл глаза
Сообщения: 46
Зарегистрирован: Ср янв 16, 2013 06:51:09
Откуда: Сам не знаю...

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

Сообщение JeysonRou »

kip96 писал(а):У Меги8 Т2 должен настроен в асинхронном режиме.
самое простое, это повесить ацп питание. По прерыванию Т2 мерять напругу, после чего принимать решение. Или вообще -через делитель напряжения на ногу. Если на ней 0, то уходим в Powersave. Далее, по прерывнию, смотрим состояние ноги. Если 1, то просыпаемся.

Почти правильно но там еще много нюансов. Но уже все было сказано поддержкой Баскомов что программа не умеет этого как не крути надо на асме дописывать какие биты юзать. Ибо таймер2 разложить в мульти режим не получается некак чтобы он считал время и оновременно считывал состояние Vcc (кстати Т2 поддерживает до трёх действий последовательно)
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

Ну как это не может!?

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

Config Clock = Soft , Gosub = Sectic 
Config Timer2 = Timer , Prescale = 128 , Clear Timer = 0    '
Enable Interrupts                                           '‘Разрешаем все прерывания
Enable Timer2

Или на крайняк

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

on timer2 sectic

И делайте в "sectic" что угодно! По переполнению Т2, контролер проснётся, и отработает подпрограмму! В чём проблемма не пойму?
Все делают ошибки, только мудрецы - новые, а дураки - старые.
JeysonRou
Открыл глаза
Сообщения: 46
Зарегистрирован: Ср янв 16, 2013 06:51:09
Откуда: Сам не знаю...

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

Сообщение JeysonRou »

О эврика :idea: свершилось мне сказали что к чему))) Спасибо)
Баскомы явно вчера спали или что, ибо поддежка мне толком нечего не обьяснила)
Я просто привык к 6 студии и мне малосьть трудно разобратся в баскоме.
Еще раз спасибо за помощь :beer:
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Ребят подскажите в чем дело. Применяю attiny2313. Пытаюсь поставить порт А как выход но компилятор игнорит конфигурирование порта. Снимается выделение с надписи и не компилируется. По идее на порт А подключается кварц но я его не использую. Я работаю с внутренним генератором...
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

осторожно! леоныч!!! писал(а):Снимается выделение с надписи и не компилируется.

Про выделения что то я не понял? Что Bascom при компиляции то говорит?
Ответить

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