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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Av4arik
Поставщик валерьянки для Кота
Сообщения: 1954
Зарегистрирован: Чт янв 20, 2011 16:47:18
Откуда: Старый Оскол
Контактная информация:

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

Сообщение Av4arik »

Спойлервот теперь есть такой тег для того чтобы прятать код

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

[spoiler]текст[/spoiler]
. сейчас стандартно он открыт. но надеюсь это исправят.
Быстро, Качественно, Недорого.
Выбрать можно только 2 варианта.
Реклама
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

О !!! Спойлер - это великолепно. Дождались. :))
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Реклама
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Короче, напаял конденсаторов у питания каждого элемента схемы по о,1 мф и емкости побольше на вводе питания схемы и в узлах развязки питания! Подтянул сигнальный вывод ИК приемника к питанию через резистор 10 кОм и к МК резистором 100 Ом. Проверил, сигнал доходит к МК. Подключен он у меня на порт внешнего прерывания INT1 на ногу 5.

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

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

Сообщение edm2007 »

vanyap1 писал(а):и к МК резистором 100 Ом


Там не к МК а по питанию. Ну значит не RC5 протокол, что еще может быть. Я еле-еле сумел в хламе найти такой протокол, все пульты дома - NEC. Приемник на 36 kHz? Вот же все работает: Протокол RC5. Модуль дистанционного управления.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Реклама
Эиком - электронные компоненты и радиодетали
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Мне почему то казалось что эти все китайские пульты тоненькие все RC-5! И потом, те которые управляют освещение то они точно работают с этим протоколом.
Ссылку видел вчера.
Приемник подтянут к питанию резистором 10 КОм и подключен к МК через 100 Ом.

Завтра соберу RC-5 передатчик по схеме из хелпа и проверю.
Реклама
Аватара пользователя
mr4ester
Держит паяльник хвостом
Сообщения: 900
Зарегистрирован: Чт авг 27, 2009 20:09:01
Откуда: Приднестровье г.Бендеры
Контактная информация:

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

Сообщение mr4ester »

как то можно у строковой переменной с занесенным в нее переменными, в итоге выглядит что то вроде +12.8 отсечь все после точки? пробовал Fix но она для переменной другого типа.
Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
Реклама
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

mr4ester писал(а):как то можно у строковой переменной с занесенным в нее переменными, в итоге выглядит что то вроде +12.8 отсечь все после точки? пробовал Fix но она для переменной другого типа.
Такой вариант не то?
СпойлерLocate 1 , 1
Lcd "U " ; Fusing(u_real_lcd , "##") ; " V "
Аватара пользователя
mr4ester
Держит паяльник хвостом
Сообщения: 900
Зарегистрирован: Чт авг 27, 2009 20:09:01
Откуда: Приднестровье г.Бендеры
Контактная информация:

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

Сообщение mr4ester »

не получается почему то, сделал так

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

Tmax1 = Fusing(t_max , "##") 

t_max задал переменную сингл на сколько я понял в нее будет преобразовываться строковая переменная, но компилятор почему то ругается на это "##"
Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
Аватара пользователя
mr4ester
Держит паяльник хвостом
Сообщения: 900
Зарегистрирован: Чт авг 27, 2009 20:09:01
Откуда: Приднестровье г.Бендеры
Контактная информация:

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

Сообщение mr4ester »

при измерении температуры с ds18b20 всегда нужно при отрицательной температуре прибавлять 1 ?
ах да вопрос по поводу того что я писал выше еще открыт.
Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

TO vanyap1. Что-то я не увидел в коде таких строк:

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

Getrc5(address , Command)                        'принимаем адресс и команду с пульта
If Address >= 0 And Address < 32 Then          'работаем с любым пультом
Command = Command And &B01111111

