13.02.2007, 17:56 | #51 |
Guest
Сообщений: n/a
|
купил Attiny 11,(12ого не было в диповском корпусе) программа его не определяет, появилось подозрение что и не должна, т.к. у одинадцатого нет MOSI и MISO
|
14.02.2007, 00:52 | #52 |
Guest
Сообщений: n/a
|
бл......, нашел список поддерживаемых устройств на сайте разработчика программы, там только двенадцатый.. твою мать... почему сразу это не увидел когда качал прогу.ууу..у.
завтра поеду искать tiny12 в дип-корпусе вот фотка програматора |
14.02.2007, 01:01 | #53 |
Guest
Сообщений: n/a
|
Beer100 ты уж извини, но твой проект пока отложен в сторону (на фотке его видно слева вверхнем углу). просто идея с микроконтроллером нескольео проще и стабильнее, чем логика.
|
14.02.2007, 05:11 | #54 |
Пользователь
Регистрация: 17.03.2006
Возраст: 47
Город: Владивосток
Регион: 25
Машина: Карина
Сообщений: 60
|
Да, точно 11-й без SPI интерфейса. Я думал, что у всех есть... ;-(
Меняй на 12-й или какой другой более старший с SPI. Только более старшие могут быть с СОЗУ, там надо будет в программу добавить команды инициализации стека и поправить таблицу прерываний (если будут расхождения). В программе есть переменная PulseFlag в строке 'ldi PulseFlag, 4' (4 - это два импульса) начальная инициализация по смене состояния на "входной" ноге. Где стоит комментарий 'here's approx 1sec delay' - там он и означает, что задержка примерно 1 сек, то есть код ниже этого коммента запускается примерно через 1 сек. Регулируется переменной Counter, ldi Counter, 4 - это примерно 1 секунда, если написать ldi Counter, 2 - то будет 0,5 сек, далее по аналогии. То есть по смене состояния на ноге INT0 на ноге PB0 возникает два импульса длительностью 1 сек с паузами между ними в 1 сек. Можно переделать прогу, чтобы можно было настраивать отдельно паузы и длину. |
14.02.2007, 06:55 | #55 |
Пользователь
Регистрация: 17.03.2006
Возраст: 47
Город: Владивосток
Регион: 25
Машина: Карина
Сообщений: 60
|
Готова новая прога. Заранее ее сделал под ATTiny12 (можно и для ATTiny11, если получится зашить :-)
В ней есть константы: 1. .equ PulseQuantityInitVal=2 2. .equ BeforePulseDelayInitVal=0 3. .equ PulseLongInitVal=2 4. .equ PulseSpaceInitVal=4 1. Кол-во импульсов (в штуках) 2. Задержка до выдачи импульсов (в 1/4 секунд) 3. Длительность импульсов (в 1/4 секунд) 4. Длительность паузы между импульсами (в 1/4 секунд) Все длительности в 0.25 секунды (примерно). Т.е. если 1 = 0.25 сек, 2 - 0.5 сек, 3 = 0.75 сек, 4 = 1 сек, итд до 255 = 63,75 сек. Это все в теории... На практике есть маленькая проблема по моим расчетам обработчик прерывания OVF0VECT должен срабатывать примерно через 0.22 сек: 1200000 / 1024 = 1172 / 256 = 4.6 => 1 / 4.6 = .22 sec, в реальности (на Attiny26) и на эмуляторе работает медленнее в 2 раза, т.е. 0.44 сек. Короче - хз, это вообще мой второй проект на МК :-). Первый здесь: http://www.pccar.ru/showthread.php?t=1721 Месяц назад я вообще ни разу не программировал эту хрень :-). Там все просто, если есть опыт программления на каком-нибудь другом ассемблере, то двух часов на изучение хватит, чтобы в основном разобраться. Но, вот как так получается с таймером - до сих пор не пойму. Здесь исходник и прошивка: |
14.02.2007, 14:44 | #56 | |
Гуру
Регистрация: 04.01.2006
Возраст: 55
Город: Минск
Регион: Беларусь
Машина: 2002\Audi\A6 3.0i
Сообщений: 1,135
|
Цитата:
Водь на дворе уже 21 век! Это я так, по старинке на логике.....
__________________
БП SL "умнай"- Сергея Лебедева (собственного изготовления), 7" Prology PCM-700, PIII 1,2 Tualatin, Intel i815, Video Gforce 440 64mb , 2.5" HDD 40 Gb (Hitachi), 2.5" HDD 60 Gb (Fujitsu), PCI->USB2.0, PCI TV tuner Beholder Behold TV 507 FM, DVD 5.25" (USB -> IDE переходник), GPS Globalsat BU-353, Web камера 3-COM, USB HUB D-Link, BT, Софт: оболочка - Centrafuse, Навигация - GisRX, EDGE |
|
14.02.2007, 19:31 | #57 | |
Guest
Сообщений: n/a
|
Цитата:
может я чегонить не так делаю?.... пробавал заливать этот файл и ипром и во флеш, и одновременно и туда и туда. не работает вход 6ая нога (активный +4,8В, после делителя), выход пятая нога, остальные в воздухе. PS первую версию тоже пробывал. ничего не происходит... |
|
15.02.2007, 05:42 | #58 |
Пользователь
Регистрация: 17.03.2006
Возраст: 47
Город: Владивосток
Регион: 25
Машина: Карина
Сообщений: 60
|
И не запустится, просто я не сказал еще про одну фигню. В datasheet есть слова: "When the RSTDISBL fuse is unprogrammed, this pin serves as external reset. When the RSTDISBL fuse is programmed, this pin is a general input pin." Короче, если ты с этим чипом ничего не делал, кроме прошивки, то 1-я нога по-умолчанию - вход сброса. Без его подачи при включении счетчик команд в неопределенном состоянии. На эту ногу сигнал начального сброса подается также, как и на все остальные процессоры - резистор + конденсатор.
Шить надо во флеш. EEPROM - это чисто для данных. Flash - память команд. В этой программе EEPROM не используется. R1 - 100К C1 - 1мкФ R2 - 2К R3 - 1К Схема: |
15.02.2007, 09:02 | #59 |
Guest
Сообщений: n/a
|
я так и думал что нужен reset,
делитель сделал по другому немного, R2 и R3 по одному килоому, и стабилитрон на 4,7В, так будет на входе всегда одно и тоже напряжение, и при десяти и при пятнадцати вольтах бортового напряжения. а это нормально то что после сброса (reset) на первой ноге будет постоянно висеть еденица? просто на разных процессорах используется разный reset просто в программе uniprof используется первый вариант сброса, а ты предлогаешь второй |
15.02.2007, 09:35 | #60 |
Пользователь
Регистрация: 17.03.2006
Возраст: 47
Город: Владивосток
Регион: 25
Машина: Карина
Сообщений: 60
|
Читаем Attiny11-12.pdf. Страница 5: "Reset input. An external reset is generated by a low level on the RESET pin." Соответственно, низкий уровень - сброс, высокий - работа. На странице 7 есть схема Figure 5, там именно то, что надо. Таблица 29 на странице 57 как считаются значения R и C и комментарий: "R should be in the range 3-100K, and C should be at least 20pF."
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|