roboforum.ru

Технический форум по робототехнике.

Учебный курс по Bascom AVR Basic для ЧАЙНИКОВ

Re: Учебный курс по Bascom AVR Basic для ЧАЙНИКОВ

avr123.nm.ru » 01 окт 2011, 23:54

Ну и правильно. :Bravo:

Re: Учебный курс по Bascom AVR Basic для ЧАЙНИКОВ

space » 02 окт 2011, 00:10

мда.. не оценимая помощь

Re: Учебный курс по Bascom AVR Basic для ЧАЙНИКОВ

boez » 02 окт 2011, 11:34

А чего непонятного? Вешаем клок сдвигового регистра на OCR1A. Данные - на любую ногу любого порта. Ширины импульсов для серв - в массив, в конце "дополняющий" до 20 мс импульс. Указатель текущей сервы - на начало массива.

В прерывании OCR1A:

1. Убираем в исходное состояние ногу OCR1A с помощью бита FOC, как - смотри исходники ORFA для 4017.
2. К OCR1A прибавляем очередную ширину из массива.
3. Если указатель не дошел до конца массива - на ногу данных 0, иначе 1.
4. Перемещаем указатель на следующий элемент (если он уже в конце - в начало).

Все. На N первых выходах сдвигового регистра будут импульсы. Количество серв - чтобы при максимальных ширинах не вылезать за 20 мс.

Вообще, почитай исходники и схему ORFA для 4017 - поймешь как сделать на 595 и как считать ширины импульсов.

Re: Учебный курс по Bascom AVR Basic для ЧАЙНИКОВ

CFox » 04 окт 2011, 15:21

Vooon писал(а):Потому что разбирать что ты там понаписал в таком случае - дополнительная трата времени. Я такие сообщения в лучшем случае игнорирую.

ничем не обоснованые слова... Сильно вы поймете что я имел в виду под именем WhileLong :pardon:

Re: Учебный курс по Bascom AVR Basic для ЧАЙНИКОВ

Rigo Legio » 28 ноя 2011, 22:41

Кто может сказать, как в BascomAVR скомиплировать код в .hex, а то, что-то не могу найти.

Re: Учебный курс по Bascom AVR Basic для ЧАЙНИКОВ

SkyStorm » 29 ноя 2011, 10:23

Уже год как снес его и не возвращался.
Несмотря на то что мне нравился - Ардуино ИДЕ вытеснило его.
Но никогда никаких проблем с хексом не было.
А в чем он у тебя на текущий момент генерит прошивку?

Re: Учебный курс по Bascom AVR Basic для ЧАЙНИКОВ

Rigo Legio » 29 ноя 2011, 21:40

Уже разобрался, видимо, Баском установился криво. Почему то, он hex и еще какие то форматы не компилировал, переустановил Баском и все норм.

Re: Учебный курс по Bascom AVR Basic для ЧАЙНИКОВ

space » 23 янв 2013, 01:10

Всем привет=)
Не будет ли кто так любезен, помочь. В авто делаю реле под розжиг галогенок. Основной код уже написан, все работает. Но на этом не успокоился, решил примудрить настройку длительности розжига от 2-4с. Основная проблема в том, что клавиша всего одна в салоне машины. За счет этой клавиши нужно выполнять 3 действия, включение шима, отключение шима и переход к настройки длительности розжига. первые два пункта без проблем
Код: Выделить всёРазвернуть
Do
Debounce Pind.2 , 0 , Pwmon , Sub
Debounce Pind.2 , 1 , Pwmoff , Sub
Loop

^
|
|
-----
в этом цикле надо организовать переход к циклу 4.
Код: Выделить всёРазвернуть
4:
Do
Debounce Pind.2 , 0 , 2 , Sub
Loop

2:
While Pind.2 = 0
Incra:
Incr A : Waitms 250
If A = 10 Then : Rele = 1 : Wait 1 : Rele = 0 : Incr A : Waitms 250 : End If
If A = 15 Then : Rele = 1 : Wait 1 : Rele = 0 : Incr A : Waitms 250 : End If
If A = 20 Then : Rele = 1 : Wait 1 : Rele = 0 : Incr A : Waitms 250 : End If
If A = 25 Then : Rele = 1 : Wait 1 : Rele = 0 : : A = 0 : Goto Incra : End If
Wend


например за счет коротких двух нажатий на клавишу. Но как это сделать не знаю. Пробовал за счет условий:
Код: Выделить всёРазвернуть
If On0 = 0 Then : Waitms 150
If On0 = 1 Then : goto 4 : End If : End If

Но так срабатывает через раз, да и еще настройки сбивает изначальные.

Re: Учебный курс по Bascom AVR Basic для ЧАЙНИКОВ

avr123.nm.ru » 23 янв 2013, 01:27

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

Re: Учебный курс по Bascom AVR Basic для ЧАЙНИКОВ

space » 23 янв 2013, 01:48

спасибо) уже сделал) Просто добавил отключение шима в условие и все стало работать в точности как и хотел
Код: Выделить всёРазвернуть
Do
If On0 = 0 Then : Waitms 150 : Debounce Pind.2 , 1 , Pwmoff , Sub
If On0 = 1 Then : Goto 4 : End If : End If
Debounce Pind.2 , 0 , Pwmon , Sub
Debounce Pind.2 , 1 , Pwmoff , Sub
Loop

Re: Учебный курс по Bascom AVR Basic для ЧАЙНИКОВ

avr123.nm.ru » 23 янв 2013, 11:29

Браво! :)


Rambler\'s Top100 Mail.ru counter