роботы робототехника микроконтроллеры


 Страниц (17): « 1 2 3 [4] 5 6 7 8 9 ... » В конец    

> Без описания
Иван Post Id


Рядовой


Сообщений всего: 1
Дата рег-ции: Июнь 2009  



Гусек,
Цитата:
В Windows 2000 и Windows XP запрещена прямая работа с параллельным (LPT) портом, поэтому для нормальной работы AVRDUDE необходимо установить драйвер giveio.sys. Для установки этого драйвера зайдите в папку WinAVR\bin и запустите файл install_giveio.bat (удалить драйвер из системы можно, запустив файл remove_giveio.bat).
В Windows 98 никаких специальных настроек не требуется.


http://myrobot.ru/stepbystep/mc_programmer.php смотри внизу, может это оно... Подмигивающий
 
 Top
Гусек Post Id


Рядовой


Сообщений всего: 11
Дата рег-ции: Март 2009  



ну вообще я устанавливал этот драйвер. Проблема в чем то другом Замешательство
(Добавление)
Скажите пожалуйста в чем еще может быть проблема? Может это быть неисправность МК
или ошибка в цепи???
 
 Top
Admin Администратор Post Id


Администратор


Сообщений всего: 897
Дата рег-ции: Май 2006  



Посмотрите есть ли у Вас вообще параллельный порт в системе.
Прикреплено изображение
lptportsys.gif

 
 Top
Гусек Post Id


Рядовой


Сообщений всего: 11
Дата рег-ции: Март 2009  



Я посмотрел в диспетчере устройств порт есть. Все как показанно на рисунке.
 
 Top
Гость Post Id


УДАЛЁН







Вопрос туда же:
как просмотреть подключен ли програматор к этому(ЛПТ1) порту?
 
 Top
бот_м_16 Супермодератор Post Id



Супермодератор


Сообщений всего: 1033
Дата рег-ции: Окт. 2008  



Посмотреть на обратную сторону системника....
 
 Top
Гость Post Id


УДАЛЁН







Замешательство Смешно...
 
 Top
бот_м_16 Супермодератор Post Id



Супермодератор


Сообщений всего: 1033
Дата рег-ции: Окт. 2008  



Прочитать сигнатуру камня...
 
 Top
nexyse Post Id



Рядовой


Сообщений всего: 1
Дата рег-ции: Авг. 2009  



Здраствуйте, спаял "проект на микроконтроллере" и программатор "5 проводков" с 4мя резисторами, но, вот, с ошибками, неработает, рёв в три ручья
когда нажимаю прошить программу ВинАвр не находит мой прибор, пишет тоже самое, как если не подключать его(прибор):
"avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check."

есть пара вопросов,

1. должно ли появляться что-то вроде "обнаружено новое устройство" или другой сигнал говорящий о подключении устройства, когда подключаеш.

2. когда подключаю мой прибор, бывает диод горит, бывает нет, бывает еле-еле горит, причем от того подключены ли батарейки ничего не меняется, когда програматор отключаю от прибора - подключаю прибор только к батарейкам, то никогда диод не горит. Это у всех так?

3. как правильно припаять конденсаторы и резонатор,я имею ввиду: у них есть ножка " + " и ножка " - " как у диода, или они как резистор - без разницы какой стороной цеплять? Когда я паял, то почемуто думал что их неважно какой стороной паять.

(Отредактировано автором: 23 Августа, 2009 - 22:28:59)

 
 Top
Admin Администратор Post Id


Администратор


Сообщений всего: 897
Дата рег-ции: Май 2006  



1. нет

2. Это зависит от состояния и настроек LPT-порта и операциооной системы и это нормально.

3. не важно.
Кроме того, их можно вообще не припаивать. ATmega8 будет работать и без внешнего тактирующего сигнала, так как ее внутренние настройки с завода установлены на работу с внутренним генератором (1 MHz). Но на плате для них место зарезервировать надо, чтобы потом поэкспериментировать с различными источниками тактирования и настройками fuse-битов.

