roboforum.ru

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


Мега8 - глючит порт С

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

Мега8 - глючит порт С

Сообщение -= Александр =- » 31 мар 2006, 03:05

Что-то такое тут уже было, но никак не могу найти...
Суть проблемы: на PC4 и PC5 не могу выставить 0. Он просто не выставляется. В чем может быть дело? Никакие встроенные девайсы не задействованы.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение EdGull » 31 мар 2006, 06:21

Судя по всему  у тебя включен I2C это как раз его ноги, выключи его.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Сообщение avr123.nm.ru » 31 мар 2006, 09:05

? SCL/ADC5 ? Port C, Bit 5
SCL, Two-wire Serial Interface Clock: When the TWEN bit in TWCR is set (one) to
enable the Two-wire Serial Interface, pin PC5 is disconnected from the port and
becomes the Serial Clock I/O pin for the Two-wire Serial Interface.

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

Сообщение -= Александр =- » 31 мар 2006, 15:59

В том-то и дело что все выключено.
Вот прога:

Код: Выделить всёРазвернуть
//ICC-AVR application builder : 31.03.2006 4:42:45
// Target : M8
// Crystal: 8.0000Mhz

#include <iom8v.h>
#include <macros.h>

void port_init(void)
{
PORTB = 0x00;
DDRB  = 0xFF;
PORTC = 0x00; //m103 output only
DDRC  = 0xFF;
PORTD = 0x00;
DDRD  = 0x00;
}

//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();

MCUCR = 0x00;
GICR  = 0x00;
TIMSK = 0x00; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}

void main(void)
{
init_devices();
}


И даже из нее ноль не выставляется.
В общем везет мне на всякую мистику... Завтра попробую другой контроллер туда поставить...
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение -= Александр =- » 31 мар 2006, 17:49

Люди, не дайте умереть, к завтраму девайс нужен!
Воткнул новый контроллер - та-же фигня.  :cry:
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение EdGull » 31 мар 2006, 19:28

Попробуй на bascom AVR тоже самое написать.
или хочешь я тебе скомпелирую.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Сообщение avr123.nm.ru » 31 мар 2006, 20:35

меня вот это пугает:

//m103 output only

откуда у меги8 упоминание про 103-ю ???  вроде этож только для 128 режим совместимости и все такое....

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

Сообщение avr123.nm.ru » 31 мар 2006, 21:23

Поворчу:

Раз 20 уж писал тут что в курсе написано - один исходник не показывает всей картины, нужно цеплять архив с файлом ПРОЕКТА - в котором и настройки компилятора будут.

и .hex конечно  не помешает. тады и компилер не надобен.

======

так же раз 20 говорил юзайте VMLAB - если в нем работает а в МК нет - то просто замените МК.

======

В VMLAB почти ваша прога работает.

======

Вот - сохраните себе как шаблон все кто собирается юзать компилятор ICC.
Вложения
icc_vmlab_ATmega8.rar
(3.24 КиБ) Скачиваний: 76
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Сергей » 31 мар 2006, 23:17

Было и у меня такое, что глючил этот порт. Лечилось удалением медной проволочки застрявшей в схеме непонятно откуда. А когда второй раз порт полностью не включался, лечил стиранием\записю несколько раз и ресетом. Щас у мя таже мега8 и все норм работает.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11