Страница 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
от дальше забуксовал и не знаю чё дальше делать
О, Бог мой...

Ваш код никогда работать не будет. Читайте основы языка Си, хотя бы основы...
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
...буду учиться...
Ты код мой попробуй, работает?

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

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