Например TDA7294

Форум РадиоКот • Просмотр темы - ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс июл 27, 2025 23:45:32

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2636 ]     ... , , , 7, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс ноя 11, 2007 23:57:21 
Модератор
Аватар пользователя

Карма: 27
Рейтинг сообщений: 58
Зарегистрирован: Пн апр 03, 2006 11:43:25
Сообщений: 4517
Откуда: Санкт - Петербург
Рейтинг сообщения: 0
Медали: 3
Получил миской по аватаре (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Такое случается при проблемах с кабелем

_________________
Оптимизм х (Опыт + Знания) = const


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн ноя 12, 2007 01:02:14 
Встал на лапы
Аватар пользователя

Зарегистрирован: Сб мар 31, 2007 13:53:07
Сообщений: 111
Откуда: Lviv
Рейтинг сообщения: 0
Aheir писал(а):
Такое случается при проблемах с кабелем

походу дела плохой контакт земли, завтра перепаяю


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 07, 2007 00:10:20 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт дек 06, 2007 22:26:18
Сообщений: 75
Рейтинг сообщения: 0
Доброго всем времени суток.
Замучался я программировать Tiny2313 - в AVRStudio программа отлаживается нормально, в Proteus все работает отлично, но прошить никак не мог, до тех пор, пока не наткнулся на статью Ксеньи, за что ей огромное спасибо. Сделал все, как она прописала, тинька завелась и начала работать. На радостях стал баловаться - зашивать в нее разные программы и смотреть, что к чему. Все получалось до тех пор, пока я не вшил в нее код, который выставляет в "1" все порты B, а на портах D делает "бегущий огонек". Прошил, все работает, как доктор прописал, НО... больше тинька не шьется. А счастье было так близко...
Использую AVReal + ByteBlaster. При очередной прошивке программа выдает:
AVReal писал(а):
Can't resync
Reset pin released
Adapter disabled


Что за такое? Никак не пойму. Что заставило тиньку так себя вести? Неужели на это повлияло то, что все порты B установлены в "1" и далее не дают нормально запрограммировать микроконтроллер? Думаю, что дело не в этом. Фузы, после того, как воспользовался советом Ксеньи больше не менял, следовательно это не должно было повлиять. Использую внешний кварц на 4MHz. Ставил на 8, 10 и 20 - результат тот же. Подавал на XTAL1 внешний сигнал - не помогает. До этого баловался с 90S2323, шил многократно - все еще работает. Но что там можно сделать с тремя портами? Вот и решил взять что-то по-интереснее.
Перечитал эту ветку вдоль и поперек. Выполнил все, что здесь рекомендовали. Однако, безрезультатно. Завтра, конечно же я куплю новую микросхему, однако что-то мне подсказывает, что результат может стать таким же...

Подскажите, люди добрые, как мне справиться с бедой?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 07, 2007 20:18:42 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн ноя 05, 2007 12:44:43
Сообщений: 87
Откуда: C:\Russia\SPb
Рейтинг сообщения: 0
То, что было выставлено в порт, никакого отношения не имеет к прошивке. Я сначала подумал, что ты просто некорректно прошил фьюз CKSEL. Например, если он прошьется как CKSEL=0, то потом такой кристалл можно будет перешить только с подачей внешней тактовой. Но ведь ты говоришь, что пробовал внешний сигнал. Остается только пара вариантов, либо ты как-то спалил его. Либо некорректно зашились фьюзы SPIEN или RSTDISBL. А если произошла беда с этими фьюзами, то (если верить тому, что писали многие, а также одному пункту из раздела errata даташита) это равносильно смерти. Смотри в даташите раздел errata, пункт 2 "Parallel programming does not work". Если я не туплю, то получается, что кристалл может попасть в такое состояние, что и по SPI он не будет зашиваться и параллельным способом тоже. А вообще почитав разные форумы, я понял, что ATtiny2313 многие не любят из-за ее ненадежности и глюковатости. Но не смотря на это, мне именно этот кристалл на бывшей работе приходилось зашивать в очень больших кол-вах и проблем не возникало. Да и сам я себе приобрел такой для обучения )) , и по сей день его мучаю, перешивал его уже наверно тысячу раз, пока живой ))


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 07, 2007 23:33:11 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт дек 06, 2007 22:26:18
Сообщений: 75
Рейтинг сообщения: 0
Я же написал, что
@ndrey писал(а):
Фузы, после того, как воспользовался советом Ксеньи больше не менял

Значится дело в другом...

В общем, решил я проблему так: укоротил 10-проводный шлейф до 10 см и все стало прошиваться.

