реклама на сайте
подробности

 
 
> как прочесть порт
schulgin
сообщение May 12 2012, 16:00
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 27-06-07
Пользователь №: 28 739



Отлаживаю в Кейле с помощью симулятора программу.
Цифровые выходы обозначил битовыми пременными например так "sbit rabota = P2^0;" Всё хорохо, когда пишу в порт, но когда пытаюсь использовать этот идентификатор в какой ни буть операции, например, "if (rabota)" или просто его присвоить другой переменной ничего не получается. Компилируется без ошибок, а операции или присвоения не выполняются. Пытался это сделать с помощью маскировки порта, например "P2 & 0x01" та же самая история по отдельности все значения просматриваются, а результат другой.
Промучился почти целый день, а результат ноль. Уж очень достало, помогите!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
schulgin
сообщение May 14 2012, 13:40
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 27-06-07
Пользователь №: 28 739



Цитата(Палыч @ May 14 2012, 16:01) *
Чтобы читать что-то с ноги МК51 нужно выдать в соответствующий бит порта единицу.

Вот тут-то и надо не коментить, а изменить на
Код
pusk = 1;

Палыч, спасибо. Попробовал, ничего хорошего не получил. Палыч, Коля, если не трудно, то покажите, пожалуйста, кусок текста или исправьте мой, как правильно, который "железно" работает у Вас. Может это действительно глюк отладчика кейла. Использую Keil4.0
Go to the top of the page
 
+Quote Post
Палыч
сообщение May 14 2012, 16:53
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(schulgin @ May 14 2012, 17:40) *
Палыч, Коля, если не трудно, то покажите, пожалуйста, кусок текста или исправьте мой, как правильно, который "железно" работает у Вас.

Вы писали, что строку "pusk = 0;" - закоментировали. Так вот, если это действительно сделать (закоментировать), то строка 68 "if (pusk)" правильно работает в соответствии с установкой "Pins" окне "Parallel Port 0" !

Что у Вас ещё не "работает"? Ещё раз повторюсь: чтобы читать что-то с ноги МК51 нужно чтобы в соответствующем бите порта была единица. Эти единицы помещаются туда по сбросу МК. Вы же зачем то заносите туда нули.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- schulgin   как прочесть порт   May 12 2012, 16:00
- - Палыч   Цитата(schulgin @ May 12 2012, 20:00) ......   May 14 2012, 05:40
- - schulgin   Спасибо за отклик. Немного лирики. Кейлом и написа...   May 14 2012, 08:35
|- - Kolia   Меня смущает эта строчка pusk = 0; фактически в...   May 14 2012, 09:09
|- - schulgin   Цитата(Kolia @ May 14 2012, 12:09) Меня с...   May 14 2012, 09:40
|- - Kolia   Цитата(schulgin @ May 14 2012, 12:40) ...   May 14 2012, 10:07
- - schulgin   Большое спасибо Бельченко. Собственно, прочитав ег...   May 14 2012, 10:44
|- - Kolia   Цитата(schulgin @ May 14 2012, 13:44) Бол...   May 14 2012, 12:34
|- - Палыч   Цитата(schulgin @ May 14 2012, 14:44) Всё...   May 14 2012, 13:01
|- - Kolia   Цитата(schulgin @ May 14 2012, 15:41) Кол...   May 14 2012, 13:21
|- - Палыч   ТС так и не сказал: как определяет, что программа ...   May 14 2012, 13:38
- - schulgin   Коля, когда Вы сказали, что можно и логический ан...   May 14 2012, 12:41
|- - Kolia   У меня в uV3 все четко работает...   May 14 2012, 21:49
- - schulgin   Спасибо за участие. После добавления промежуточных...   May 15 2012, 07:44
- - редактор   ЦитатаОтлаживаю в Кейле с помощью симулятора прогр...   May 17 2012, 11:32
- - Harbinger   Если мне память не изменяет, в силабсах по дефолт...   May 17 2012, 16:48
- - редактор   ЦитатаЕсли мне память не изменяет, в силабсах по д...   May 18 2012, 07:14


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01408 секунд с 7
ELECTRONIX ©2004-2016