Так а при чем тут Т1? Этот вывод может быть использован для подачи внешних тактовых импульсов для таймера Т1, потому он так и называется. Ну и ногодрыг для таймера Т0 (выход схемы сравнения - OC0B). А управление нагрузкой и отсчет времени никак не связаны совершенно, считайте чем угодно, и управляйте какой угодно ногой. PD5 - обычный пин порта, просто с альтернативными функциями. Как и остальные, впрочем.KSerg писал(а):У Attiny 2313 есть 9ая нога, которая
"PD5 OC0B/T1"
Реально ли на нее повесить нагрузку, чтобы она включалась от Timer0 на 3сек. или оно только на Timer1 работает? Я что-то запутался.
BASCOM AVR в вопросах и ответах
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Реклама
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
А у Вас случайно А1 не равна 0, изначально?Dnepr_1186 писал(а):такое ощущение что при нажатии не происходит перехода в подпрограмму
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
-
Novice user
- Мудрый кот
- Сообщения: 1704
- Зарегистрирован: Вт янв 05, 2016 10:14:25
- Откуда: поселок Мелеуз
Re: BASCOM AVR в вопросах и ответах
удалил
Последний раз редактировалось Novice user Чт мар 24, 2016 16:25:11, всего редактировалось 1 раз.
Re: BASCOM AVR в вопросах и ответах
Вы меня прямо спасли, что Т1 необязательно.edm2007 писал(а):Так а при чем тут Т1? Этот вывод может быть использован для подачи внешних тактовых импульсов для таймера Т1, потому он так и называется. у и ногодрыг для таймера Т0 (выход схемы сравнения - OC0B).KSerg писал(а):У Attiny 2313 есть 9ая нога, которая
"PD5 OC0B/T1"
Реально ли на нее повесить нагрузку, чтобы она включалась от Timer0 на 3сек. или оно только на Timer1 работает? Я что-то запутался.
То есть я делаю на таймере0 CompB и верчу этой ногой как OC0B. правильно я понимаю?
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Смотрите, есть вывод PD5. Это 5-й пин порта D. Просто вывод, который можно настроить как выход, и управлять любой нагрузкой. Можно настроить как вход, и прикрутить кнопку. Но этот же вывод может быть использован альтернативно, для генерации того же ШИМ на основе таймера Т0, например. Это уже пин OC0. И этот же вывод может быть использован для внешнего подсчета импульсов таймера Т1. Это уже Т1. Получается что одна нога может быть и просто как нога (вход / выход), и как канал ШИМ для таймера Т0, и как внешнее тактирование таймера Т1. Все зависит только от Вашего желания. Вам нужно управлять нагрузкой? Берите любую ногу из свободных 18 (17, на самом деле). Считайте любым таймером, и дергайте любой ногой.
Если подробно опишете задачу, будет вариант решения.
Если подробно опишете задачу, будет вариант решения.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Реклама
- Dnepr_1186
- Потрогал лапой паяльник
- Сообщения: 398
- Зарегистрирован: Чт мар 26, 2009 20:53:27
- Откуда: Беларусь.Минская обл.
Re: BASCOM AVR в вопросах и ответах
нет задал единицу изначально. Так что скажете? Внешне все правильно? Может протеус глючит? Или вряд ли?edm2007 писал(а):А у Вас случайно А1 не равна 0, изначально?Dnepr_1186 писал(а):такое ощущение что при нажатии не происходит перехода в подпрограмму
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Ну вообще все там меняется, пройдите симуляцию пошагово (загрузите не hex файл, а obj, и нажмите "шаг" а не "воспроизвести" (вторая кнопка). Увидите как пошагово можно по коду проходить).
P.S. Другое дело, что код-то работает ровно так, как написан... Но это уже совсем другая история.
P.S. Другое дело, что код-то работает ровно так, как написан... Но это уже совсем другая история.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Dnepr_1186
- Потрогал лапой паяльник
- Сообщения: 398
- Зарегистрирован: Чт мар 26, 2009 20:53:27
- Откуда: Беларусь.Минская обл.
Re: BASCOM AVR в вопросах и ответах
так что с кодом не так? что поменять надо? сам допереть не могуedm2007 писал(а):Ну вообще все там меняется, пройдите симуляцию пошагово (загрузите не hex файл, а obj, и нажмите "шаг" а не "воспроизвести" (вторая кнопка). Увидите как пошагово можно по коду проходить).
P.S. Другое дело, что код-то работает ровно так, как написан... Но это уже совсем другая история.
Re: BASCOM AVR в вопросах и ответах
Кнопка точно подключена к PinB.1 и этот вывод настроен на вход?
Между шагами должны быть задержки. Не может мотор крутится со скоростью миллион шагов в секунду.
Между шагами должны быть задержки. Не может мотор крутится со скоростью миллион шагов в секунду.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Для начала можно сделать так:
При каждом нажатии - смена состояний. Измените код так, чтобы при удержании кнопки шаги менялись сами? Сделаете так, чтобы по второй кнопке все вертелось наиборот? 
Код: Выделить всё
$regfile = "m8def.dat"
$crystal = 4000000
Config Portb.1 = Input
Config Portc = Output
Dim Steps As Byte
config DEBOUNCE = 100
'-----------------------------------------------------------
Do
Debounce Pinb.1 , 0 , Stepinc , Sub
Loop
'-----------------------------------------------------------
Stepinc:
Incr Steps
If Steps > 4 Then Steps = 1
Select Case Steps
Case 1 : Portc = &B00000101
Case 2 : Portc = &B00000110
Case 3 : Portc = &B00001001
Case 4 : Portc = &B00001010
End Select
Waitms 100
Return
End
Угу. И есть ли подтяжка кнопки.Мурик писал(а):Кнопка точно подключена к PinB.1 и этот вывод настроен на вход?
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Dnepr_1186
- Потрогал лапой паяльник
- Сообщения: 398
- Зарегистрирован: Чт мар 26, 2009 20:53:27
- Откуда: Беларусь.Минская обл.
Re: BASCOM AVR в вопросах и ответах
да вот так, кнопка там где должна быть
ваш код работает, не пойму какой косяк в моем...
Код: Выделить всё
Config Pinb.2 = Input
Pinb.1 = 1- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Ваш код работает ровно так, как написан. Что именно не нравится?
Конфигурировать подтяжку все же нужно через регистр PORT.
Код: Выделить всё
Pinb.1 = 1
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Dnepr_1186
- Потрогал лапой паяльник
- Сообщения: 398
- Зарегистрирован: Чт мар 26, 2009 20:53:27
- Откуда: Беларусь.Минская обл.
Re: BASCOM AVR в вопросах и ответах
Да переделал.
Пошло только когда в подпрограммы ввел задержку на 100мс. Спасибо за советы!
Пошло только когда в подпрограммы ввел задержку на 100мс. Спасибо за советы!
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Как написали, так и работало. У Вас шаги пролетали моментально один за другим, пока удерживалась кнопка. И лишь в конце была небольшая задержка. 
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Dnepr_1186
- Потрогал лапой паяльник
- Сообщения: 398
- Зарегистрирован: Чт мар 26, 2009 20:53:27
- Откуда: Беларусь.Минская обл.
Re: BASCOM AVR в вопросах и ответах
решил сделать по вашему коду, так компактнее, только не могу понять. при steps=1 программа переходит к строке case 2 и так далее, т.е. сдвинуто на единицу. Почему так происходит?
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Потому что
Если Вы зададите сразу 1, то в обработчике оно инкрементируется и станет равно 2. Так что либо начинаем работу с 0 (тогда при первом переходе она станет равна 1, и дальше все завертится нормально), либо код
переносим в конец обработчика.
Код: Выделить всё
Incr Steps
Код: Выделить всё
Incr Steps
If Steps > 4 Then Steps = 1
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Dnepr_1186
- Потрогал лапой паяльник
- Сообщения: 398
- Зарегистрирован: Чт мар 26, 2009 20:53:27
- Откуда: Беларусь.Минская обл.
Re: BASCOM AVR в вопросах и ответах
в том то и дело что я ничего не менял в вашем коде, и шаг по умолчанию сразу равен ноль, но при отладке в протеусе хорошо видно как перескакивает единицу в CASE и идет сразу на CASE 2 при шаге равном 1
Re: BASCOM AVR в вопросах и ответах
Не получается "развесить" 2 устройства 18b20 и ds1990 на разные выводы м\к Мега 8. Датчик температуры без инициализации порта для ds1990 работает как надо. При раскомментовании строки
" 'Config 1wire = Portd.3 'ключ ds1990"
18b20 сразу уходит в ERROR, даже без физического подключения ключа к порту. Что не так?
" 'Config 1wire = Portd.3 'ключ ds1990"
18b20 сразу уходит в ERROR, даже без физического подключения ключа к порту. Что не так?
Код: Выделить всё
$regfile = "m8def.dat"
$crystal = 16000000
$hwstack = 128
$swstack = 128
$framesize = 128
Declare Sub 18b20
...................
Config 1wire = Portd.6 'датчик 18b20
'Config 1wire = Portd.3 'ключ ds1990
..................
Do
..................
Loop
End
'чтение данных с датчика
'********************************************************
Sub 18b20:
..............
End Sub
- Dnepr_1186
- Потрогал лапой паяльник
- Сообщения: 398
- Зарегистрирован: Чт мар 26, 2009 20:53:27
- Откуда: Беларусь.Минская обл.
Re: BASCOM AVR в вопросах и ответах
блин хоть тресни, при step=0 пропускает все case как и должно, при step=1, перескакивает на case 2edm2007 писал(а):Потому что
Если Вы зададите сразу 1, то в обработчике оно инкрементируется и станет равно 2. Так что либо начинаем работу с 0 (тогда при первом переходе она станет равна 1, и дальше все завертится нормально), либо кодКод: Выделить всё
Incr Steps
переносим в конец обработчика.Код: Выделить всё
Incr Steps If Steps > 4 Then Steps = 1
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
А?


"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


