Страница 8 из 132
Добавлено: Вт дек 18, 2007 17:47:56
Степаныч
Спасибо!Идея ясна!Пойду эксперементировать!А 12 секунд получается когда контроллер работает на частоте 8мгц.!
Добавлено: Сб дек 22, 2007 06:47:03
Chip115
Усе. В той проге разобрался. Теперь новая проблема.
Программа должна работать след. образом. При нажатии на кнопку 1 должен зажеться 0 на индикаторе . При нажатии на кнопу 2 должна зажеться 1. Индикатор с общим катодом. Кнопки подключены к PD0 и к PD1 и на землю. Индикатор подключен к порту B. В порядке dacgbfe-1234567. Точка на индикаторе и вывод 0 порта В незадействованы.
хотел чтоб все работало на частоте 4МГц с внешним кварцом, но низнаю как выставить фьюзы.
Выставил галочки :
CKSEL0
CKSEL2
CKSEL3
SUT0
он должен работать от внутреней цепочки.
В AVR Srudio все работает, а на яву нехочет.
Прив вкключении питания все сигменты начинают мигать и светяться ну ооочень тускло. На кнопки не реагирует. При отключении питания на мгновение ярко загораются некоторые сигменты.
незнаю где собака зарыта.
Может фузы нетак стоят?.
Добавлено: Сб дек 22, 2007 08:36:13
ИРБИС
Chip115 писал(а): низнаю как выставить фьюзы...
Может фузы нетак стоят?.
Всё о фьюзах... 
Добавлено: Сб дек 22, 2007 12:00:48
Chip115
выставил фузы. немного упростил исходник. Теперь должен зажеться один сигмент при нажатии кнопки, но почему то светятся все сигменты, независимо от кнопки.
исходник:
.def temp0 =r16
.def temp1 =r17
.def temp2 =r18
Init:
ser temp0 ;Все выводы порта А выход
out DDRA,temp0
ser temp0 ;Все выводы порта B выход
out DDRB,temp0
ldi temp0,0b11111110 ;Вывод 0 и 1 порта D вход
out DDRD,temp0
ldi temp0,0b00000000 ;подтяжка порта D включена
out PortD,temp0
clr temp0 ;подтяжка портов А и В отключена
out PortB,temp0
out PortA,temp0
Start:
sbic PinD,0 ;Проверяем нажатие кнопки 1
ldi temp2,0b00000001 ;
out PortB,temp2 ;Зажигаем сигмент
rjmp Start
attiny 2313v
Добавлено: Сб янв 12, 2008 04:08:01
Dock
доброй ночи.
хотел бы сказать огромное спсибо тем кто разрабатывал этот форум и раздел с "обучалкой". первый раз я нашол именно этот раздел и прочитав его сделал себе програматор заранее купив 2-е attiny 2313v (хорошо, что 2).

все меня сразу поняли. сегодня нашол все ответы которые бы хотел найти.. основа есть.. но вот обидно когда разбирался по глупости, точнее просто забыл убрать галку в CODEvisionAVR а именно program fuse bit(s) и по невнимательно нажал прошить. вообще эту прогу попробовал просто так для знания. Хотя до этого полностью разобрал PonyProg и в ней уже прошил свой первый код. Естественно после этой процедуры (прошивка в AVR) контроллер на мой многчисленный мат перестал видется... в этом же разделе прочитал что можно востановить но ничего не понял.. объясните чем же можно исправить мою ошибку???
Добавлено: Вс янв 13, 2008 00:56:33
UkrRadist
Долго искал информацию по програмированию и прошивке микроконтролеров.наконец то собрал свой первый(!) STK200,собрал схемку на Тини2313 с четирьмя светоиодами,нашел какую то прошивку и решил это скомпонировать.дело было вчера.вставив программатор в ЛПТ у меня загорелся светодиод на STK200,который у меня соеденьон между землей(10) и VCC(20) 74HC244N,хотя и красиво, но меня это не обрадовало(так должно бить?ведь я еще нечего не шью!).Подключил плату з Тинькою,подал питание,запустил Avreal, он выдал какую то ошибку(ниже привел).так я не поняв в чом проблема лег спать с каменем на душе

.Может кто то мне подскажет, как можно знать что програматор и контроллер работает,может есть какието "контрольные точки"?
Добавлено: Вс янв 13, 2008 01:15:00
Brutaller
UkrRadist, ведь avreal тебя ясно сказал "Altera ByteBlaster not found" , т.е. не найден такой :)
А чтож ты хотел, если ты говоришь, что STK200 собрал :)
Ключик то в командной строке "-ab" , что значит шить через Altera ByteBlaster. Поставь "-as" и будет тебе счастье.
Со страницы автора AVReAl :
-ab работа через Altera ByteBlaster (включая ByteBlasterMV, ByteBlaster-II)
-as работа через адаптер Atmel STK*00
-aa автоматический выбор ByteBlaster/STK
А можешь просто -aa поставить и не париться.
А ключ -! убери, не нужен он, это только для экстремальных случаев.
И зачем тебе ключ -o0 ? Если не ошибаться с прошивкой фьюза CKSEL, то он нафиг не нужен.
И ключ -2 зачем ???
Ну а про светодиод ты сам ответил на свой вопрос. Он же у тебя между землей и питанием сидит? Так что же ты от него еще то хочешь? :))
P.S.
Подробное описание AVReAl, читай внимательно и вопросов будет меньше ;)
Добавлено: Вс янв 13, 2008 01:33:39
UkrRadist
не знаю почему там окзалось -ab, ведь я хотел -aa, а что косается светодиода, то он у меня светится при отсутствии питанния на плате,выходит, светится от ЛПТ-порта.Но спасибо что мне глаза открыл, попробую сейчас еще раз.
Добавлено: Вс янв 13, 2008 02:01:02
UkrRadist
только что пробовал прошить.Сначала запустил АвРеал,выдало какуюто ошибку,вроде МК не включен.Потом запустил CodeVision,в ответ тоже чтото страшное получил.даже не знаю в чем дело.Ниже приведены ответы при прошивке.
Добавлено: Вс янв 13, 2008 02:26:35
Brutaller
Вобщем не могут программаторы связаться с кристаллом, вот о чем говорят твои скриншоты. А причин быть может очень много. Проверяй все по порядку. Остается надеяться, что ты не загнал некоторые фьюзы, а соответственно и сам чип "в позу".
А ты хоть что-нить им уже прошивал? Или это твой первый программатор и первый чип(ATtiny2313) ?
Добавлено: Пн янв 14, 2008 01:09:27
UkrRadist
Все,всем спасибо,вопрос снимается.Схема заработала,диоды моргают!!я просто перепутал выводы в шлейфе

