andy8mm Пост: 297408 От 26.Mar.2011 (15:33) ДедИван, да, пора наступить на мк-грабли.
Надеюсь подключатся спецы по контроллерам, живее будет и всем интереснее.
Давайте отделим котлеты от мух.
По контроллеру все сюда.
dedivan Пост: 346491 От 19.Jan.2012 (00:12)
Поэтому правильно будет сначала на них "поглядеть" и установить только свой бит- не изменяя другие.
IN temp,MCUCR ; читаем сначала регистр
и командой "логическое или" устанавливаем только свой бит
ORI temp,(1 << ISC01) ;по спаду или (1<<ISC01)|(1<<ISC00) по нарастанию
и теперь перезаписываем регистр
OUT MCUCR,temp
Вот теперь все будет работать правильно.
Это очень долго целых три команды.
Можно проще: меняем только свой бит по маске - т.е. используем битовую операцию модифицируя один бит прямо в регистре - не занимаясь "чтение-изменение-запись".
Насколько я помню - в АВР так можно работать - сразу в регистре менять.
All ATtiny13 I/Os and peripherals are placed in the I/O space. All I/O locations may be accessed by the LD/LDS/LDD and ST/STS/STD instructions, transferring data between the 32 general purpose working registers and the I/O space. I/O Registers within the address range 0x00 - 0x1F are directly bit-accessible using the SBI and CBI instructions. In these registers, the value of single bits can be checked by using the SBIS and SBIC instructions. Refer to the instruction set section for more details. When using the I/O specific commands IN and OUT, the I/O addresses 0x00 - 0x3F must be used. When addressing I/O Registers as data space using LD and ST instructions, 0x20 must be added to these addresses.
For compatibility with future devices, reserved bits should be written to zero if accessed. Reserved I/O memory addresses should never be written.
Some of the Status Flags are cleared by writing a logical one to them. Note that, unlike most other AVRs, the CBI and SBI instructions will only operate on the specified bit, and can therefore be used on registers containing such Status Flags. The CBI and SBI instructions work with registers 0x00 to 0x1F only.
Вот, собственно что бы вопросы отпали. Да и лутше считать и записать (надежне) чем записал и затер старые значения, а что там было... эээ... чик-пык и баги полезли.
Спасибо за предложение, но нельзя объять необъятное, как говаривал Козьма.
Есть люди, которые занимаются этим давно и очень прилежно.
Очень советую с ними познакомиться. [ссылка]
Еще один очень добротно сделанный ресурс -[ссылка]
Вот с ними и надо этим делом заниматься.
Тем более тебе, если есть свободное время -сам бог велел.
По просьбам нано-искрителей
Можно оставить только 2 канала(для 2-х тр-ров) если предполагается "длинный" вариант. В этом случае 2-я нога тиньки освобождается, а 9-я коммутатора садится на землю. Для "короткого" задействуются все 4 канала, либо "длинный" вариант для 8-ми цилиндрового, кому такой попадётся ... Прошивку будем ваять под этот вариант, если в нём не найдутся ошибки/дополнения/изменения.
На меге 88-й схема почти идентична. Только добавлена связь по RS232 и доп. вход датчика 1-го цилиндра.
Я не поклонник таких решений.
Проше или две тиньки поставить или сразу уж одну мегу.
Иначе теряется сам смысл замены кучи микросхем тараканом.
Но 2 тиньки - проще программа и ножек меньше паять.
ДедаВаня, есть такая книженция - "Когда люди были богами". Автор В.А.Шемшук. Отличная книженция ! В и-нете есть. Дык в начале там описано как в природе строятся сложные био-системы,- либо из колоний простых (одноклеточных, в нашем случае тини25 ) либо получением доп. функционала у той-же одноклеточной (это в нашем случае мега88). И тот и тот вариант в природе _вполне_приемлем_ ! Ведь САМ говорил - учиться у природы
А схема эта пойдёт и для тестов НЗ и как рабочий вариант, когда ВСЁ отладим, хотя я вполне с тобой согласен, - лучше это сделать на меге88.
dedivan Пост: 347229 От 24.Jan.2012 (13:25)
...Проше или две тиньки поставить или сразу уж одну мегу....
Деда Ваня ! Я вот все моноблоком на Тиньке распланировал, чтоб питание и датчик ВМТ подвести, а споры почитаешь, сомнения закрадываются.... Не будь это все так трудоемко то хрен с ним - попробовал так, потом иначе. Может все таки есть какие то соображения железобетонные в пользу того или другого подхода ?
Maximusua Пост: 347463 От 25.Jan.2012 (22:14)
соображения железобетонные в пользу того или другого подхода ?
Так я уже приводил пример- если программа в два раза сложнее
то ее разработка занимает в десять раз больше времени.
Поэтому две простые програмки быстрее и проще.
Ты ведь не автомобильный концерн, где тысячи програмистов пишут
гигантские проги для гигантских тараканов.
Одному это не поднять.
Деда подскажи пожалуйста какое у тебя минимальное время открытия форсунки(моновпрыск)на холостом ходу.Там получается меньше милисекунды-успеет она открытся,или ты повышенной напругой открываеш?
(Подскажи,если можеш, по временным интервалам для ХХ,1500об.,2500.,и 3500об.двиг 1.6)
Гена Пост: 347603 От 26.Jan.2012 (20:14)
Деда подскажи пожалуйста какое у тебя минимальное время открытия форсунки(моновпрыск)на холостом ходу.Там получается меньше милисекунды-успеет она открытся,или ты повышенной напругой открываеш?
(Подскажи,если можеш, по временным интервалам для ХХ,1500об.,2500.,и 3500об.двиг 1.6)
ДедаВаня, ведь Гена задал актуальный вопрос, поддерживаю. При переделке с карба на моновпрыск подбор времени открытия форсунки придётся решать нашему таракану, т.к. на класику будем брать моноинжектор без "мозгов". Так дешевле, и к тому-же не придётся ковыряться в "чужих" мозгах
Да, и ХХ у него это видимо 600...800 об/мин. , как у Энди в таблице.