vadimp61 0 19 мая, 2016 Опубликовано 19 мая, 2016 (изменено) · Жалоба Какая нотация обращения к битам портов начиная с H до L для записи битов и для чтения битов. Работаю в CV 2.05 Изменено 19 мая, 2016 пользователем vadimp61 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
desh 0 19 мая, 2016 Опубликовано 19 мая, 2016 · Жалоба Какая нотация обращения к битам портов начиная с H до L для записи битов и для чтения битов. Должна быть такая же. Смотрите заголовочные файлы. Вероятно там чего то не дописали. Хотя, так как порты H и выше находятся выше IO памяти (той, в котором работают инструкции CBI и SBI), то может быть он просто в принципе не умеет с с ними работать в таком ключе. В таком случае только второй вариант. Работаю в CV 2.05 Сочувствую. Сталкивался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ferrum 0 19 мая, 2016 Опубликовано 19 мая, 2016 · Жалоба Не знаю как в CV 2.05, но с такой проблемой сталкивался при написании программ на ассемблере. Точно не выяснял по какой причине, но некоторые регистры портов ввода-вывода ведут себя как регистры оперативной памяти (регистры памяти SRAM контроллера), то есть для записи и чтения регистров ввода-вывода используются команды out и in, а для записи и чтения регистров SRAM команды sts и lds, так вот уже при конфигурировании (настройки) портов ввода-вывода часть регистров настраивается при помощи команды out, а часть при помощи команды sts. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 19 мая, 2016 Опубликовано 19 мая, 2016 · Жалоба при написании программ на ассемблере. Точно не выяснял по какой причине, Все таки при использовании асма - надо знать архитектуру Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Onkel 1 19 мая, 2016 Опубликовано 19 мая, 2016 · Жалоба Какая нотация обращения к битам портов начиная с H до L для записи битов и для чтения битов. Работаю в CV 2.05 сделайте шаблон,назначив порту, нотация которого непонятна, например iwire и посмотрите в шаблоне кода. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 19 мая, 2016 Опубликовано 19 мая, 2016 (изменено) · Жалоба Судя по тому, что автор темы поместил точку с запятой в конец части строк с define, он знает толк в маршрутах по граблям. Мы ещё не видели текста, где define используются. Автору: посмотрите как подобные вещи делаются в правильных проектах: #define DISPLAY_BUS_DATA_SET(v) do { \ LCD_DATA_PORT = \ (LCD_DATA_PORT & ~ LCD_DATAS_BITS) | \ (((v) << LCD_DATAS_BIT_LOW) & LCD_DATAS_BITS); \ } while (0) #define LCD_STROBE_PORT_S(v) do { TARGET_PORT_S(7, v); } while (0) #define LCD_STROBE_PORT_C(v) do { TARGET_PORT_C(7, v); } while (0) Изменено 19 мая, 2016 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Копейкин 0 20 мая, 2016 Опубликовано 20 мая, 2016 · Жалоба А зачем последовательности заключены в операторы do{...}while(0) ? Блоки ведь можно было просто в фигурные скобки забрать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 20 мая, 2016 Опубликовано 20 мая, 2016 · Жалоба А зачем последовательности заключены в операторы do{...}while(0) ?Google-> "do while(0)". Возможно, вам попадутся ссылки и на этот форум. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться