Страница 1 из 1

помогите новичку

Добавлено: Вт авг 09, 2011 16:13:10
fill31
Ребята пишу прогу элементарную ваще , но нихрена не выходит((
Вобщем микруха tiny 2313


Когда PD0 приходит 0, тогда на PB1 будет 1, а на PB7 будет 0.
И наоборот Когда PD0 приходит 1, тогда на PB1 будет 0, а на PB7 будет 1
Сам понимаю ничё сложного но чёто нихрена не выходит ,ругаеццо и всё

Re: помогите новичку

Добавлено: Вт авг 09, 2011 16:23:54
Arlleex
1) Пиши-ка ты по русски;
2) Суть проблемы вроди бы понятна, но мы не экстрасенсы, и поэтому не знаем, где, как и на чем ты писал программу.
Если не дошло:
Выложи код программы, в чем пишешь, на что ругается, и на каком языке пишешь.
Название темы поменяй - иначе закроют.

Re: помогите новичку

Добавлено: Вт авг 09, 2011 16:24:51
МитяРа
Да и тему следует переименовать и сделать в соответствующем разделе...

Re: помогите новичку

Добавлено: Вт авг 09, 2011 17:11:29
fill31
Пишу в avr studio 4.0

вот что удалось состряпать
#define F_CPU 1000000UL

#include <avr/io.h>
#include<avr/attuny2313.h> // здесь не уверен на счёт подгружаемой библиотеки

void main(void)

DDRB = 0xFF;//настройка на вывод сигнала

DDRD = 0x00;// на ввод

while (0==0)
{
if (PIND == 0b00000000);
PORTB = 0b00000001;
_delay_ms(200);
else

от дальше забуксовал и не знаю чё дальше делать

Re: помогите новичку

Добавлено: Вт авг 09, 2011 17:13:08
fill31
а на какую тему нада переименовать?

Re: помогите новичку

Добавлено: Вт авг 09, 2011 17:15:20
Arlleex
Подумайте сами.
И почитайте п.4 правил форума.

(Переименуйте название темы с "помогите новичку" на что-нибудь более внятное).
В авр студио, вроди бы не особо пишут на си...
Пишите лучше в CVAVR или WinAVR, или в чем-то что вам удобно...

Re: помогите новичку

Добавлено: Вт авг 09, 2011 17:21:36
Arlleex
fill31 писал(а):Пишу в avr studio 4.0

вот что удалось состряпать
#define F_CPU 1000000UL

#include <avr/io.h>
#include<avr/attuny2313.h> // здесь не уверен на счёт подгружаемой (никогда е видел такого микроконтроллера) библиотеки

void main(void)

DDRB = 0xFF;//настройка на вывод сигнала

DDRD = 0x00;// на ввод

while (0==0)
{
if (PIND == 0b00000000);
PORTB = 0b00000001;
_delay_ms(200);
else

от дальше забуксовал и не знаю чё дальше делать
О, Бог мой... :facepalm: Ваш код никогда работать не будет. Читайте основы языка Си, хотя бы основы...
int main(void)
{
DDRB=0xFF;
DDRD=0x00;
Дальше цикл
while(0==0) это что значит??
if (PIND==0b00000000) тут не надо ";", это не является законченным выражением - инструкцией
PORTB=0b00000001;
зачем спрашивается у делая нижнее подчеркивание?? нужно просто delay_ms(200); - ди и не понятно, зачем эта задержка...
дальше у вас else - ну и что дальше? где остальной код?

}

Re: помогите новичку

Добавлено: Вт авг 09, 2011 17:37:46
Arlleex
#include <avr/io.h>
#include <avr/attiny2313.h>
int main(void)
{
DDRD=0x00;
DDRB=0xFF;
while(1)
{
if PIND==0b00000000
{
PORTB=0b00000001;
}
else if PIND==0b00000001
{
PORTB==0b10000000;
}
}
return 0;
}
Естественно, файлы io.h и attiny2313.h должны существовать и находиться в директории (файл программы)-----avr/oi.h----attiny2313.h).

Re: помогите новичку

Добавлено: Вт авг 09, 2011 17:43:46
fill31
ПОНЯЛ! буду учиться, :))

Re: помогите новичку

Добавлено: Вт авг 09, 2011 17:46:58
Arlleex
...буду учиться...
:beer:

Ты код мой попробуй, работает? :)

Re: помогите новичку

Добавлено: Вт авг 09, 2011 18:56:32
fill31
ща пробую :)))

Re: помогите новичку

Добавлено: Вт авг 09, 2011 19:01:18
Света
Предупреждения были, ничего не поменялось...
Тема закрыта, нарушение Правил форума п.3