Обсуждаем контроллеры компании Atmel.
Ответить

Вт дек 18, 2007 17:47:56

Спасибо!Идея ясна!Пойду эксперементировать!А 12 секунд получается когда контроллер работает на частоте 8мгц.!

Сб дек 22, 2007 06:47:03

Усе. В той проге разобрался. Теперь новая проблема.
Программа должна работать след. образом. При нажатии на кнопку 1 должен зажеться 0 на индикаторе . При нажатии на кнопу 2 должна зажеться 1. Индикатор с общим катодом. Кнопки подключены к PD0 и к PD1 и на землю. Индикатор подключен к порту B. В порядке dacgbfe-1234567. Точка на индикаторе и вывод 0 порта В незадействованы.
хотел чтоб все работало на частоте 4МГц с внешним кварцом, но низнаю как выставить фьюзы.
Выставил галочки :
CKSEL0
CKSEL2
CKSEL3
SUT0
он должен работать от внутреней цепочки.
В AVR Srudio все работает, а на яву нехочет.
Прив вкключении питания все сигменты начинают мигать и светяться ну ооочень тускло. На кнопки не реагирует. При отключении питания на мгновение ярко загораются некоторые сигменты.
незнаю где собака зарыта.
Может фузы нетак стоят?.
Вложения
002.asm
Исходник
(871 байт) Скачиваний: 596

Сб дек 22, 2007 08:36:13

Chip115 писал(а): низнаю как выставить фьюзы...
Может фузы нетак стоят?.
Всё о фьюзах... :evil:

Сб дек 22, 2007 12:00:48

выставил фузы. немного упростил исходник. Теперь должен зажеться один сигмент при нажатии кнопки, но почему то светятся все сигменты, независимо от кнопки.
исходник:
.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

доброй ночи.
хотел бы сказать огромное спсибо тем кто разрабатывал этот форум и раздел с "обучалкой". первый раз я нашол именно этот раздел и прочитав его сделал себе програматор заранее купив 2-е attiny 2313v (хорошо, что 2). :))) все меня сразу поняли. сегодня нашол все ответы которые бы хотел найти.. основа есть.. но вот обидно когда разбирался по глупости, точнее просто забыл убрать галку в CODEvisionAVR а именно program fuse bit(s) и по невнимательно нажал прошить. вообще эту прогу попробовал просто так для знания. Хотя до этого полностью разобрал PonyProg и в ней уже прошил свой первый код. Естественно после этой процедуры (прошивка в AVR) контроллер на мой многчисленный мат перестал видется... в этом же разделе прочитал что можно востановить но ничего не понял.. объясните чем же можно исправить мою ошибку???

Вс янв 13, 2008 00:56:33

Долго искал информацию по програмированию и прошивке микроконтролеров.наконец то собрал свой первый(!) STK200,собрал схемку на Тини2313 с четирьмя светоиодами,нашел какую то прошивку и решил это скомпонировать.дело было вчера.вставив программатор в ЛПТ у меня загорелся светодиод на STK200,который у меня соеденьон между землей(10) и VCC(20) 74HC244N,хотя и красиво, но меня это не обрадовало(так должно бить?ведь я еще нечего не шью!).Подключил плату з Тинькою,подал питание,запустил Avreal, он выдал какую то ошибку(ниже привел).так я не поняв в чом проблема лег спать с каменем на душе :cry: .Может кто то мне подскажет, как можно знать что програматор и контроллер работает,может есть какието "контрольные точки"?
Вложения
1.JPG
ответ от Авреал
(41.14 KiB) Скачиваний: 632

Вс янв 13, 2008 01:15:00

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

не знаю почему там окзалось -ab, ведь я хотел -aa, а что косается светодиода, то он у меня светится при отсутствии питанния на плате,выходит, светится от ЛПТ-порта.Но спасибо что мне глаза открыл, попробую сейчас еще раз.

Вс янв 13, 2008 02:01:02

только что пробовал прошить.Сначала запустил АвРеал,выдало какуюто ошибку,вроде МК не включен.Потом запустил CodeVision,в ответ тоже чтото страшное получил.даже не знаю в чем дело.Ниже приведены ответы при прошивке.
Вложения
33.jpg
А вот так мне ответил АвРеал
(16.21 KiB) Скачиваний: 690
22.jpg
Вот что мне сказал CodeVision
(30.72 KiB) Скачиваний: 489

Вс янв 13, 2008 02:26:35

Вобщем не могут программаторы связаться с кристаллом, вот о чем говорят твои скриншоты. А причин быть может очень много. Проверяй все по порядку. Остается надеяться, что ты не загнал некоторые фьюзы, а соответственно и сам чип "в позу".

А ты хоть что-нить им уже прошивал? Или это твой первый программатор и первый чип(ATtiny2313) ?

Пн янв 14, 2008 01:09:27

Все,всем спасибо,вопрос снимается.Схема заработала,диоды моргают!!я просто перепутал выводы в шлейфе :)) .

Вт янв 22, 2008 15:15:52

Всем привет! Учусь програмировать на С. Хочу написать первую свою прогу для тини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

попробуй так
Код:
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

НЕ буду утверждать, но если я не путаю, PORTB и PortB в Си - это две большие разницы.

Вт янв 22, 2008 21:13:41

А каким компилятором пользуешся? Если только начал учить Си, можеш писать под CodeVision AVR... Но хотя , каждому нравится разные компиляторы... Ошибочек много, даже с тем PortB , если CodeVIsion, то где-то такой исходник у меня на форуме был... Просто вот мне кажется ещё ошибочка с #include <iotn2313> #include <delay> хотя, я незнаю под какой компилятор было написано... :)

Ср янв 23, 2008 14:44:52

Krik99 писал(а):А каким компилятором пользуешся?

AVR Studio.
Щас попробую исправить. :)

Ср янв 23, 2008 14:47:26

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

А что делает контролёр после подачи питания? Мне кажется, 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);      //Ждём
   }
}


Хотя попробуй по совмещать мой код, со своим... 8)
Если будет время, попробую сам сделать...

Ср янв 23, 2008 23:54:32

а какие именно ошибки выдаёт ?

Чт янв 24, 2008 02:04:34

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...
Ответить