Всем спасибо за участие!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб дек 08, 2007 11:53:16 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн ноя 05, 2007 12:44:43
Сообщений: 87
Откуда: C:\Russia\SPb
Рейтинг сообщения: 0
@ndrey писал(а):
В общем, решил я проблему так: укоротил 10-проводный шлейф до 10 см и все стало прошиваться.


А вот это меня удивило. Вспоминаю бывшую работу, так вот там длина шлейфа между микросхемой-буфером (HC244) и ISP разъемом была никак не менее 2-х метров(!). Хоть это и нарушение всех рекомендаций, но проблем с прошивкой никогда не возникало, а шить как я уже говорил приходилось очень много. В частности эту самую ATtiny2313 и всякие ATmega. На нынешней моей работе длина кабеля не менее одного метра. А дома шлейф на байтбластере тоже не менее 2-х метров. Обыкновенный байтбластер, плата и микросхема размещается в LPT разъеме.
Вобщем странно всё это...


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб дек 08, 2007 11:56:24 
Держит паяльник хвостом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Пн ноя 27, 2006 07:52:01
Сообщений: 978
Рейтинг сообщения: 0
Потому как котятки одного простого правила не знают: нечётные проводники в шлейфе - сигнальные, чётные - земля. :)

_________________
Питаюсь копытными. Как исчезающий вид занесён в Красную книгу МСОП. Почему до сих пор не занесены в Красную книгу инженеры и учёные РФ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб дек 08, 2007 22:48:55 
Встал на лапы
Аватар пользователя

Зарегистрирован: Сб мар 31, 2007 13:53:07
Сообщений: 111
Откуда: Lviv
Рейтинг сообщения: 0
@ndrey писал(а):
Я же написал, что
@ndrey писал(а):
Фузы, после того, как воспользовался советом Ксеньи больше не менял

Значится дело в другом...

В общем, решил я проблему так: укоротил 10-проводный шлейф до 10 см и все стало прошиваться.

Всем спасибо за участие!

наверное на тех выходах микроконтролера (через которые вы прошываете) стоят светодиоды, вот у меня тоже иногда непрошывалась тини пока я нерозгрузил выводы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 09, 2007 02:42:13 
Встал на лапы
Аватар пользователя

Зарегистрирован: Сб мар 31, 2007 13:53:07
Сообщений: 111
Откуда: Lviv
Рейтинг сообщения: 0
хочу зделать чтобы МК после приема пакета по УСАРТ, через прерывание, выводил принятый байт в порт, но невыходит, нужно какието конфиг. регистры менять?
Код:
.cseg
.org 0
rjmp Reset
rjmp INT_0
rjmp INT_1
rjmp Timer1_capt1
rjmp Timer1_comp1
rjmp Timer1_OVF1
rjmp Timer0_OVF0
rjmp UART_RX
rjmp UART_UDRE
rjmp UART_TX
rjmp ANA_COMP
;Reset:
INT_0:
INT_1:
Timer1_capt1:
Timer1_comp1:
Timer1_OVF1:
Timer0_OVF0:
;UART_RX:
UART_UDRE:
UART_TX:
ANA_COMP:
          reti

reset:
           ldi Temp,RamEnd       ;èíèöèàëèçàöèÿ ñòåêà
          out SPL,Temp

        ldi Temp,0b11111111   ;íàñòðîéêà ïîðòîâ
          out DDRB,Temp

          ldi Temp,0b1111011   ;íàñòðîéêà ïîðòîâ
          out DDRD,Temp

     rcall   init;³í³ö³àë³çàö³ÿ ÓÑÀÐÒ


SEI
 ;----------
begin:   

out PortB,temp
rjmp begin   

      
      

;----------
UART_RX:
in temp, UDR
reti
 ;----------
init:
     ldi temp1,0
     ldi temp,47
     out UBRRH,temp1
     out UBRRL,temp
     ldi temp, (1<<RXEN)|(1<<TXEN)
     out UCSRB,temp
     ldi temp,(1<<USBS)|(3<<UCSZ0)
     out UCSRC,temp
     ret

Напоминаю, что подобные длинные цитаты надо оформлять в виде ПРИЛОЖЕНИЯ. Если сами не исправите, выкину вместе с ответом. Очень злой Сэр Мурр


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 09, 2007 11:47:16 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
Lestat писал(а):
хочу зделать чтобы МК после приема пакета по УСАРТ, через прерывание, выводил принятый байт в порт, но невыходит


Посмотрите как использовать UART USART в AVR

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 09, 2007 14:21:25 
Встал на лапы
Аватар пользователя

