[ВХОД]

Главная | Содержание | Форум | Файлы | Поиск | Контакт
NAVIG
О форуме
Резонансные генераторы
Магнитные генераторы
Механические центробежные (вихревые) генераторы
Торсионные генераторы
Электростатические генераторы
Водородные генераторы
Ветро- и гидро- и солнечные генераторы
Струйные технологии
Торнадо и смерчи
Экономия топлива
Транспорт
Гравитация и антигравитация
Оружие
Нейтронная физика
Научные идеи, теории, предположения...
Прочие идеи (разные)
Новые технологии
Коммерческие вопросы
Барахолка
Патентный отдел
Сделай сам. Советы.
Конструкторское бюро
немобильная версия
Печатать страницу
Форум - Сделай сам. Советы. - Домашнему мастеру - Литровый контроллер - Стр.78
<][ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 ][>
Post:#297467 Date:26.03.2011 (19:09) ...
andy8mm Пост: 297408 От 26.Mar.2011 (15:33)
ДедИван, да, пора наступить на мк-грабли.
Надеюсь подключатся спецы по контроллерам, живее будет и всем интереснее.


Давайте отделим котлеты от мух.
По контроллеру все сюда.
Maximusua | Post: 355881 - Date: 09.03.12(14:39)
dedivan Пост: 355879 От 09.Mar.2012 (14:35)
Есть предложение для тех кто пишет пограммы сам.
Объединить усилия по написанию библиотеки макросов.
У меня есть кое какие наработки- давайте обсудим.

Двумя руками ЗА !!! Хоть толку от меня и всего ничего...........

Kasper | Post: 355882 - Date: 09.03.12(14:40)
Деда, хорошая идея, но я ничем не смогу помочь, потому как пишу на отверженном языке. у меня свои наработки, вот их и пользую, и получается кстати не намного медленнее чем у ВАС

_________________
Думать, привилегия умных!
- Правка 09.03.12(14:40) - Kasper
dedivan | Post: 355885 - Date: 09.03.12(14:59)
Kasper Пост: 355882 От 09.Mar.2012 (14:40)
у меня свои наработки, вот их и пользую,

Да, наработки это самая страшная штука.
Многие сидят на древнем 51 ядре, только потому, что есть наработки.

Именно наработки съедают основное время например библиотеку макросов собрать надо годы- но дальше проще, по готовому програмку накидать уже и часа много.
Вот именно поэтому и предложение - вместе навалиться на тяжелый камень.
Но для этого нужны начальные соглашения- именно их и хотелось обсудить для начала.

Это в принципе почти то же самое что и разработчики компиляторов
делают в самом начале- определяют стандартные способы передачи
аргументов в функции .
Этим и отличаются различные компиляторы для одного и того же языка друг от друга.


_________________
я плохого не посоветую
Kasper | Post: 355898 - Date: 09.03.12(17:25)
Деда а в чем ты тут кстате увидел тяжелый камень? об какой прошивке идет речь? для какого именно процесса, Я их наклепал уже с дюжину... и для Егр и Нанозжигалки и Начал уже хороший кусок для Моновпрыска.

Так а что толку? народ как сидел ждал готовенького так и сидит....
Некоторые обсирают теорию даже не попробовав...
А мне от тебя помощи видимо не дождаться.....

_________________
Думать, привилегия умных!
JohnZ | Post: 355900 - Date: 09.03.12(17:48)
Ратуешь за ассемблер, а комментарии пишешь как в С++
Это шутка юмора такая
Я в принципе не против, но много всяческих "но" вылазит. Если-бы мы это на "С" делали, тогда понятно, такая библиотека нужна, хотя в и-нете их как собак нерезанных, под всё что хош. А для проекта на асме, это как карта ляжет
// R15= ZERO=0b00000000 готовый нуль
// R14= ED =0b11111111 готовая единица

Выиграть по одной одно-тактовой команде (CLR & SET) за "счастье" потери 2-х регистров ? У меня например, младшие регистры активно используются в прерываниях, как СОЗУ и хранители флагов алгоритма. Флаги - это битики такие, кто не в курсе ...
// R0,R1 для чтения из памяти,
Дык эта, они-ж вроде как в командах умножения участвуютЪ ?! А вдруг в прерывании чего-ни-ть понадобится перемножить, что-бы рез-т загрузить в таймер, как у меня было ? Тогда как ?
.macro INTER_TABLE // одним макросом устанавливаем таблицу прерываний,
// но для каждого проекта она будет разной

Деда, ведь таблица прерываний берётся из ДШ !? На тиньки их несколько видов, на меги уже другие, и т.д. Т.е. в _одном_ макросе это учесть очень сложно, да и смысл её ложить в макрос, если придётся в нём-же и править для открытия нужных векторов ?!
.macro WR_EEPROM
cli

Запретили в макросе прерывания, запись "подвисла" на ожидании, а тут вдруг приспичило сосчитать искру в пачке, - и прерывание тю-тю т.е. пере-искрим, и эта лишняя искорка нам может потом вылезти ... через карб Такого типа макросы я оформляю в под-программы, и там никакого cli, кому надо, тот и прерывает ...

ДедаВаня, - может вместе с наработкой макросов подробненько обсудим _функционал_ ?

1. инициализация портов
2. инициализация периферии
3. прерывания
4. связь со вторым МК, т.е. сервисным
5. исполняемые команды от сервисного и их состав
6. обсчёт оборотов и октана
7. диагностика

Т.е есть что обсудить, и даже более чем ...

Удачи !

- Правка 09.03.12(17:54) - JohnZ
dedivan | Post: 355915 - Date: 09.03.12(19:00)
JohnZ Пост: 355900 От 09.Mar.2012 (17:48)
Ратуешь за ассемблер, а комментарии пишешь как в С++

Во, нормальный разговор пошел. Спасибо.
Ага, это тоже мое предложение - компилятор кушает и слэши и двоеточия,
но я плохо отличаю двоеточие от точки с звпятой, и точка с запятой
неудобно расположена на русской раскладке, а именно на ней комменты пишем. Так что слэши имхо удобнее.


Выиграть по одной одно-тактовой команде (CLR & SET) за "счастье" потери 2-х регистров ? У меня например, младшие регистры активно используются в прерываниях, как СОЗУ и хранители флагов алгоритма. Флаги - это битики такие, кто не в курсе ...

Так зачастую именно одного такта и не хватает чтобы заменить кусок жесткой логики тараканом. То есть это предложения можно сказать по экстремальному программированию.
А для всех остальных случаев есть стэк.



R0,R1 ....Дык эта, они-ж вроде как в командах умножения участвуютЪ ?!
Ага, в мегах. Но поэтому и оставляем их в покое.



Деда, ведь таблица прерываний берётся из ДШ !? На тиньки их несколько видов, на меги уже другие, и т.д. Т.е. в _одном_ макросе это учесть очень сложно,

Ага, получается макрос местного применения, только в данном проекте.
Просто сам код не загораживается.
.macro WR_EEPROM
cli
Запретили в макросе прерывания, запись "подвисла" на ожидании, а тут вдруг приспичило сосчитать искру в пачке, - и прерывание тю-тю
Тут строго - во время записи во флэш- никаких прерываний
четыре такта. Согласен, переставить надо после ожидания готовности.


ДедаВаня, - может вместе с наработкой макросов подробненько обсудим _функционал_ ?

1. инициализация портов
2. инициализация периферии
3. прерывания
4. связь со вторым МК, т.е. сервисным
5. исполняемые команды от сервисного и их состав
6. обсчёт оборотов и октана
7. диагностика



Конечно надо, но после начальных договоренностей.


_________________
я плохого не посоветую
andy8mm | Post: 355944 - Date: 09.03.12(22:21)
Поддерживаю.
Итак, наши дефиниции должны конвенциональны,
то есть покоится на тех или иных соглашениях.


dedivan | Post: 355982 - Date: 10.03.12(09:17)
Kasper Пост: 355882 От 09.Mar.2012 (14:40)
пишу на отверженном языке.

Это на кодевижн что ли?

_________________
я плохого не посоветую
Kasper | Post: 356022 - Date: 10.03.12(12:21)
нет на ваське

_________________
Думать, привилегия умных!
dedivan | Post: 356031 - Date: 10.03.12(13:23)
А чей компилятор? Много косячит?

_________________
я плохого не посоветую
JohnZ | Post: 356040 - Date: 10.03.12(14:17)
Хм... А как можно отределить косяки в компилере, если собранная прога работает как и задумывалось ? Разве есть такая необходимость ? Это-ж в его внутренности лезть надо... А смысл ?

Удачи !



dedivan | Post: 356049 - Date: 10.03.12(14:51)
Да это просто- загружаешь в студию хекс, она маленько подумает, и получаешь
ассемблерный листинг.
Вот по нему и смотришь а как он это нахомутал - там обычно лишние петли сразу видно.
Компилятор делается под все случаи жизни, с запасом, типа с презервативом на морковке, может в любом пустячном прерывании запихивать все регистры в стэк,
Как только увидишь колонку пушей и пупов - там и смотри , а нафига это надо.

_________________
я плохого не посоветую
JohnZ | Post: 356062 - Date: 10.03.12(15:58)
Всё правильно, дедаВаня, именно так он и работает, презиком на морковке
Когда я разбирался с протоколом USB для своего прогера, я так и делал с готовым хексом, и только так и удалось найти косяк в проге и частично в компилере. С одного исходника хексы не совпадали, вот и пришлось лазить "на коленках" Баг в компилере конечно-же поправили, но это было потом ...

По поводу соглашений - я в принципе "за", но честно признаться я не совсем сторонник именно макросов. Мне ближе юзать и создавать библиотеки под-программ. Это видимо сказывается опыт "С" Там стандартизация на высшем уровне, IMHO. Правда за это приходится платить "лишними" CALL & RET, но во-первых это не всегда так-уж и дорого, а во-вторых вызов нужной функции предусматривается там, где быстродействие от этого не "пострадает" Формат вызова и возврат ес-сно стандартизуются, как в библиотеке макросов. В принципе нам ведь никто не запрещает юзать оба соглашения по макросам и библиотечным функциям ?!

Удачи !

dedivan | Post: 356114 - Date: 10.03.12(20:24)
JohnZ Пост: 356062 От 10.Mar.2012 (15:58)
В принципе нам ведь никто не запрещает юзать оба соглашения по макросам и библиотечным функциям ?!


Естественно, но это вопрос стратегический.
Возьми ПИКи - у них есть PIC10, 12, 16,18,24 - это разные ядра, разная разрядность слова команд, разные команды,
и все это для разных применений.
Атмел пошла по другому пути- ядро обшее , но сам пользователь уже может выбирать именно стиль программирования,
конкретно для своих задач. То есть не ядра менять- а менять именно стиль- и получать нужный результат.
Вот тут то как раз большая разница иежду макросом, который вставляется в твой код как родной, и вызовом,
который уже как кусок чужого кода , который вызывается с определенными оговоренными условиями.
Если вспомнить х86- там вообще все с самого начала делалось именно на условиях чужой подпрограммы,
то есть строго- адрес в этом регистре, переменная в этом , результат получишь в том, и никак иначе.
И вся система биос построена точно также, и потом ДОС и винда все работали по этому принципу.
Унификация хорошо- пока это не тормозит основную задачу.
А потом оказалось- процессор молотит на гигагерцах- а прироста не видно. И многие работают до сих пор на 166 пеньках
и не паряться, а все гигагерцы не дают уж очень заметного прироста. И у меня есть машинка на 166ММХ , работает, и я ей доволен.

Вот чтобы не было такого парадокса , Атмел оставил нам возможность пользовать железо на всю катушку.
Грех этим не воспользоваться. Тем более все солидные программы оптимизируются именно на уровне ассемблера,
а все эти упрощенные языки- для разовых поделушек.
Ну тоже нужно, лишний раз не париться, но если серьезное что то...
А что то серьзное писать, и при этом не страдать от мелочности , тут макросы - тоже ничего нового, майкрософт в свое время
сразу начала с макроассеблера, и писали на нем игрушки - шустрили на 30 мгц машинках , без проблемм.
Макрос чем хорош- он у тебя перед глазами- не нравиться- взял поправил, и в тоже время он не загораживает логику программы.
С подпрограммой или тем паче с библиотекой так не поступишь- там есть более глубокие невидимые связи.

А я не люблю когда от меня что то прячут как от малолетнего дурачка.

Так что твой вопрос из серии - а нафига нам 12 пики, давай все делать на восемнадцатых.
А микрочиповцы чего , дураки? Нафига они двенадцатые делали?

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

То есть это однозначно не уровень файловых систем или баз данных.
Хотя там если посмотреть внимательно - вся основа на нашем уровне.
То есть начинается все с АА55. Там никаких Сей и Васиков.


_________________
я плохого не посоветую
dedivan | Post: 356118 - Date: 10.03.12(20:41)
Это все на уровне - вот мне лень расстегивать штаны чтобы поссать.
Переделайте мне штаны.
Так для этого есть фирмы, которые выпускают памперсы - это к ним.
Вот примерно там все васики и коденвижены.
Но с ними ты не сможешь написать струйкой на снегу слово - здесь был Вася.
Вот где то такое мое имхо.


_________________
я плохого не посоветую
<][ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 ][>
У Вас нет прав отвечать в этой теме.
Форум - Сделай сам. Советы. - Домашнему мастеру - Литровый контроллер - Стр 78

Главная | Содержание | Форум | Файлы | Поиск | Контакт