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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
raf65
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс сен 27, 2009 20:49:06
Откуда: Советск

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

Сообщение raf65 »

на таких частотах, лучше использовать измерение периода, хотя без текста программы можно много гадать
Аватара пользователя
bagira
Потрогал лапой паяльник
Сообщения: 362
Зарегистрирован: Чт фев 07, 2008 23:00:46
Откуда: Penza

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

Сообщение bagira »

Доброго времени суток мастерам!
Впервые подключаю Arduino Mega 2560. Заливаю по ICSP китайским USB-программатором, прямо из БаскомАВР.
Пробный тест: светодиодик L не моргает (просто потушен), а вместо логических уровней 0/1, на выводах 2,4-2,5 Вольт.
Вот кусочек текста:
$regfile = "m2560def.dat"
$crystal = 16000000
$hwstack = 40
$swstack = 16
$framesize = 32
Config Porth = Output
Config Portb = Output
Portb.7 = 1
Do
Porth = &B11110000
Wait 1
Porth = &B00001111
Wait 1
Portb.7 = 1
Wait 1
Portb.7 = 0
Wait 1
Loop
End
До этого пробовал МЕГУ 328 - всё происходило нормально (и шилось и моргало и уровни были 0/5В).
Буфер чтения и записи на первый взгляд совпадают, ошибок не выдаёт. В эмуляторе Баскома - работает правильно.
Напряжение питания не "просажено", внешних нагрузок от платы не питаю. Все порты свободные (просто тест на пустой плате).
В чём косяк? Ткните мордой...

Разобрался!
Дело было в установке фьюзов...
Дело в том, что поставка кристалла осуществляется в конфигурации:
Fusebit High M -> 1: Reset vector is $ 0000 Тоесть, при подаче питания, сбросе, рестарте после прошивки, старт будет произведён с адреса лежащего в нулевой ячейке...
Производитель ардуины (как конечного устройства) снабжает свой прибор ПО, которое оговаривает загрузку кода через USB, а это подразумевает наличие внутри кристалла некой примитивной операционной системы в виде начального загрузчика. Поэтому производитель ставит этот фьюз в положение:
Fusebit High M -> 0: Reset vector is bootloader Тоесть при рестарте начальное управление получит загрузчик, и только он потом отдаст "бразды правления" самой программе.
А так как я прошиваю кристалл программой напрямую (через ICSP ), то у меня нет загрузчика, и начинаться программа должна с нулевого вектора.
То есть этот фьюз должен быть установлен в положение: Fusebit High M -> 1: Reset vector is $ 0000.
R4FAAA
Земляки: FOX_CRAFT, Паятель
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

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

Сообщение Dnepr_1186 »

на таких частотах, лучше использовать измерение периода, хотя без текста программы можно много гадать

Таймер в режиме захвата. На всякий случай привожу весь код. Мало ли что-то в нем может влиять на точность измерения.
Вложения
test taho168.rar
(2.7 КБ) 265 скачиваний
akl
Друг Кота
Сообщения: 4443
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

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

Сообщение akl »

Получается, что частота тактирования выше и составляет грубо 115/112*8'000'000=8'214'285 и соответственно

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

Const Tt = 0.000007791

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

  Period = Timcount * Tt                                    ' определяем период
 F11 = 1 / Period                                           ' считаем частоту

По мне, гораздо быстрее сразу считать частоту

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

 F11 = crystal/64/Timcount     ' считаем частоту

Лучше, всё равно, поставить кварц.
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

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

Сообщение Dnepr_1186 »

Попробовал скорректировать Tt. Частота подгоняется но на больших значениях начинает выбегать вперед на пару герц. Я так понимаю в программе косяков нет? И дело скорее всего в тактировании генератора?
Аватара пользователя
jast321
Говорящий с текстолитом
Сообщения: 1560
Зарегистрирован: Вт апр 28, 2015 08:19:17
Откуда: С краешку. Северо-Запад. Калининград

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

Сообщение jast321 »

Удалил.
OLEGKARAS
Встал на лапы
Сообщения: 97
Зарегистрирован: Ср июл 10, 2013 21:30:16

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

Сообщение OLEGKARAS »

Подскажите как записать считанный из ds18b20 серийный номер в память МК и потом считать из памяти?
Аватара пользователя
ev3658
Слесарь-программист
Сообщения: 341
Зарегистрирован: Вт сен 11, 2012 23:08:28
Откуда: город Кстово Нижегородская обл.

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

Сообщение ev3658 »

