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

Обсуждаем контроллеры компании Atmel.
Ответить
Встал на лапы
Аватара пользователя
Сообщения: 139
Зарегистрирован: Вт май 03, 2011 10:13:12
Откуда: Россия, Татарстан

Сообщение Tankor »

koteika писал(а):Здравствуйте товарищи :beer: у меня есть пару вопросов по режиму энергосбережения Idle:
из периферии у меня включены только таймер и внешние прерывания, для наименьшего потребления мне необходимо перед уходом в idle отключить таймер и нужно-ли отключать остальные плюшки типа АЦП, компаратор и т.д.? контроллер мега8
Может для экономии использовать Power-save Mode? Просыпается от timer2 (необходим внешний кварц и асинхронный режим) и int0.
Реклама
Встал на лапы
Сообщения: 147
Зарегистрирован: Пт ноя 27, 2009 18:24:25
Откуда: Харьков

Сообщение koteika »

просыпается от INT1 нисходящим фронтом, и из Powerdown выходить не хочет :( походу контроллер бракованный - брал на али 10шт по бросовой цене. я первый раз используя режимы энергосбережения может что-то делаю не правильно
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

Даташит - наше всё.

Изображение

Проще и понятнее некуда: видно что молотит и от чего просыпается.
koteika писал(а):просыпается от INT1 нисходящим фронтом, и из Powerdown выходить не хочет
Выход из PowerDown внешними прерываниями возможен только по уровню. Не по фронту, не по спаду, а именно по уровню (изменение уровня или низкий уровень).
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Встал на лапы
Сообщения: 147
Зарегистрирован: Пт ноя 27, 2009 18:24:25
Откуда: Харьков

Сообщение koteika »

edm2007 писал(а): Выход из PowerDown внешними прерываниями возможен только по уровню. Не по фронту, не по спаду, а именно по уровню (изменение уровня или низкий уровень).
а можно поподробней, и как записать в конфигурации прерывания вместо Falling?
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

Syntax

CONFIG INTx = state

state:

LOW LEVEL to generate an interrupt while the pin is held low. Holding the pin low will generate an interrupt over and over again.

FALLING to generate an interrupt on the falling edge.

RISING to generate an interrupt on the rising edge.

CHANGE to generate an interrupt on the change of the edge. Not all microprocessors support CHANGE.
В баскоме шикарнейший хелп.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Реклама
Встал на лапы
Сообщения: 147
Зарегистрирован: Пт ноя 27, 2009 18:24:25
Откуда: Харьков

Сообщение koteika »

спасибо, я с английским не дружу( по этому не полез в него. я так понял мне подойдет LOW level?
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

Именно так. Но учтите, это прерывание генерируется все время, пока удерживается низкий уровень, а его флаг INTF всегда равен 0.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Встал на лапы
Сообщения: 147
Зарегистрирован: Пт ноя 27, 2009 18:24:25
Откуда: Харьков

Сообщение koteika »

спасибо, огромное :beer: с тактовой кнопкой все работает именно так как нужно, надеюсь реже придется заряжать литиевый акб
Контактная информация:
Hot
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн май 25, 2015 21:29:15
Откуда: Владимир

Сообщение Hot »

а можно мне вопросик..
имеется переменная типа word и две переменные byte(12) и(34)
как запихнуть обе byte в word по порядку-чтобы в word было 1234

моск уже пухнет :?
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 378
Зарегистрирован: Сб сен 19, 2009 07:02:19

Сообщение shindax »

Hot писал(а):...имеется переменная типа word и две переменные byte(12) и(34)
как запихнуть обе byte в word по порядку-чтобы в word было 1234...
Так не прокатывает, что-ли? :

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

var = 12 * 100 + 34
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2310
Зарегистрирован: Чт ноя 15, 2012 20:47:59
Откуда: Крымск

Сообщение Adagumer »

Мне кажется oмerlay надо пользоваться.

Dim Температура_EEP as Word
Dim Температура_eep_0 As Byte At Температура_eep + 0 Overlay
Dim Температура_eep_1 As Byte At Температура_eep + 1 Overlay

Хотя могу и ошибаться. :(
Hot
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн май 25, 2015 21:29:15
Откуда: Владимир

Сообщение Hot »

shindax писал(а):
Hot писал(а):...имеется переменная типа word и две переменные byte(12) и(34)
как запихнуть обе byte в word по порядку-чтобы в word было 1234...
Так не прокатывает, что-ли? :

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

var = 12 * 100 + 34
нет, нужно иммено неизменные переменные внутри другой.

это динамич. индикация-там из Word вытаскивают по одной на экран
Hot
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн май 25, 2015 21:29:15
Откуда: Владимир

Сообщение Hot »

Adagumer писал(а):Мне кажется oмerlay надо пользоваться.

Dim Температура_EEP as Word
Dim Температура_eep_0 As Byte At Температура_eep + 0 Overlay
Dim Температура_eep_1 As Byte At Температура_eep + 1 Overlay

Хотя могу и ошибаться. :(

попробую
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2310
Зарегистрирован: Чт ноя 15, 2012 20:47:59
Откуда: Крымск

Сообщение Adagumer »

Hot писал(а): имеется переменная типа word и две переменные byte(12) и(34)
как запихнуть обе byte в word по порядку-чтобы в word было 1234
OVERLAY вряд ли сможет сложить 12 и 34 дабы получилось 1234.
Он сложит бинарное значение одного числа и за пихнёт его в старший байт WORDа
и бинарное значение другого числа запихнув его в младший байт. Получившееся
число в WORDе будет совсем не то которое мы видим соединении десятичных
чисел на бумаге.
Hot
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн май 25, 2015 21:29:15
Откуда: Владимир

Сообщение Hot »

Adagumer писал(а):
Hot писал(а): имеется переменная типа word и две переменные byte(12) и(34)
как запихнуть обе byte в word по порядку-чтобы в word было 1234
OVERLAY вряд ли сможет сложить 12 и 34 дабы получилось 1234.
Он сложит бинарное значение одного числа и за пихнёт его в старший байт WORDа
и бинарное значение другого числа запихнув его в младший байт. Получившееся
число в WORDе будет совсем не то которое мы видим соединении десятичных
чисел на бумаге.
:beer:
хм...а как?
или как записать данные в тот же word по порядку- в старший свои данные , младший-свои
Мудрый кот
Сообщения: 1706
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

а я не мучаюсь-делаю так
DIM K AS WORD
DIM KH AS BYTE
DIM KL AS BYTE
..............
K=KH*256
K=K+KL
...................
ЕСЛИ НАДО ОБРАТНО РАЗЛОЖИТЬ ТО

Kh = High(K)
KL = Low(K)
Hot
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн май 25, 2015 21:29:15
Откуда: Владимир

Сообщение Hot »

Novice user писал(а):а я не мучаюсь-делаю так
DIM K AS WORD
DIM KH AS BYTE
DIM KL AS BYTE
..............
K=KH*256
K=K+KL
...................
ЕСЛИ НАДО ОБРАТНО РАЗЛОЖИТЬ ТО

Kh = High(K)
KL = Low(K)
неа, на выходе каша

вот здесь код,

как вместо постоянной W использовать две переменной byte

http://avrproject.ru/publ/kak_podkljuch ... mi/2-1-0-9
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2310
Зарегистрирован: Чт ноя 15, 2012 20:47:59
Откуда: Крымск

Сообщение Adagumer »

Ну в том коде 4 знака ворда делят отдельные знаки для динамической индикации на LED,
измените код дабы выводилось только два знака и покажите их в первых двух разрядах,
потом возьмите другую переменную и так-же покажите её во вторых двух разрядах.
Как там всё делится хорошо расписано.
Встал на лапы
Аватара пользователя
Сообщения: 139
Зарегистрирован: Вт май 03, 2011 10:13:12
Откуда: Россия, Татарстан

Сообщение Tankor »

А нет ли у кого расчёта восхода/захода солнца и луны на bascom?
Hot
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн май 25, 2015 21:29:15
Откуда: Владимир

Сообщение Hot »

Adagumer писал(а):Ну в том коде 4 знака ворда делят отдельные знаки для динамической индикации на LED,
измените код дабы выводилось только два знака и покажите их в первых двух разрядах,
потом возьмите другую переменную и так-же покажите её во вторых двух разрядах.
Как там всё делится хорошо расписано.
:idea: Ваша правда!!! почему мне это не пришло в голову!?

премного благодарен!!
Ответить

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