Зарегистрирован: Сб мар 31, 2007 13:53:07
Сообщений: 111
Откуда: Lviv
Рейтинг сообщения: 0
tych писал(а):
Lestat писал(а):
хочу зделать чтобы МК после приема пакета по УСАРТ, через прерывание, выводил принятый байт в порт, но невыходит


Посмотрите как использовать UART USART в AVR

спасибо, курю, только я в асме роюсь, до С лапы недоросли,
а использовать УСАРТ научился,
использую так
Код:
 
transmiter:
      sbis UCSRA,UDRE
      rjmp transmiter
      out UDR,temp
             ret

Receive: sbis UCSRA,RXC
    rjmp Receive
    in r16, UDR
    ret

А вот прерывание по приему у меня не работает.
Даже если сделаю такое

Код:
 
UART_RX:
inc temp
out PortB, temp
reti

К порту B подключены светодиоды, и после того как с компьютера отправляю байт, они как не горели так и не горят.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 09, 2007 14:39:13 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
Lestat писал(а):
спасибо, курю, только я в асме роюсь.


Вы можете скомпилировать примеры и посмотреть полученый правильный АСМ код в файлах .asm или .lst

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 09, 2007 16:49:45 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн ноя 12, 2007 20:53:05
Сообщений: 84
Откуда: Одесса
Рейтинг сообщения: 0
Lestat писал(а):
А вот прерывание по приему у меня не работает.


Для этого надо разрешить прерывание в регистре UCSRB, бит RXCIE


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 09, 2007 20:47:32 
Встал на лапы
Аватар пользователя

Зарегистрирован: Сб мар 31, 2007 13:53:07
Сообщений: 111
Откуда: Lviv
Рейтинг сообщения: 0
biDE писал(а):
Lestat писал(а):
А вот прерывание по приему у меня не работает.


Для этого надо разрешить прерывание в регистре UCSRB, бит RXCIE

спасибо, догдался в даташит посмотреть:)
вот так выглядет функция настройки усарт: скорость 9600, кварц 7.37, прием, передача, перерывания после приема.
Код:
init:
     ldi temp1,0
     ldi temp,47
     out UBRRH,temp1
     out UBRRL,temp
     ldi temp, (1<<RXEN)|(1<<TXEN)|(1<<RXCIE)
     out UCSRB,temp
     ldi temp,(1<<USBS)|(3<<UCSZ0)
     out UCSRC,temp
     ret

Вы прочли моё замечание по поводу прикрепления файла к собщению? Сэр Мурр


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 16, 2007 09:20:55 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 10
Зарегистрирован: Пт фев 16, 2007 14:18:20
Сообщений: 1132
Откуда: Новосибирск
Рейтинг сообщения: 0
Всем привет. Возникла проблема с програмированием Tiny2313.
Программа простейшая т.к это мой первый опыт по програмированию контроллера. По задумке светодиод должен мигать.
AVR Studio при компиляции выдает:
Copyright (C) 1995-2006 ATMEL Corporation

C:\000\2313.asm(14): Including file 'C:\Fgyjns\tn2313def.inc'
C:\Fgyjns\tn2313def.inc(123): error: Attempt to redefine keyword 'z'
C:\000\2313.asm(14): info: 'C:\Fgyjns\tn2313def.inc' included from here
C:\Fgyjns\tn2313def.inc(383): error: Attempt to redefine keyword 'or'
C:\000\2313.asm(14): info: 'C:\Fgyjns\tn2313def.inc' included from here

Assembly failed, 2 errors, 0 warnings
Где собака зарыта?
Исходник в приложении.


Вложения:
Комментарий к файлу: Исходник
001.asm [618 байт]
Скачиваний: 530
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 16, 2007 16:28:03 
Встал на лапы
Аватар пользователя

Зарегистрирован: Сб мар 31, 2007 13:53:07
Сообщений: 111
Откуда: Lviv
Рейтинг сообщения: 0
Chip115 писал(а):
Всем привет. Возникла проблема с програмированием Tiny2313.
Программа простейшая т.к это мой первый опыт по програмированию контроллера. По задумке светодиод должен мигать.
AVR Studio при компиляции выдает:
Copyright (C) 1995-2006 ATMEL Corporation

C:\000\2313.asm(14): Including file 'C:\Fgyjns\tn2313def.inc'
C:\Fgyjns\tn2313def.inc(123): error: Attempt to redefine keyword 'z'
C:\000\2313.asm(14): info: 'C:\Fgyjns\tn2313def.inc' included from here
C:\Fgyjns\tn2313def.inc(383): error: Attempt to redefine keyword 'or'
C:\000\2313.asm(14): info: 'C:\Fgyjns\tn2313def.inc' included from here

Assembly failed, 2 errors, 0 warnings
Где собака зарыта?
Исходник в приложении.

