Не работает Hello World

Обсуждаем контроллеры компании Atmel.
Ответить
Ley
Родился
Аватара пользователя
Сообщения: 13
Зарегистрирован: Пт ноя 21, 2014 15:51:12
Откуда: Томск

Сообщение Ley »

Привет всем!
Итак, программка управления светодиодом по кнопке

Есть код раз:

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

$regfile = «m8def.dat»                  
$crystal = 1000000
Config Portb.6 = Output
Config Pinb.1 = Input
Do                                            

If Pinb.1 = 1 Then
Reset Portb.6
End If

If Pinb.1 = 0 Then
Set Portb.6
End If

Loop
И код два:

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

$regfile = «m8def.dat»                                   
$crystal = 1000000
Config Portb.6 = Output
Config Pinb.1 = Input
Do                                                   

If Pinb.1 = 0 Then
Reset Portb.6
End If

If Pinb.1 = 1 Then
Set Portb.6
End If

Loop
Они отличаются только инверсией, т. е. в первом случае при нажатии кнопки светодиод загорается, во втором - погасает

Почему первый работает, а второй нет? Что за напасть?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20103
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Что за чудной язык?

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

Config Portb.6 = Output
Config Pinb.1 = Input
Странно, что на ВЫХОД вы определяете ПОРТ, а на вход — РЕГИСТР. По мне так логичнее было бы

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

Config Portb.6 = Output
Config Portb.1 = Input
...
If Pinb.1 = 1 Then
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Ley
Родился
Аватара пользователя
Сообщения: 13
Зарегистрирован: Пт ноя 21, 2014 15:51:12
Откуда: Томск

Сообщение Ley »

Bascon AVR
Не знаю, в примерах так было
Друг Кота
Аватара пользователя
Сообщения: 20103
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Чой-то у вас по смыслу лишний ИФ. Здесь всего 2 варианта кнопки, так что можно обойтись одним ИФ...ЕЛСЕ.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Эиком - электронные компоненты и радиодетали
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Сообщение COKPOWEHEU »

Gudd-Head писал(а):Что за чудной язык?
Странно, что на ВЫХОД вы определяете ПОРТ, а на вход — РЕГИСТР. По мне так логичнее было бы
Еще логичнее было бы для управления вход-выход управлять DDRB, который для этого и предназначен. DDRB = (1<<6); или, если гугль не обманывает с синтаксисом этого бейсика, DDRB = 01000000
Со "странным языком" и "лишним ифом" согласен. Вообще, не понимаю, зачем писать под контроллеры на бейсике.
Ley, пошаговую отладку не делал? Как подключена кнопка? Где проверялось, во встроенном отладчике, протеусе или железе?
Реклама
Ley
Родился
Аватара пользователя
Сообщения: 13
Зарегистрирован: Пт ноя 21, 2014 15:51:12
Откуда: Томск

Сообщение Ley »

Все делал по 100% рабочей схеме из источника. Тестировал на железе.
И вот еще что: светодиод после прошивки второй схемы просто начинает светиться, а на нажатия не реагирует!
Может быть порекомендуете среду разработки получше, чем Bascom? а то как-то не понравилась мне эта.. :wink:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Ley писал(а):Может быть порекомендуете среду разработки получше, чем Bascom? а то как-то не понравилась мне эта.. :wink:
Родная AVR Studio 4 (или новая, но жирная и тормознутая Atmel Studio) вполне удобная, там же и просимулировать можно. Но языка всего два - ассемблер или Си.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Народ, что за глупости пишите? :facepalm: Зачем советовать переходить на другой ЯП если проблема не в ЯП и не в коде, а в руках... :solder:
Код рабочий. Протеус это подтверждает.
Вложения
TestMK.zip
(37.54 КБ) 128 скачиваний
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Сообщение COKPOWEHEU »

Потому что лучше сразу привыкать к нормальному стилю программирования.
Ответить

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