.
Добавлено: Вт янв 22, 2008 15:15:52
Chip115
Всем привет! Учусь програмировать на С. Хочу написать первую свою прогу для тини2313. Смыс в то надо чтоб светодид мигал с частотой в одну секнду. Сколько писал-все ошибки лезут. ВОт исходник.
Код: Выделить всё
#include <iotn2313>
#include <delay>
int main()
{
DDRB=0xFF; //Настройка портаB
DDRA=0xFF; //Настройка порта A
DDRD=0xFF; //Настройка порта D
PortB=0x01; //Включаесм СИД
delay_us(1000); //Ждем
PortB=0x00; //Выключам СИД
while (1)
}
Добавлено: Вт янв 22, 2008 19:38:29
DIM4
попробуй так
Код: Выделить всё
include <iotn2313>
#include <delay>
int main()
{
DDRB=0xFF; //Настройка портаB
DDRA=0xFF; //Настройка порта A
DDRD=0xFF; //Настройка порта D
while (1)
{
PortB=0x01; //Включаесм СИД
delay_us(1000); //Ждем
PortB=0x00; //Выключам СИД
delay_us(1000);
}
}
Добавлено: Вт янв 22, 2008 20:46:09
ARV
НЕ буду утверждать, но если я не путаю, PORTB и PortB в Си - это две большие разницы.
Добавлено: Вт янв 22, 2008 21:13:41
Krik99
А каким компилятором пользуешся? Если только начал учить Си, можеш писать под CodeVision AVR... Но хотя , каждому нравится разные компиляторы... Ошибочек много, даже с тем PortB , если CodeVIsion, то где-то такой исходник у меня на форуме был... Просто вот мне кажется ещё ошибочка с #include <iotn2313> #include <delay> хотя, я незнаю под какой компилятор было написано...

Добавлено: Ср янв 23, 2008 14:44:52
Chip115
Krik99 писал(а):А каким компилятором пользуешся?
AVR Studio.
Щас попробую исправить.

Добавлено: Ср янв 23, 2008 14:47:26
Chip115
DIM4 писал(а):попробуй так
Код: Выделить всё
#include <iotn2313>
#include <delay>
int main()
{
DDRB=0xFF; //Настройка портаB
DDRA=0xFF; //Настройка порта A
DDRD=0xFF; //Настройка порта D
while (1)
{
PORTB=0x01; //Включаесм СИД
delay_us(1000); //Ждем
PORTB=0x00; //Выключам СИД
delay_us(1000);
}
}
Не работает. Где собака зарыта?
Добавлено: Ср янв 23, 2008 17:18:21
Krik99
А что делает контролёр после подачи питания? Мне кажется, delay_us(1000); это сильно быстро, попробуй delay_ms(1000);
Попробуй так... Хотя может я и сам пару ошибок сделаю, так как пишу под CodeVision AVR...
Код: Выделить всё
#include <iotn2313>
#include <delay>
int main()
{
DDRB=0xFF; //Настройка портаB
DDRA=0xFF; //Настройка порта A
DDRD=0xFF; //Настройка порта D
while (1)
{
PORTB=0xFF; //Включаем весь порт В
delay_ms(1000); //Ждем
PORTB=0x00; //Выключам весь порт В
delay_ms(1000); //Ждём
}
}
Хотя попробуй по совмещать мой код, со своим...
Если будет время, попробую сам сделать...
Добавлено: Ср янв 23, 2008 23:54:32
DIM4
а какие именно ошибки выдаёт ?
Добавлено: Чт янв 24, 2008 02:04:34
Chip115
DIM4 писал(а):а какие именно ошибки выдаёт ?
../11.c:1:23: iotn2313.h: No such file or directory
../11.c:2:20: delay.h: No such file or directory
../11.c: In function `main':
../11.c:5: error: `DDRB' undeclared (first use in this function)
../11.c:5: error: (Each undeclared identifier is reported only once
../11.c:5: error: for each function it appears in.)
../11.c:6: error: `DDRA' undeclared (first use in this function)
../11.c:7: error: `DDRD' undeclared (first use in this function)
../11.c:10: error: `PORTB' undeclared (first use in this function)
../11.c:11: warning: implicit declaration of function `delay_ms'
make: *** [11.o] Error 1
Build failed with 8 errors and 1 warnings...