Без них RC5 не работает. Все пиемники подключаю по такой схеме:
Изображение
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Этот кусок кода для действия, а мне пока что ненадо ничего делать, просто вывести данные на ЖКИ, неважно что там принято.
Вот поставил этот кусок кода -

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

Do
Getrc5(address , Command)
Locate 1 , 1
Lcd Address ; "     "
Locate 2 , 1
Lcd Command ; "     "

If Address >= 0 And Address < 32 Then
Command = Command And &B01111111
Locate 2 , 8
Lcd "ok"
Else
Locate 2 , 8
Lcd "er"
End If
Waitms 250
....


ничего не изменилось, команда и адрес светит 255 и по условию выше пишет "er"
Короче, не принимает ничего.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

mr4ester писал(а):не получается почему то, сделал так

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

Tmax1 = Fusing(t_max , "##") 

t_max задал переменную сингл на сколько я понял в нее будет преобразовываться строковая переменная, но компилятор почему то ругается на это "##"

А если так Tmax1 =Format(t_max , "00")
или
Tmax1 = Val(t_max)
Пример:
СпойлерDim A As Byte , S As String * 10

S = "123"

A = Val(s) 'convert string

Print A ' 123


СпойлерDim S As String * 15 , Z As String * 15

S ="ABCDEFG"

Z = Left(s , 5)

Print Z 'ABCDE
Последний раз редактировалось amv2000 Вс янв 29, 2012 19:16:18, всего редактировалось 1 раз.
Аватара пользователя
dimon-790
Мучитель микросхем
Сообщения: 442
Зарегистрирован: Пт авг 29, 2008 09:22:37
Контактная информация:

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

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

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

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

Сообщение edm2007 »

Кстати, да, может действительно тактирование не то. Вот все тайминги и поплыли.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Фузы правильно! Сначала работал от внутреннего генератора на 8 МГц, мне моказалось что частота плавает и потому не работает. Переконфигурировал фузы и поставил кварц на 12 МГц, изменил в прошивке частоту тактового генератора. Все то же.
Аватара пользователя
mr4ester
Держит паяльник хвостом
Сообщения: 900
Зарегистрирован: Чт авг 27, 2009 20:09:01
Откуда: Приднестровье г.Бендеры
Контактная информация:

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

Сообщение mr4ester »

сапсибо amv2000 получилось с применением этого

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

Dim S As String * 15 , Z As String * 15

S ="ABCDEFG"

Z = Left(s , 5)

Print Z 'ABCDE

подскажите пожалуйста, с ds18b20 всегда нужно при отрицательной температуре прибавлять 1 ?
Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Да. Если не прибавлять то получится два значения ноля - "-0" и "+0".
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Извините что вынес вам тут всем моск! Оказывается мои пульты НЕ RC-5 а NEC судя по информации с єтого сайта - http://www.juras-projects.org/forum/vie ... ?f=5&t=108.

Посмотрю что проще, сделать новую печатную плату для пульта или переписать код под новый протокол. Вот только итак не хватает мне таймеров и прерываний.

Но этот пуль то что надо -

Изображение

и не работает тоже.
Аватара пользователя
mr4ester
Держит паяльник хвостом
Сообщения: 900
Зарегистрирован: Чт авг 27, 2009 20:09:01
Откуда: Приднестровье г.Бендеры
Контактная информация:

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

Сообщение mr4ester »

vanyap1 писал(а):Да. Если не прибавлять то получится два значения ноля - "-0" и "+0".

а если у меня условие

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

If Znak = "+" And Hh = 0 Then                               ' убираем знак "+" с нулевой температуры
Znak = " "

выходит что не надо прибавлять? или все же надо? Hh 'это температура
Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Это все равно не для знака, это для того чтобы не было двух одинаковых значений: ноль должен быть одним значением а не двумя - "+0" и "-0".
Я понимаю это так - от -10 до +10 то это 20 значений, а если будут два нуля то это уже 21 значение и соответственно погрешность в одной части показаний!
Ответить

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