Вопросы по программированию в Bascom AVR
|
|
Space | Дата: Понедельник, 01.02.2010, 14:02 | Сообщение # 46 |
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
| Новые статьи по программированию. Подключаем ИК-дальномер Sharp GP2Y0A21 (10-80см) Подключаем сервоприводДобавлено (01.02.2010, 14:02) --------------------------------------------- Что такое циклы и с чем их едят?
|
|
| |
kostikus | Дата: Воскресенье, 14.02.2010, 00:19 | Сообщение # 47 |
Зарегистрирован 26.03.2009
Группа: Новички
Сообщений: 5
Город: С-Петербург
Статус: Offline
| Space, помоги пожалуйста с датчиком температуры ds18b20+ бьюсь вторую неделю.... мк atmega32 внешний кварц пишу на bascom вывожу на lcd 16*2 перепробовал кучу вариантов кода.... устал по нету лазить... все варианты выдают температуру +85 градусов... и она не меняется.... номера самих датчиков считываются, то есть они значит исправные... а вот температуру никак не могу считать
|
|
| |
sasha | Дата: Четверг, 18.02.2010, 13:54 | Сообщение # 48 |
Язык программированя: Си и баском(учусь)
Зарегистрирован 16.02.2009
Группа: Новички
Сообщений: 371
Город: Актюбинск
Статус: Offline
| а у меня все еще с прерыванием проблемы ... помогите=((( месяц уже... помогите Code $regfile = "m32def.dat" $crystal = 16000000 Config Pind.0 = Output '- сюда светодиод Config Pinb.0 = Input '- это кнопка Config Int0 = Falling Dim Wtime As Byte On Int0 Stopbutton Nosave Wtime = 50
Enable Interrupts Enable Int0 Do Set Portd.0 Waitms Wtime Reset Portd.0 Waitms Wtime Loop
Stopbutton: Reset Portd.0 '- при нажатой кнопке светодиод небудет гореть Return
End не реагирует на кнопку=(
|
|
| |
DeepBlack | Дата: Четверг, 18.02.2010, 15:44 | Сообщение # 49 |
Язык программированя: C/C++
Зарегистрирован 27.07.2009
Группа: Модераторы
Сообщений: 189
Город: Зеленоград
Статус: Offline
| Не силен в бейсике, поэтому вопрос: какая строчка у тебя отвечает за опрос порта b0 ? Как я понял, stopbutton это прерывание? Добавлено (18.02.2010, 15:44) --------------------------------------------- вот тут тебе Space приводил пример опроса кнопки, посмотри, может, пригодится
|
|
| |
sasha | Дата: Четверг, 18.02.2010, 15:49 | Сообщение # 50 |
Язык программированя: Си и баском(учусь)
Зарегистрирован 16.02.2009
Группа: Новички
Сообщений: 371
Город: Актюбинск
Статус: Offline
| Quote (DeepBlack) Как я понял, stopbutton это прерывание? да... если я правлино понял=) Quote (DeepBlack) какая строчка у тебя отвечает за опрос порта b0 ? как я понял stopbutton...
|
|
| |
DeepBlack | Дата: Четверг, 18.02.2010, 15:59 | Сообщение # 51 |
Язык программированя: C/C++
Зарегистрирован 27.07.2009
Группа: Модераторы
Сообщений: 189
Город: Зеленоград
Статус: Offline
| Обычно Int - это такой вывод МК, при изменении сигнала на котром вызывается прерывание. В твоем коде стоит прерывание по int1. Я так думаю, он у тебя даже не подключен. Опрос кнопки можно сделать либо подключив ее на этот int1 (только надо сконфигурировать вывод правильно и использовать такое прерывание). Либо в цикле опрашивать порт. (подробные алгоритмы опроса порта с описаниями я приводил в статье "подключение тактовой кнопки") кстати, по ссылке, которую я в предыдущем сообщении написал так же сделано. Либо более "продвинутый" способ - по таймеру. Он полностью повторяет второй способ, только здесь проверка происходит по срабатыванию таймера. Так контроллеру гораздо проще живется
|
|
| |
krasla | Дата: Воскресенье, 25.04.2010, 23:49 | Сообщение # 52 |
Зарегистрирован 25.04.2010
Группа: Новички
Сообщений: 1
Город: Dnepropetrovsk
Статус: Offline
| Quote Space, помоги пожалуйста с датчиком температуры ds18b20+ бьюсь вторую неделю.... мк atmega32 внешний кварц пишу на bascom вывожу на lcd 16*2 перепробовал кучу вариантов кода.... устал по нету лазить... все варианты выдают температуру +85 градусов... и она не меняется.... номера самих датчиков считываются, то есть они значит исправные... а вот температуру никак не могу считать Если ищё актуально маякни кину рабочий код. Попутно вопросы. Сколько датчиков? Тип подключения датчиков 2 или 3 провода? Зачем такой мощный проц, или много наворотов , примерно опиши задачи?
Сообщение отредактировал krasla - Воскресенье, 25.04.2010, 23:51 |
|
| |
Skyline | Дата: Четверг, 01.07.2010, 15:45 | Сообщение # 53 |
Зарегистрирован 20.02.2010
Группа: Новички
Сообщений: 50
Город: Уральск
Статус: Offline
| Здравствуйте! Помогите подправить прогу.В общем суть программки в том чтобы следить за состоянием каналов ИК-бампера. Сначала все время едем в перед и параллельно следим, если высокий логический уровень то продолжаем ехать вперед, если низкий то останавливаемся и отъезжаем назад, со вторым каналом тоже самое. Вопрос в том, что не пойму как сделать чтобы выполнялись оба условия сразу, а не в порядке написания проги? Код прилагаю, прога конечно корявая, но что делать только учусь. Code $regfile = "m16def.dat" $crystal = 16000000
Config Pina.0 = Output : Fr Alias Porta.0 Config Pina.1 = Output : Br Alias Porta.1 Config Pina.2 = Output : Bl Alias Porta.2 Config Pina.3 = Output : Fl Alias Porta.3 Config Pina.4 = Input : B1 Alias Porta. 4 Config Pina.5 = Input : B2 Alias Porta.5
Do
Gosub Вперед
If B1 = 1 Then Gosub Вперед_вправо Else Gosub Назад_вправо Wait 3 End If
If B2 = 1 Then Gosub Вперед_влево Else Gosub Назад_влево Wait 3 End If
Loop
|
|
| |
Dimsan | Дата: Четверг, 01.07.2010, 18:27 | Сообщение # 54 |
Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
| А никак. Два оператора не могут выполняться одновременно. Пока первый if не выполнится, второй будет "ждать". Я не вижу в этом смысла. В бесконечном цикле эти порты опрашиваются ооочень быстро. Если нет каких-то больших задержек, то проблем возникнуть не должно.
|
|
| |
Skyline | Дата: Четверг, 01.07.2010, 21:48 | Сообщение # 55 |
Зарегистрирован 20.02.2010
Группа: Новички
Сообщений: 50
Город: Уральск
Статус: Offline
| А можно применять операторы BASCOM 8051 в BASCOM-AVR Basic?
|
|
| |
Dimsan | Дата: Четверг, 01.07.2010, 23:24 | Сообщение # 56 |
Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
| Этого не знаю. Я по С.
|
|
| |
Space | Дата: Четверг, 01.07.2010, 23:55 | Сообщение # 57 |
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
| Quote (Skyline) А можно применять операторы BASCOM 8051 в BASCOM-AVR Basic? Да, но не все
|
|
| |
Skyline | Дата: Пятница, 02.07.2010, 09:02 | Сообщение # 58 |
Зарегистрирован 20.02.2010
Группа: Новички
Сообщений: 50
Город: Уральск
Статус: Offline
| Как программируется условия "то или это", "то и это", или что-то типо этого?
Сообщение отредактировал Skyline - Пятница, 02.07.2010, 09:20 |
|
| |
Dimsan | Дата: Пятница, 02.07.2010, 12:43 | Сообщение # 59 |
Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
| Ничего не понятно. Это легко можно найти в интернете. Конечно если знать что искать... Может быть ты имеешь в виду оператор выбора? Или логические выражения? "Если ((условие1) И (условие2) истина), то (оператор1) иначе (оператор2)"; "Если ((условие1) ИЛИ (условие2) истина), то (оператор1) иначе (оператор2)";
|
|
| |
Skyline | Дата: Пятница, 02.07.2010, 14:44 | Сообщение # 60 |
Зарегистрирован 20.02.2010
Группа: Новички
Сообщений: 50
Город: Уральск
Статус: Offline
| Блин, это как раз то что нужно, но вот как это программно задать!
|
|
| |