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

 
 
> Не работают порты на выход, Mega16 (PC2-PC5)
Integral
сообщение Sep 13 2008, 21:51
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 9-08-08
Пользователь №: 39 519



Не работают порты на выход.

На портах:
PC2 всегда лог. 1
PC3 всегда лог. 1
PC4 всегда лог. 0
PC5 всегда лог. 1

Код для проверки писал такой:
Код
while (1)
      {
       PORTA=0xFF;
       PORTB=0xFF;
       PORTC=0xFF;
       PORTD=0xFF;
      
       delay_ms(1000);
      
       PORTA=0;
       PORTB=0;
       PORTC=0;
       PORTD=0;      
      
       delay_ms(1000);
      };


Думал что возможно статикой спалил порты и не работают..... купил еще одну мегу, картина та же....

Компилятор CodeVisionAVR

Код инициализации генериться автоматически.

Весь код:
Код
#include <mega16.h>    
#include <delay.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTA=0x00;
DDRA=0xFF;

// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0xFF;

// Port C initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTC=0x00;
DDRC=0xFF;

// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTD=0x00;
DDRD=0xFF;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

while (1)
      {
       PORTA=0xFF;
       PORTB=0xFF;
       PORTC=0xFF;
       PORTD=0xFF;
      
       delay_ms(1000);
      
       PORTA=0;
       PORTB=0;
       PORTC=0;
       PORTD=0;      
      
       delay_ms(1000);
      };
}


т.е. все порты настроены на вывод инфы и должны "моргать" с периодом 1с. Все ок за исключением 4 портов которые я описал выше....
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Integral
сообщение Sep 13 2008, 22:13
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 9-08-08
Пользователь №: 39 519



Проблема вся в том что не понятно откуда копать чтобы понять в чем проблема.... соотвецтвено и какой раздел даташита читать..... а весь перечитать это 07.gif
Go to the top of the page
 
+Quote Post
aesok
сообщение Sep 13 2008, 23:35
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(Integral @ Sep 14 2008, 02:13) *
Проблема вся в том что не понятно откуда копать чтобы понять в чем проблема.... соотвецтвено и какой раздел даташита читать..... а весь перечитать это 07.gif


Показываю на примере как копать.

Проблема: не работают пины PC2, PC3, PC4, PC5 порта С.

1. Открываем даташит изучаем оглавление. Находим раздел I/O Ports, страница 50
2. Читаем этот раздел в надежде понять почему не работает порт.
3. Дочитываем до страницы 61, раздел Alternate Functions of Port С, ага, читаем дальше внимательнее.
4. Вот оно! В описании PC2, PC3, PC4, PC5 видим фразу: "When the JTAG interface is enabled, this pin can not be used as an I/O pin."
5. Задаемся вопросом. А может быть включен JTAG? и продолжаем читать этот раздел дальше...
6. В табличках 29 и 30 в столбцах посвященных PC2, PC3, PC4, PC5 находим - JTAGEN. И ни слова включен JTAG или нет.
7. Нигде рядом ответа на этот вопрос нет..... Запускаем поиск "JTAGEN" в даташите.
8. изучаем результаты... табличка 105, на странице 263:
JTAGEN
Description: Enable JTAG
Default Value : 0 (programmed, JTAG enabled)
Все ясно, по умолчанию включен.
9. Открываем документацию на программатор и узнаем как изменить этот бит.

Проблема решена.

Анатолий.

Сообщение отредактировал aesok - Sep 13 2008, 23:38
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 14 2008, 09:57
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(aesok @ Sep 14 2008, 02:35) *
Показываю на примере как копать.
Браво! Мне кажется этот ответ должен быть прибит гвоздями в шапке форума.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Integral   Не работают порты на выход   Sep 13 2008, 21:51
- - Flasher   Есть 2 варианта- можешь читать даташит и сам найти...   Sep 13 2008, 21:59
- - aesok   Цитата(Integral @ Sep 14 2008, 01:51) Дум...   Sep 13 2008, 21:59
|- - IgorKossak   Цитата(Сергей Борщ @ Sep 14 2008, 12:57) ...   Sep 15 2008, 20:48
- - bloodden   И поиска не существует? Каждый месяц только на эле...   Sep 13 2008, 22:21
- - Flasher   [CENSORED]   Sep 14 2008, 09:46
- - bloodden   Цитата(aesok @ Sep 14 2008, 02:35) Показы...   Sep 16 2008, 06:51
- - IgorKossak   bloodden, моё замечание относилось к Flasher.   Sep 16 2008, 06:56
|- - bloodden   Цитата(IgorKossak @ Sep 16 2008, 09:56) b...   Sep 16 2008, 20:40
- - Integral   Всем спасибо, в даташите все нашёл.....   Sep 16 2008, 10:17
- - Якут   Братцы, сразу извиняюсь за вопрос, который может о...   Dec 23 2008, 16:28
|- - haker_fox   Цитата(Якут @ Dec 24 2008, 00:28) Чешу ре...   Dec 23 2008, 16:57
||- - ut1wpr   Цитата(haker_fox @ Dec 23 2008, 19:57) (с...   Dec 25 2008, 12:11
|- - Огурцов   Цитата(Якут @ Dec 23 2008, 16:28) Результ...   Dec 23 2008, 17:05
|- - _Pasha   Цитата(Якут @ Dec 23 2008, 20:28) Блин. ...   Dec 23 2008, 17:47
- - rezident   Я хоть с AVR и не работал, но настолько наслышан о...   Dec 23 2008, 19:00
- - Goodefine   Цитата...Меняю мегу на другой экземпляр - то же са...   Dec 25 2008, 20:18


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

 


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


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