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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> как прочесть порт
schulgin
сообщение May 15 2012, 07:44
Сообщение #16


Участник
*

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



Спасибо за участие. После добавления промежуточных переменных на битовые входы (не во всех случаях) всё заработало как я хотел, но представление как их правильно и оптимально использовать не сложилось, ну да ладно. Надеюсь, что больше к этому не вернусь. Ещё раз спасибо.
Go to the top of the page
 
+Quote Post
редактор
сообщение May 17 2012, 11:32
Сообщение #17


Местный
***

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



Цитата
Отлаживаю в Кейле с помощью симулятора программу.

Не у всех моделей кристаллов нормально поддерживается перефирия (даже порты). Например отладчик в Keil 4.23 про периферию силабс 580 ничего не знает, хотя периферию силабс 310 отображает целиком.
Проверить можно, если открыть вкладку перефирии. Если есть порты, то часто бывает, что виртуальные регитсры не всегда синхронизируются правильно. Например: Записали в порт 0, в защелке порт сбросился и на "внешний вывод" выдал 0 (обычно это два разных регистра). После записи в этот порт 1 в регистре "внешний вывод" останется 0 (симулятор воспринимает его уже как внешний входной сигнал), так как "внешний вывод" содержит 0, то при чтении с него, также будет считан 0 (ведь чтение осуществляется непосредственно с вывода "pin" а не с защелки.

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



--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
Harbinger
сообщение May 17 2012, 16:48
Сообщение #18


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Если мне память не изменяет, в силабсах по дефолту порты вообще на ввод настроены, с подключенными weak pull-up, и читаться должна, естественно, единичка, а чтобы работали на вывод, нужны пляски с PxMDIN и PxMDOUT (в Init_Device они присутствуют однако)...


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
редактор
сообщение May 18 2012, 07:14
Сообщение #19


Местный
***

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



Цитата
Если мне память не изменяет, в силабсах по дефолту порты вообще на ввод настроены, с подключенными weak pull-up, и читаться должна, естественно, единичка, а чтобы работали на вывод, нужны пляски с PxMDIN и PxMDOUT (в Init_Device они присутствуют однако)...

В железе да! А в СИМУЛЯТОРЕ (речь в данном случае о нем) отдельная песня. Если переферия не поддерживается то регистр порта скорее всего отображается в памяти и чтение-запись дадут идентичный результат. А вот если поддерживается, то запись будет производиться в виртуальный регистр-защелку, а чтение с виртуального регистра-выводов. Это можно посмотреть в отладочном окошке портов когда какие галки устанавливаются и какие считываются. Это характерно исключительно для СИМУЛЯТОРА.


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 12:44
Рейтинг@Mail.ru


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