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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
dimon-790
Мучитель микросхем
Сообщения: 442
Зарегистрирован: Пт авг 29, 2008 09:22:37
Контактная информация:

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

Сообщение dimon-790 »

Напруга отслеживается по adc.6 . Переназначить можно на любой свободный ацп . По остальным ногам не скажу лень весь исходник переваривать , давай схему может придумаем чтонить .
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
zx-tv
Родился
Сообщения: 8
Зарегистрирован: Чт сен 29, 2011 12:50:01

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

Сообщение zx-tv »

проблему решил так код: сonfig Adc = Single , Prescaler = Auto , Reference = AVCC
всем спасибо.
Аватара пользователя
rus084
Друг Кота
Сообщения: 3443
Зарегистрирован: Вт июн 28, 2011 12:11:50
Откуда: Россия,Ставропольский край, ст.Бекешевская
Контактная информация:

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

Сообщение rus084 »

как перевести порт вывода в Z-состояние?
переназначить на вход и все?
а как узнать назначен ли порт или нет?
Меня зовут Димон .
Изображение
Изображение
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

Привет всем.
Есть проект. атмега8, часы DS1307, будильник, два DS18B20 на разных входах.
Проблема: если размер стека по умолчанию (32), при чтении первого датчика температуры протеус сходит с ума (на индикаторе 00.0 и самопроизвольный переход в настройки времени. В железе так же, только перехода в настройки нет.
Если размер стека увеличить до 40, в протеусе все нормально, но после прошивки атмега не запускается вовсе. Баском говорит, что 47% ресурсов занято. И что это за хрень? Как это побеждать?
Аватара пользователя
rus084
Друг Кота
Сообщения: 3443
Зарегистрирован: Вт июн 28, 2011 12:11:50
Откуда: Россия,Ставропольский край, ст.Бекешевская
Контактная информация:

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

Сообщение rus084 »

Изображение
вот так хочу сделать .

получается чтото типа
if getadc(1) > 511 or getadc(3)< 480 then
config portb.4 = output
if getadc(1) > 511 and getadc(3)< 480 then
if portb.4=0 then
portb.4=1
else
portb.4=0
endif
else
if getadc(1)>511 then
portb.4=0
else
if getadc(3)<480 then
portb.4=1
end if
endif
else
config portb.4=input
end if

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

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

Сообщение kip96 »

это что-ж за извращения такие, что в такой простой задаче стенка в меге 8 на часы не хватает? С таким же успехом задам вопрос -
" я еду по асфальту в лыжи обутый, чи лыжу не едут, чи я .....й"
В смысле, без кода, помочь только диагнозом, либо к экстросенсам. Без обид.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

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

Сообщение Dnepr_1186 »

Парни подкскажите. Написал прошивку тахомтера. Но как сделать чтобы обороты округлялись? С точностью 50об\мин. Чтобы поазвало не 2323об а 2300? Файлы пректа и протеуса прилагаю
Вложения
tahometr.rar
(28.55 КБ) 155 скачиваний
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

Dnepr_1186 писал(а):как сделать чтобы обороты округлялись?

Есть команда в Bascom

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

Fusing Форматирует переменную типа Single согласно формату строки, при необходимости выполняет округление.

 Dim Xval as Single
 Dim Pstring as String*4
 Xval = 16.379
 Pstring = Fusing(Xval, "format")
 Pstring = "16.4"
pavel1979
Мучитель микросхем
Сообщения: 494
Зарегистрирован: Пн авг 12, 2013 19:07:47
Откуда: башкирия мелеуз

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

Сообщение pavel1979 »

раздели на 50 а потом умножь
F=F/50
F=F*50
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

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

Сообщение serg_svd »

pavel1979 писал(а):раздели на 50 а потом умножь
F=F/50
F=F*50

Самый простой способ, но даст ошибку при целочисленном делении как раз на эти самые 50 (оборотов), когда число оборотов будет в диапазоне хх01...хх49.
Но зато меньше мельтишение цифр будет.
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

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

Сообщение Dnepr_1186 »

вот как раз таки от мельтешения и надо было избавится. Проверил, все работает. Спасибо!
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

kip96, обид нет. Вопрос был наверное не корректно сформулирован. Интересовала особенность работы со стеком в баскоме. Разобрался сам. Оказалось, что ничего особенного нет. Просто компилятор не проверяет использование стека. Дальше все стало проще. Обычная не корректная рекурсия. Типичная ошибка при извращениях в алгоритмах.
koteika
Встал на лапы
Сообщения: 147
Зарегистрирован: Пт ноя 27, 2009 18:24:25
Откуда: Харьков
Контактная информация:

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

Сообщение koteika »

Уважаемые гуру и не очень :) подскажите, какой командой в Baskom arv можно инвертировать значение на лапке контроллера? :beer:
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

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

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

Сообщение koteika »

респект :beer: лови плюс :))
1kostik1976
Родился
Сообщения: 3
Зарегистрирован: Чт янв 09, 2014 19:29:08

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

Сообщение 1kostik1976 »

Привет всем. Начинаю осваивать баском и.... Проблема вот в чем. Есть тини 461 и такая прога :)
$regfile = "attiny461.dat"
$crystal = 4000000
Config Portb.2 = Output
Do
Portb.2 = 1
Waitms 2
Portb.2 = 0
Waitms 2
Loop
End
В тиньку заливаю через чип-прог 40 (контроллер вставляю в панельку программатора). При подаче питания на контроллер (уже в макетке) длительность импульса и паузы по 8 миллисекунд. Контроллер работает от внутреннего генератора, хотя фьюзами я установил тактовую от кварца (на макетке 4МГц). Подскажите, где я ошибся. И еще вопрос-откуда берется эта строчка:
$regfile = "attiny461.dat"
Как ее сгенерировать, найти (не знаю как спросить...) в баскоме.
Пасиба.
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

Сообщение aleksandr-zh »

И еще вопрос-откуда берется эта строчка:
$regfile = "attiny461.dat"

это команда компилятору, которая указывает ему модель используемого МК.
он будет использовать разные выводы, разные регистры именно под данный МК

сделайте скриншот фузов, так понятнее будет что да как
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

Похоже на тактирование от внутреннего RC генератора. Он по умолчанию 1 МГц. Как раз 8 мс и будет.
pavel1979
Мучитель микросхем
Сообщения: 494
Зарегистрирован: Пн авг 12, 2013 19:07:47
Откуда: башкирия мелеуз

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

Сообщение pavel1979 »

легко проверить-отпаять кварц,если все работает-работает от внутреннего генератора
1kostik1976
Родился
Сообщения: 3
Зарегистрирован: Чт янв 09, 2014 19:29:08

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

Сообщение 1kostik1976 »

Фузы выставлял так...
CKDIV8
SUT1
CKSEL1
SPIEN
на эти поставил "галочки",
на остальные "галочки" не ставил.
Кварц не работает-на нем нет генерации...А хочется чтоб работал...
Ответить

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