0 / 0 / 0
Регистрация: 15.07.2016
Сообщений: 3
|
||||||
1 | ||||||
Не работает Tiny231315.07.2016, 15:54. Показов 841. Ответов 9
Метки нет (Все метки)
Схема в приложении.
Вот текст программы:
Не могу понять в чем проблема. Идет проверка портов D, они все с единицей, и включен Pull программа должна ждать, нажатия кнопки, чтобы 1 изменилась на 0. а он пропускает эту проверку и бесконечно крутит цикл while(1). Почему так объясните кто нибудь)
0
|
15.07.2016, 15:54 | |
Ответы с готовыми решениями:
9
делаю термометр на tiny2313 и lm335 не работает tiny2313 и dW Возможности Tiny2313 Tiny2313 и TIMSK |
1976 / 1275 / 130
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
15.07.2016, 16:35 | 2 |
у вас неправильно в коде настроены порты. Это как минимум. В логику программы еще не вдавался.
0
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
||||||
15.07.2016, 16:39 | 3 | |||||
а надо
0
|
0 / 0 / 0
Регистрация: 15.07.2016
Сообщений: 3
|
|||||||||||||||||
15.07.2016, 17:27 [ТС] | 4 | ||||||||||||||||
Добавлено через 46 минут Я уже много всего перерыл в инете, много не понимаю еще (так как новичок), а то что понимаю не отвечает на мои вопросы. прочитал книги Белова, по текстам его программ все идеально работает, тут без нареканий, но начинаю что либо менять, и получается хаотичный результат, на подобии этого. он "хитрец" такой не пытается подробно программу объяснять, а рассказывает чисто алгоритм. Эти хаотичные результаты совершенно не совпадают с моими выводами, по этому поводу, вот я и ищу ответы на форумах. Видимо я что то упускаю. По сути программа простейшая. как раз для таких как я. но последний ответ поставил меня в замешательство. что означает цифра 126. или может быть какую нибудь литературу посоветуете, где я смогу узнать это. потому что я в тупике.
0
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
15.07.2016, 17:41 | 5 |
Команды PIND, PORTD, DDR работают с портом D целиком, а не с отдельным пинами порта.
Порт D в данном МК имеет размер D0 - D6 то есть семь БИТ Ваша команда устанавливает в этом порту все резисторы подтяжки, другими словами на всех пинах порта D будет "1" и команда PIND вернет 1111111B или в десятичной системе 127 если нажать кнопку, то пин D0 станет 0 то есть 1111110B или в десятичной системе 126
1
|
1976 / 1275 / 130
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
15.07.2016, 18:56 | 6 |
...в этом месте хорошо бы напомнить ТСу, что PORTD имеет только 7 пинов в tiny2313. Поэтому, результат в данном случае будет равен 127, то есть 7 выставленных бит вместо восьми, как для полного порта. Не выведенный пин по идее выдаст состояние "0" (об этом есть инфа в ДШ).
1
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
15.07.2016, 21:01 | 7 |
1
|
1976 / 1275 / 130
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
15.07.2016, 23:11 | 8 |
0
|
0 / 0 / 0
Регистрация: 15.07.2016
Сообщений: 3
|
|
16.07.2016, 14:00 [ТС] | 9 |
действительно)) Большое спасибо, теперь я понял) видимо мне еще читать и читать. может это конечно наглость с мой стороны, но подскажите пожалуйста в какой программе, я смогу увидеть пошаговое выполнение программы с текстом, результатом и значениями в регистрах. если такая конечно имеется.
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,516
|
|
16.07.2016, 15:26 | 10 |
создай схему в протеусе, загрузи туда свою программу, и можешь пошагово проходить
наблюдая как меняются сигналы на ножках
0
|
16.07.2016, 15:26 | |
16.07.2016, 15:26 | |
Помогаю со студенческими работами здесь
10
Tiny2313 + кнопка, проблемы АЦП из компаратора в tiny2313 Проблема с термометром на TINY2313 Таймеры счетчики tiny2313 Проблема с таймерами на tiny2313 Дохнут на раз tiny2313 проблема(?) с чтением Fuses из tiny2313 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |