BASCOM AVR в вопросах и ответах
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
Напруга отслеживается по adc.6 . Переназначить можно на любой свободный ацп . По остальным ногам не скажу лень весь исходник переваривать , давай схему может придумаем чтонить .
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
- Реклама
- Сообщения: 8
- Зарегистрирован: Чт сен 29, 2011 12:50:01
проблему решил так код: сonfig Adc = Single , Prescaler = Auto , Reference = AVCC
всем спасибо.
всем спасибо.
- Сообщения: 3443
- Зарегистрирован: Вт июн 28, 2011 12:11:50
- Откуда: Россия,Ставропольский край, ст.Бекешевская
как перевести порт вывода в Z-состояние?
переназначить на вход и все?
а как узнать назначен ли порт или нет?
переназначить на вход и все?
а как узнать назначен ли порт или нет?
Привет всем.
Есть проект. атмега8, часы DS1307, будильник, два DS18B20 на разных входах.
Проблема: если размер стека по умолчанию (32), при чтении первого датчика температуры протеус сходит с ума (на индикаторе 00.0 и самопроизвольный переход в настройки времени. В железе так же, только перехода в настройки нет.
Если размер стека увеличить до 40, в протеусе все нормально, но после прошивки атмега не запускается вовсе. Баском говорит, что 47% ресурсов занято. И что это за хрень? Как это побеждать?
Есть проект. атмега8, часы DS1307, будильник, два DS18B20 на разных входах.
Проблема: если размер стека по умолчанию (32), при чтении первого датчика температуры протеус сходит с ума (на индикаторе 00.0 и самопроизвольный переход в настройки времени. В железе так же, только перехода в настройки нет.
Если размер стека увеличить до 40, в протеусе все нормально, но после прошивки атмега не запускается вовсе. Баском говорит, что 47% ресурсов занято. И что это за хрень? Как это побеждать?
- Сообщения: 3443
- Зарегистрирован: Вт июн 28, 2011 12:11:50
- Откуда: Россия,Ставропольский край, ст.Бекешевская
вот так хочу сделать .
получается чтото типа
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
правильно?
- Реклама
это что-ж за извращения такие, что в такой простой задаче стенка в меге 8 на часы не хватает? С таким же успехом задам вопрос -
" я еду по асфальту в лыжи обутый, чи лыжу не едут, чи я .....й"
В смысле, без кода, помочь только диагнозом, либо к экстросенсам. Без обид.
" я еду по асфальту в лыжи обутый, чи лыжу не едут, чи я .....й"
В смысле, без кода, помочь только диагнозом, либо к экстросенсам. Без обид.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Парни подкскажите. Написал прошивку тахомтера. Но как сделать чтобы обороты округлялись? С точностью 50об\мин. Чтобы поазвало не 2323об а 2300? Файлы пректа и протеуса прилагаю
- Вложения
-
- tahometr.rar
- (28.55 КБ) 156 скачиваний
Есть команда в BascomDnepr_1186 писал(а):как сделать чтобы обороты округлялись?
Код: Выделить всё
Fusing Форматирует переменную типа Single согласно формату строки, при необходимости выполняет округление.
Dim Xval as Single
Dim Pstring as String*4
Xval = 16.379
Pstring = Fusing(Xval, "format")
Pstring = "16.4"Самый простой способ, но даст ошибку при целочисленном делении как раз на эти самые 50 (оборотов), когда число оборотов будет в диапазоне хх01...хх49.pavel1979 писал(а):раздели на 50 а потом умножь
F=F/50
F=F*50
Но зато меньше мельтишение цифр будет.
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
вот как раз таки от мельтешения и надо было избавится. Проверил, все работает. Спасибо!
kip96, обид нет. Вопрос был наверное не корректно сформулирован. Интересовала особенность работы со стеком в баскоме. Разобрался сам. Оказалось, что ничего особенного нет. Просто компилятор не проверяет использование стека. Дальше все стало проще. Обычная не корректная рекурсия. Типичная ошибка при извращениях в алгоритмах.
Уважаемые гуру и не очень
подскажите, какой командой в Baskom arv можно инвертировать значение на лапке контроллера? 
Toggle.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
респект
лови плюс 
- Сообщения: 3
- Зарегистрирован: Чт янв 09, 2014 19:29:08
Привет всем. Начинаю осваивать баском и.... Проблема вот в чем. Есть тини 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"
Как ее сгенерировать, найти (не знаю как спросить...) в баскоме.
Пасиба.
$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"
Как ее сгенерировать, найти (не знаю как спросить...) в баскоме.
Пасиба.
- Сообщения: 1278
- Зарегистрирован: Пн июн 18, 2007 21:51:20
И еще вопрос-откуда берется эта строчка:
$regfile = "attiny461.dat"
это команда компилятору, которая указывает ему модель используемого МК.
он будет использовать разные выводы, разные регистры именно под данный МК
сделайте скриншот фузов, так понятнее будет что да как
$regfile = "attiny461.dat"
это команда компилятору, которая указывает ему модель используемого МК.
он будет использовать разные выводы, разные регистры именно под данный МК
сделайте скриншот фузов, так понятнее будет что да как
Похоже на тактирование от внутреннего RC генератора. Он по умолчанию 1 МГц. Как раз 8 мс и будет.
легко проверить-отпаять кварц,если все работает-работает от внутреннего генератора
- Сообщения: 3
- Зарегистрирован: Чт янв 09, 2014 19:29:08
Фузы выставлял так...
CKDIV8
SUT1
CKSEL1
SPIEN
на эти поставил "галочки",
на остальные "галочки" не ставил.
Кварц не работает-на нем нет генерации...А хочется чтоб работал...
CKDIV8
SUT1
CKSEL1
SPIEN
на эти поставил "галочки",
на остальные "галочки" не ставил.
Кварц не работает-на нем нет генерации...А хочется чтоб работал...