Долго решался, примерно несколько лет и всё-же я это сделал:
СпойлерИзображение
Изображение
Аватара пользователя
raf65
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс сен 27, 2009 20:49:06
Откуда: Советск

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

Сообщение raf65 »

а я ещё в 2012 его купил за 89
Аватара пользователя
ev3658
Слесарь-программист
Сообщения: 341
Зарегистрирован: Вт сен 11, 2012 23:08:28
Откуда: город Кстово Нижегородская обл.

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

Сообщение ev3658 »

Там комиссию взяли, через PayPal 2,69 евро, а если через банк, то банк берёт 15 евро.
Вообщем я счастлив и моя совесть чиста )))
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

как записать считанный из ds18b20 серийный номер в память МК

На соседнем форуме есть.
Нужно войти под своим аккаунтом.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
OLEGKARAS
Встал на лапы
Сообщения: 97
Зарегистрирован: Ср июл 10, 2013 21:30:16

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

Сообщение OLEGKARAS »

[uquote="OLEGKARAS",url="/forum/viewtopic.php?p=3233010#p3233010"]как записать считанный из ds18b20 серийный номер в память МК

На соседнем форуме есть.
Нужно войти под своим аккаунтом.[/uquote]

Спасибо за пример .
Как правильно записать такое условие ?
If (Menu >= 21 And Menu <= 29 Or Menu >= 210 And Menu <= 290) Or Menu = 0 Then
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

select case Menu
case 21 to 29: gosub a1
case 210 to 290: gosub a1
case 0: gosub a1
end select
Все делают ошибки, только мудрецы - новые, а дураки - старые.
OLEGKARAS
Встал на лапы
Сообщения: 97
Зарегистрирован: Ср июл 10, 2013 21:30:16

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

Сообщение OLEGKARAS »

Спасибо.
В баском есть кнопка отменить , где можно увеличить количество отмен ?
goldskif
Открыл глаза
Сообщения: 68
Зарегистрирован: Пт окт 25, 2013 17:13:03

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

Сообщение goldskif »

А у мну вот такой вопрос. Делаю часы на ds1307 & attiny2313. Как в баскомавре можно реализовать код с двумя кнопками Mode & Set. Жмешь моде - кнопкой сет устанавливаешь часы. Жмешь опять кнопку моде - устанавливаешь минуты. Ну и так далее день, месяц, год.
Обычный кусок кода у меня есть, где одной нопкой часы, а второй минуты устанавливаются.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Как вариант - ТАК. Вариант очень простой, но работающий как часы. Хоть и писался очень давно. Код прокомментирован очень подробно, потому проблем возникнуть не должно. В добавок ко всему, проект протеус тоже приложен. В этих часах кнопка "MODE" в рабочем режиме переводит часы в режим отображения даты (пока удерживается), кнопка "SET" переводит в режим настроек, где уже "MODE" меняет по очереди параметры. :tea:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

двумя кнопками Mode & Set.

http://bascomavr.3bb.ru/viewtopic.php?id=329 Здесь посмотрите.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
goldskif
Открыл глаза
Сообщения: 68
Зарегистрирован: Пт окт 25, 2013 17:13:03

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

Сообщение goldskif »

Как вариант - ТАК. Вариант очень простой, но работающий как часы. Хоть и писался очень давно. Код прокомментирован очень подробно, потому проблем возникнуть не должно. В добавок ко всему, проект протеус тоже приложен. В этих часах кнопка "MODE" в рабочем режиме переводит часы в режим отображения даты (пока удерживается), кнопка "SET" переводит в режим настроек, где уже "MODE" меняет по очереди параметры. :tea:

Респект и уважуха! Я вас всех тут люблю! То, что надо, тоько адаптирую под газоразряд.
Всю ночь кодил. Вот докодился..
А как покороче сделать проверку на количество дней месяца при вводе? Те примеры, что видел, больше килобайта жрут. Пока останоовился на тупом варианте на кнопке.

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

If _month = 1 AND _day > 31 Then _day = 1
If _month = 2 AND _day > 29 Then _day = 1
If _month = 3 AND _day > 30 Then _day = 1
If _month = 4 AND _day > 30 Then _day = 1
If _month = 5 AND _day > 31 Then _day = 1

И так на каждый месяц всего 12 строк

Можно это как-нибудь оптимизировать? А то не влезает уже чуть.
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Тут посмотрите.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

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

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

так не проще?
if _day > 28 and _month = 2 then _day = 1
if _day > 30 then
if _month = 4 or _month = 6 or _month = 9 or _month = 11 then _day = 1
end if
if _day > 31 then _day = 1
Ответить

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