Попробуйте проверить наличие LPt-порта в "Дипетчере устройств". Если его там нет, то установите в BIOS.
Не забудьте установить драйвер giveio.
Проверьте правильность соединений.
Если соединения правильные и ничего не получается, попробуйте "прошить" микроконтроллер на другом компьютере.
 
 Top
dimamukhin Post Id



Лейтенант


Сообщений всего: 32
Дата рег-ции: Март 2009  



Помогите разобраться :

При нажатии PINC.2 загорается 1-й светодиод вместо 2 и 5-го.
Где ошибка ? Ламер

программа codeVision

char i=0 , a , c;
PORTD=0b00000010 ;

While (1)
{



while (PINC.2==0)
{
i++;
if(i>4)i=0;
c=0b00001000<<i;
a=PORTD||c;
PORTD=a;
delay_ms(100);
};
}

(Отредактировано автором: 25 Августа, 2009 - 00:39:55)

 
 Top
Admin Администратор Post Id


Администратор


Сообщений всего: 897
Дата рег-ции: Май 2006  



А это у Вас для чего?

dimamukhin пишет:
a=PORTD||c;


Операция логического 'или'

выражение || выражение

Операция || группируется слева направо. Она возвращает 1,
если один из операндов отличен от нуля, и 0 в противном слу-
чае. В отличие от операции | операция || гарантирует вычис-
ление слева направо; более того, если первый операнд отличен
от нуля, то значение второго операнда вообще не вычисляется.

Операнды не обязаны быть одинакового типа, но каждый из
них должен быть либо одного из основных типов, либо указате-
лем. Результат всегда имеет тип int.
 
 Top
Dimsan Post Id


Рядовой


Сообщений всего: 11
Дата рег-ции: Июль 2009  



2dimamukhin, выложи всю программу полностью, а то я вижу, что это какие-то куски.
Я не вижу где конфигурируются вход и выходы. Что имеется в виду 1 светодиод? Светодиод на PORTD.1?
И вообще, зачем так мудрить?? Нужен какой-то определённый уикл мигания?
 
 Top
dimamukhin Post Id



Лейтенант


Сообщений всего: 32
Дата рег-ции: Март 2009  



#include <mega8.h>
#include <delay.h>

char i=0, a, c;

void main(void)
{

PORTC=0xFF;
DDRC=0x00;

PORTD=0b00000010 ; постоянно должен гореть 2-ой светодиод;
DDRD=0xFF;

TCCR0=0x00;
TCNT0=0x00;


ACSR=0x80;
SFIOR=0x00;



while (1)

{
while (PINC.2==0)
{
i++;
if(i>4)i=0;
c=0b00001000<<i; с каждым нажатием на PINС.2 светодиод должен смещаться , а 2-ой постоянно гореть.
a=PORTD||c;
PORTD=a;
delay_ms(100);
}
}
}

Вобщем смысл такой , чтобы при нажатии кнопки, 2-ой светодиод горел, а другой смещался на еденичку влево !

(Отредактировано автором: 26 Августа, 2009 - 23:16:06)

 
 Top
Shum Post Id



Майор


Сообщений всего: 65
Дата рег-ции: Июль 2009  



1) i++; ставь после того как зажется светик, так как по умолчанию, i=0, что должно зажигать первый светодиод, иначе, ты его пропустишь!
2) во вторых, что это такое || ??? поставь ОДНУ палочку |, и будет тебе поразрядное логическое сложение "ИЛИ"...

вот такое хотел(проверил работает):
#include <mega8.h>
char i=0;
void main(void)
{
PORTC=0xFF;
DDRC=0x00;
PORTD=0b00000010 ; //постоянно должен гореть 2-ой светодиод;
DDRD=0xFF;
TCCR0=0x00;
TCNT0=0x00;
ACSR=0x80;
SFIOR=0x00;

while (1){
while (PINC.2==0){
if(i>4){i=0;}

PORTD=(2)|(1<<i);
i++;
while(PINC.2==0) {}
}}}

(Отредактировано автором: 27 Августа, 2009 - 15:17:35)

 
 Top
Страниц (17): « 1 2 3 [4] 5 6 7 8 9 ... » В конец
« Программирование микроконтроллеров »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru