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

 
 
> проблемы с программировоние ATMega 1280, CodeVision не обращается к портам с G по L
morpheus
сообщение Oct 10 2008, 10:56
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 7-09-06
Пользователь №: 20 173



ДОброго всем времени суток
есть mega1280 и компилятор CodeVision 1.25.8 prof при попытке считаь пин на портах с G по L
if (PINL.2==0 или PORTL.2) выдает ошибку он это видит как структуру. Хотя на более младших портах все работает. Подскажите пожалеста в чем проблема
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mempfis_
сообщение Oct 10 2008, 12:49
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(morpheus @ Oct 10 2008, 14:56) *
ДОброго всем времени суток
есть mega1280 и компилятор CodeVision 1.25.8 prof при попытке считаь пин на портах с G по L
if (PINL.2==0 или PORTL.2) выдает ошибку он это видит как структуру. Хотя на более младших портах все работает. Подскажите пожалеста в чем проблема


Думаю правильнее было-бы написать if (PINL.2) но для этих портов такая запись в CVAVR всёравно не прокатит. Эти порты лежат не пространстве памяти I/O, а в области оперативной памяти и доступ к ним необходимо осуществлять по-другому:
if (PINL&(1<<2)) //проверка пина PINL.2
PORTL |= (1<<2) //установить PORTL.2

Записи типа if(PINx.y) допустима для портов только их пространства памяти I/O к которым применимы команды SBIS/SBIC для проверки-пропуска, SBI/CBI для установки/ сброса отдельных битов. Те которые лежат в оперативной памяти должны быть сначала загружены в регистр командой LDS где они могут быть проверены с помощью команд SBRS/SBRC. Для установки бита также необходимо их сначала загрузить (LDS) установить/сбросить бит (SBR/CBR) и занести новое значение в порт (STS). Вот собственно поэтому у меня когдато ругался компилятор на эти записи для портов F, G, H

Пока писал Petka опередил меня smile.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:08
Рейтинг@Mail.ru


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