roboforum.ru

Технический форум по робототехнике.


ATmega128 - как работать со страшими портами ?

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

ATmega128 - как работать со страшими портами ?

Сообщение The_Kurs » 06 сен 2007, 13:18

Немогу задействовать выводы МК
PORTE, PORTF, PORTG
может у меня atmega128.h кривой хотя с чего бы...
Вот такая строчка в компиляторе вызывает ошибки с этими портами:
PORTF.0=1;

И для чего нужет вывод PEN (1) ??? По даташиту он разрешает SPI програмирование ... хотя МК можно запрограмировать и когда на нём высокий уровень и когда низкий... дак зачем он ???

Компилятор кодевисион. С портами А,B,C,D касяков нет ...
The_Kurs
 
Сообщения: 161
Зарегистрирован: 16 фев 2007, 16:33
Откуда: Петропавловск-Камчатский

Re: касяки ATmega 128

Сообщение avr123.nm.ru » 06 сен 2007, 14:29

The_Kurs писал(а):Вот такая строчка в компиляторе вызывает ошибки с этими портами:
PORTF.0=1;


Посмотри    avr123.nm.ru/z1.htm    Задача - упражнение  1

Внимание !  Очень важно!  Битовые операции !

Манипуляции отдельными битами регистров и переменных.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение The_Kurs » 06 сен 2007, 15:41

Спасибо я понял что эта команда не действует на адреса выше 31.

Я все равно никак не могу управлять портами PORTF и PORTG.

В вмлаб все нормально работает а на железе какая-то чепуха ! Наножку PG2 выводятся какие то импулься с высокой частотой !!! Порт F вообще никак не реагирует ни на что !!! Как заставить эти порты нормально работать никак понять не могу в чём касяк (((
The_Kurs
 
Сообщения: 161
Зарегистрирован: 16 фев 2007, 16:33
Откуда: Петропавловск-Камчатский

Re: касяки ATmega 128

Сообщение aesok » 06 сен 2007, 19:02

M103C
aesok
 
Сообщения: 69
Зарегистрирован: 11 авг 2006, 01:02
Откуда: ----

Сообщение avr123.nm.ru » 06 сен 2007, 19:21

The_Kurs писал(а):Спасибо я понял что эта команда не действует на адреса выше 31.


Там же написано КАК управлять.

The_Kurs писал(а):Я все равно никак не могу управлять портами PORTF и PORTG.


Как вы управляете ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: касяки ATmega 128

Сообщение avr123.nm.ru » 06 сен 2007, 19:22

aesok писал(а):M103C


Отключить совместимость фьюзом.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: касяки ATmega 128

Сообщение The_Kurs » 07 сен 2007, 08:34

PORTG=0x00;
DDRG=0xFF;

PORTF=0x00;
DDRF=0xFF;

while (1)
     {
     PORTG=0xFF;
   PORTD.7++;
   PORTF=PORTF+0x01;
         };

Из всех команд работает только PORTD.7++;
The_Kurs
 
Сообщения: 161
Зарегистрирован: 16 фев 2007, 16:33
Откуда: Петропавловск-Камчатский

Re: касяки ATmega 128

Сообщение avr123.nm.ru » 07 сен 2007, 09:41

The_Kurs писал(а):PORTG=0xFF;
   
PORTF=PORTF+0x01;


Если эти строки не работают то наверносовместимость с атмега103 у вас включена.

PORTF=PORTF+0x01;  лучше писать так

PORTF ++;    или так   PORTF += 1;  подробней на  avr123.nm.ru/05.htm  "Си для МК"
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: касяки ATmega 128

Сообщение The_Kurs » 07 сен 2007, 13:54

avr123.nm.ru писал(а):PORTF=PORTF+0x01;  лучше писать так

PORTF ++;    или так   PORTF += 1;  подробней на  avr123.nm.ru/05.htm  "Си для МК"

Действительно фьюз M103C изменил и заработало )))

PORTF++; вызывает ошибку компилятора... поэтому и написал по другому в .h файле порты E,F,G по описаны так :
#define DDRF *(unsigned char *) 0x61
#define PORTF *(unsigned char *) 0x62
из за этого и не получается через ++ писать (((
The_Kurs
 
Сообщения: 161
Зарегистрирован: 16 фев 2007, 16:33
Откуда: Петропавловск-Камчатский

Сообщение The_Kurs » 07 сен 2007, 14:19

Теперь у меня заработал порт F но только четыре младших разряда (((

Отключтл фьюз JTAG-а и все заработало как надо !!!
The_Kurs
 
Сообщения: 161
Зарегистрирован: 16 фев 2007, 16:33
Откуда: Петропавловск-Камчатский

Сообщение SSG » 07 сен 2007, 15:07

Datasheet, как всегда, сила!  :D
Аватара пользователя
SSG
 
Сообщения: 1058
Зарегистрирован: 15 янв 2007, 19:23
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК

Сообщение Master » 08 сен 2007, 10:33

SSG писал(а):Datasheet, как всегда, сила!  :D

Ничего мы же не ищем легких путей, но обычно такой гемор только если ДШ на англ., а тут есть все на русском :)
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Сообщение The_Kurs » 08 сен 2007, 12:29

без подсказки я бы ещё долго не додумался что все из за фьюзов)))
The_Kurs
 
Сообщения: 161
Зарегистрирован: 16 фев 2007, 16:33
Откуда: Петропавловск-Камчатский


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 23