в АВР студио:
проджект-асемблер опшнс- поставить версия 2.

как в асемблере зделать такое "если регистр_1>=14" ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 16, 2007 19:12:00 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн ноя 05, 2007 12:44:43
Сообщений: 87
Откуда: C:\Russia\SPb
Рейтинг сообщения: 0
Как уже говорил Lestat, в AVRStudio надо переключиться на AVR Assembler version 2. Во вторых убрать строчку ".device ATTINY2313", она и так уже есть в файле "tn2313def.inc" и если ее оставить, то ассемблер будет выдавать warning по этому поводу. Далее, не надо указывать абсолютный путь к "tn2313def.inc", достаточно написать .include "tn2313def.inc", ассемблер сам найдет нужный файл, по умолчанию avrasm2 ищет его в \Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\ Если не используются прерывания, зачем делать в начале какие-то непонятные прыжки? Убираем строку "rjmp Init". Далее, зачем в данном случае устанавливать все порты на выход? Ведь у вас светодиод как я понял подключен к выводу PB0 ? Вот давайте этот пин и настроим на выход. Кстати, управлять подтягивающими резисторами можно до тех пор, пока в соответствующем бите DDRX находится "0", если вы закинули туда "1", то вывод уже работает на выход и изменяя биты в PORTX вы управляете уже не подтягивающими резисторами. Так что у вас там ошибочка в листинге. Далее, если мы будем переключать светодиод при тактовой частоте 4MHz, вы ожидаете увидеть какие-то мигания? :) Вы сможете увидеть только то, что СД светится в половину яркости. Так что между переключениями состояния надо бы задержку делать. И еще, надо бы взять за правило в самом начале программы инициализировать указатель стека и настраивать watchdog таймер или совсем его отключать. Вобщем смотрим исправленный исходник в приложении.


Вложения:
002.asm [1.07 KiB]
Скачиваний: 622
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 17, 2007 02:12:31 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 10
Зарегистрирован: Пт фев 16, 2007 14:18:20
Сообщений: 1132
Откуда: Новосибирск
Рейтинг сообщения: 0
Спасибо за поправочки. После работы обязательно гляну. Я хотел увидеть мигание светодиода в симуляторе т.к я есчо пока незнаю как ставить задержки. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 17, 2007 17:50:25 
Открыл глаза
Аватар пользователя

Зарегистрирован: Ср июн 20, 2007 18:46:54
Сообщений: 68
Откуда: Красноярск
Рейтинг сообщения: 0
Добрый день!Ребята вы не можете подсказать новичку, я прочитал полностью обучалку по мк и хочу чтоб задержка была длительность около 1 минуты(+-5 сек.) можно ли вот эту задержку установить на минуту
Delay: out PortD,Temp

ldi Temp1,0
ldi Temp2,0
ldi Temp3,255

Loop: dec Temp1
brne Loop

dec Temp2
brne Loop

dec Temp3
brne Loop

Частота работы контроллера 4Мгц, максимально получалось установить на 27 секунд и небольше!Подскажите что нужно сделать либо цифры переставить либо задержку как то изменить?Кстати цифры раз 50 переставлял но минуты не получалось(не более 27 секунд!!)

_________________
IN GOD WE TRUST


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 17, 2007 20:51:25 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн ноя 05, 2007 12:44:43
Сообщений: 87
Откуда: C:\Russia\SPb
Рейтинг сообщения: 0
Степаныч, на самом деле странно, что у тебя получилось около 27 секунд, должно было получиться примерно 12. Ну да ладно, 27 так 27 )) На самом деле все просто. Вобщем поиграйся со значениями, которые загружаются в переменные Temp1, Temp2, Temp3 так, чтоб задержка получилась 20 сек. (раз уж у тебя даже 27 получалось). Поиграться придется скорее всего только с Temp3. Потом присвой символьное имя Temp4 еще одному незадействованному регистру.

Т.е. если у тебя в начале проги было что то типа:
.def Temp1 = r16
.def Temp2 = r17
.def Temp3 = r18

то добавь в тот же список вот это:
.def Temp4 = r19

и приведи задержку к такому виду:

ldi Temp1, 0
ldi Temp2, 0
ldi Temp3, X ;вместо X значение, которое получилось для 20сек.
ldi Temp4, 3 ;все, что уже было повторим три раза =)

Loop: dec Temp1
brne Loop

dec Temp2
brne Loop

dec Temp3
brne Loop

dec Temp4
brne Loop

Т.е. у тебя к трем счетчикам добавляется еще один, который заставляет повориться все то, что уже было три раза )

Надеюсь идея ясна.

Удачи.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2636 ]     ... , , , 7, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y