О сайте Группа в контакте RSS Годограф Volksturm Импульсные металлоискатели IB металлоискатели Пинпоинтеры Другие схемы Заказать Конструкции металлоискателей Полезные ссылки

Схемы металлоискателей MD4U

Сборка, настройка, обсуждение, теория и практика построения металлоискателей.
Текущее время: Пт: 29 мар 2024 1:11

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




Начать новую тему Ответить на тему
 [ Сообщений: 65 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Ср: 03 июн 2009 19:34 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 06 ноя 2005 11:17
Сообщения: 4527
Откуда: С.-Петербург
RabidRabbit писал(а):
Тю, достало - не читай ;)

"Гуляй, Вася!" :)


Вернуться к началу
 Профиль  
 


Вы можете отключить эти сообщения.
 Заголовок сообщения:
СообщениеДобавлено: Ср: 03 июн 2009 19:39 
Синус писал(а):
Компилятор не при чём (если там компилятор, а не его подобие).

Варианта два:
- либо Вы смотрите буфер ЖКИ;
- либо автор программы начудил. :)

(у меня на WinAVR меню работает из памяти программ).


На пямять надеяться не стал, скачал прошивку 1.8.1 и запустил под AVR Studio, эмулятор AVR Simulator, на пины кнопок навесил единицы и запустил. Подождал, нажал паузу (~7.2 секунда отработала программа), смотрю дамп ОЗУ - в основном всё забито 0xFF, но попалось место, где есть названия всех пунктов меню, причём размещены они достаточно свободно, и ещё слова on и off. Ну не похоже это на буфер ЖКИ, хотя, может, буферы разные бывают ;)


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср: 03 июн 2009 19:40 
/RR/ писал(а):
Ну так чего "оптимизаторством" занимаемся тогда? Слабо с нуля? :D


Можно поподробнее, что значит "с нуля"?


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср: 03 июн 2009 19:57 
Не в сети

Зарегистрирован: Ср: 18 окт 2006 7:51
Сообщения: 75
RabidRabbit писал(а):
попалось место, где есть названия всех пунктов меню, причём размещены они достаточно свободно, и ещё слова on и off. Ну не похоже это на буфер ЖКИ, хотя, может, буферы разные бывают ;)

Автор (косвенно) уже сознался в содеяном. :)
(продублировал в ОЗУ пункты меню, хранящиеся в памяти программ)
И, видимо, глубоко раскаивается и "больше не будет" :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср: 03 июн 2009 20:04 
Не в сети
Аватара пользователя

Зарегистрирован: Пт: 17 фев 2006 17:16
Сообщения: 575
Откуда: С-Петербург
А "с нуля" и значит - с нуля. Придумываешь идею, садишься и реализуешь. Очень просто. Здесь таких "громогласных" низвергателей побывало - не пересчитать. Но что-то не помню ни одного, кто бы в последствии что-то своё выставил на ветрину (пусть даже комерческое).
Так что для начала надо выдумать хотябы простенький пинпоинтер, а уж потом "гнуть пальцы".
P.S. Кстати, я не помню, чтобы Andy_F с вами пил на брудершафт. Или это по принципу "форум всё спишет"?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср: 03 июн 2009 20:08 
Alteh писал(а):
А "с нуля" и значит - с нуля. Придумываешь идею, садишься и реализуешь. Очень просто. Здесь таких "громогласных" низвергателей побывало - не пересчитать. Но что-то не помню ни одного, кто бы в последствии что-то своё выставил на ветрину (пусть даже комерческое).
Так что для начала надо выдумать хотябы простенький пинпоинтер, а уж потом "гнуть пальцы".
P.S. Кстати, я не помню, чтобы Andy_F с вами пил на брудершафт. Или это по принципу "форум всё спишет"?


Мне хочется понять - "с нуля" - это железо плюс программа или только программа?

А что там про брудершафт? Если тебя коробит обращение на "ты", прошу прощения, фидошная привычка.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт: 04 июн 2009 11:40 
Не в сети
Аватара пользователя

Зарегистрирован: Ср: 28 дек 2005 1:25
Сообщения: 1074
Откуда: Санкт-Петербург
RabidRabbit писал(а):
Мне хочется понять - "с нуля" - это железо плюс программа или только программа?


Ну хотя бы программа. Впрочем, в процессе должны появиться и аппаратные изменения, пусть и не большие.

Понимаешь, я ничего против не имею, просто коробит, когда выходит такой вот красавец, который ничего (на этом форуме) сам не сделал и начинает лажать кого-либо, в особенности заслуженных...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт: 04 июн 2009 11:57 
/RR/ писал(а):
Ну хотя бы программа. Впрочем, в процессе должны появиться и аппаратные изменения, пусть и не большие.

Понимаешь, я ничего против не имею, просто коробит, когда выходит такой вот красавец, который ничего (на этом форуме) сам не сделал и начинает лажать кого-либо, в особенности заслуженных...


Программа, как ни странно, написана с "нуля" - т.е. в нотепаде++ сделал новый файл и пошёл писать.
На счёт аппаратных изменений - тут моя позиция такова, что если человек решится залить в девайс прошивку от неизвестного автора (то бишь, меня) - то перепаивать для этого устройство этот человек точно не станет. Должна быть совместимость.

Насчёт лажания - я высказал своё мнение по поводу использования ОС в микроконтроллерах с ограниченными (на мой взгляд ресурсами) или там, где эта ОС нужна только для "галочки". Не более того. На что некоторые товарищи, скажем так, слегка возбудились ;) Также мне не понятно, зачем копировать константные строчки из программной памяти в ОЗУ - это моё непонимание, похоже, вообще было воспринято, как личное оскорбление.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт: 04 июн 2009 12:51 
Не в сети
Аватара пользователя

Зарегистрирован: Ср: 28 дек 2005 1:25
Сообщения: 1074
Откуда: Санкт-Петербург
Не очень то люблю спорить... Уже жалею, что ввязался.
В блокноте :shock: И что, совсем не глядели в оригинал? Наверное, что-то всё же было просто "сказано своими словами".
Про совместимость согласен, если речь идёт просто об альтернативной прошивке.

В данном случае основной целью не является получение минимального объёма кода. Это может быть оправдано разве что для серийного производства, чтобы сэкономить 20 центов, применив контроллер с минимально необходимым объёмом памяти. Здесь же я не думаю, что стоит писать на голом АСМе, чтобы сэкономить 10 рублей на контроллере.
Да и потом, насколько я знаю, автор использовал RTOS для собственного обучения, а не для того, чтобы кому-то было от этого хорошо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт: 04 июн 2009 13:02 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 06 ноя 2005 11:17
Сообщения: 4527
Откуда: С.-Петербург
RabidRabbit писал(а):
Насчёт лажания - я высказал своё мнение по поводу использования ОС в микроконтроллерах с ограниченными (на мой взгляд ресурсами) или там, где эта ОС нужна только для "галочки". Не более того. На что некоторые товарищи, скажем так, слегка возбудились ;) Также мне не понятно, зачем копировать константные строчки из программной памяти в ОЗУ - это моё непонимание, похоже, вообще было воспринято, как личное оскорбление.

Уважаемый, если бы что-то там было воспринято, как оскорбление, Вас бы уже не было на этом форуме. Админ, это дело такое - "коварен, капризен, злопамятен" (с) :) . Вам было сделано, скажем так, замечание, за некоторую назойливость. Один раз высказал своё мнение, второй раз то же самое, третий... Все уже поняли, что Вы под ОС не пишите, и на Си, судя по всему, тоже не очень. Не пишите на здоровье, слава богу, что хоть что-то умеете, некоторые здесь вообще не знают, за какой конец держат паяльник.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт: 04 июн 2009 13:37 
/RR/ писал(а):
Не очень то люблю спорить... Уже жалею, что ввязался.
В блокноте :shock: И что, совсем не глядели в оригинал? Наверное, что-то всё же было просто "сказано своими словами".
Про совместимость согласен, если речь идёт просто об альтернативной прошивке.


Я нигде и не писал, что создал новый прибор - всего лишь прошивка с открытыми исходниками :)

/RR/ писал(а):
Да и потом, насколько я знаю, автор использовал RTOS для собственного обучения, а не для того, чтобы кому-то было от этого хорошо.


Упс, вот и ключевая фраза ;)


Вернуться к началу
  
 
В сети

Вы можете отключить эти сообщения.
 Заголовок сообщения:
СообщениеДобавлено: Пн: 16 ноя 2009 23:17 
Не в сети

Зарегистрирован: Вс: 06 янв 2008 4:00
Сообщения: 14
Откуда: Харьков
Andy_F писал(а):
RabidRabbit писал(а):
Насчёт лажания - я высказал своё мнение по поводу использования ОС в микроконтроллерах с ограниченными (на мой взгляд ресурсами) или там, где эта ОС нужна только для "галочки". Не более того. На что некоторые товарищи, скажем так, слегка возбудились ;) Также мне не понятно, зачем копировать константные строчки из программной памяти в ОЗУ - это моё непонимание, похоже, вообще было воспринято, как личное оскорбление.

Уважаемый, если бы что-то там было воспринято, как оскорбление, Вас бы уже не было на этом форуме. Админ, это дело такое - "коварен, капризен, злопамятен" (с) :) . Вам было сделано, скажем так, замечание, за некоторую назойливость. Один раз высказал своё мнение, второй раз то же самое, третий... Все уже поняли, что Вы под ОС не пишите, и на Си, судя по всему, тоже не очень. Не пишите на здоровье, слава богу, что хоть что-то умеете, некоторые здесь вообще не знают, за какой конец держат паяльник.

Я кнешна понимаю, что задавить "нуба" авторитетом - святое дело, а доказательная база?
Очень интересно было бы из уст мэтров (а также более мэтров и даже 2х мэтров 20 сантымэтров) услышать хотя бы одну причину, по которой так уж "достало" (притом - с 2005го года, если верить датировке форума) читать, что на 8битки ОС и даром не нужна.

НТП отбросим, восьмибитки к нему имеют мало отношения - это уже классика.

Так причина-то есть?
Желательно с простейшим примером из оперы (С позволяет в n раз сократить время написания; в 0,n раз ускорить... блаблабла, ну хоть что-нибудь).

P.S. Пишу на asm для AVR. На С для ARM (и для долбаной OpenAT приходилось), на C# для PC уже переучиваюсь. При этом до сих пор считаю, что писать на 8 бит контроллеры надо в асме.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт: 17 ноя 2009 1:18 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 26 авг 2007 12:54
Сообщения: 1063
За всё в этом мире приходится платить. За С - в обмен на портитуемость и скорорость написания кода - объёмом и скоростью выполнения. За АСМ - временем написания и привязкой к конкретному контроллеру. А операционная система - позволяет удобно распределять приоритеты выполняемым задачам пусть даже и на 8-и битном контроллере. Вам дали свой кусок работы - непрося в замен ничего, нужно сказать спасибо.

С каждым годом контроллеры становятся и дешевле и быстрее. И что действительно ценно - это конечный результат. Будь ты хоть гений хоть крутой программист - главное конечный результат. Как ты его получил - хоть на АСМ хоть на С значения не имеет. Кстати а почему в notpad++ а не в pn++ ?

Информации по ОС для микроконтроллеров в сети хватает - почитайте. А вдруг и вам пригоится. На АСМ уже давно никто не пишет... ещё в машинных кодах вспомните как HEX файлы ручками писали - когда под контроллер ASM компилятора небыло :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт: 17 ноя 2009 1:44 
Не в сети
Аватара пользователя

Зарегистрирован: Пн: 21 янв 2008 12:37
Сообщения: 648
Откуда: г. Русе, Болгария
Petrucho писал(а):
На АСМ уже давно никто не пишет...

Извините, дорогой, я иногда пишу на АСМ обработчики прерываний. :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт: 17 ноя 2009 2:26 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 26 авг 2007 12:54
Сообщения: 1063
Хорошо Рандом зарисовался :lol:

Это нужно делать когда ресурсов контроллера не хватает. Но АСМ вставки не панацея... Как варриант достаточно перефразировать строки на СИ пока компилятор не сгенерит более красивый код... Иногда в А+Б достаточно поменять местами А и Б. :wink:

А считали сколько в любимом ПИК-е занимает сохранение стека, вход в прерывание, проверка источника прерывания и выход из прерывания и возврат из стека по сравнению с самим кодом прерывания?

P.S. Не вставки АСМ говорят о качестве кода. Вот попробуйте свой глаз циклопа переложить на другой контроллер хоть 8051 хоть АВР хоть 18-ый ПИК - и придётся всё начинать сначала. А в нормальном коде - только инициализацию периферии переписать, и кое где подправить... Вот это высший пилотаж.
АСМ вставки говорят о Вашей ошибке при выборе контроллера.


Последний раз редактировалось Petrucho Вт: 17 ноя 2009 10:34, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт: 17 ноя 2009 23:42 
Не в сети
Аватара пользователя

Зарегистрирован: Пт: 17 фев 2006 17:16
Сообщения: 575
Откуда: С-Петербург
Пардон, но параллельных процессов там хватает. Их, конечно, приходитсяставить в "очередь", но параллельность от этого не исчезает :wink:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср: 18 ноя 2009 8:38 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 26 авг 2007 12:54
Сообщения: 1063
Вот вам и пример процессов в МД:

Процесс А
Процесс Б
Процесс В
и так далее...

А если серьёзно то как вы строите программу?
- либо по прерываниям,
- либо pooling (т.е. программа в цикле проверяет условия),
- либо и то и другое.

А вот теперь представьте что пулингом опрашивается много различных источников. Как вы распределите приоритетность и процессорное время на каждую из задач?

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

Или допустим как вы ограничите время выполнения подпрограммы? У вас ведь пока она не выполнится до конца кроме как по прерыванию ничего дрогого с ней в параллель вополнятся не может?

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

Конечно никто не спорит что можно сделать и без ОС, но почему вы свои проги под ПС пишите на С шарп а не к примеру на АСМе или в машинных кодах и не запускаете их вне любимой оконной ОС?

Просто некоторые специалисты "рабы" своих семейств контроллеров. Привык на АСМе под ПИКи - а всё что не на АСМе и не под ПИКи - это всё плохо. Ну и лобайте на здровь на чём хотите - только прегресс не стоит на месте... он движется в перёд но вас это не касается - вы довольны тем что умеете - живите счастливо в своём маленьком мире, только не хайте пожалуйсто всего того что не понимаете.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср: 18 ноя 2009 14:09 
Не в сети
Аватара пользователя

Зарегистрирован: Ср: 28 дек 2005 1:25
Сообщения: 1074
Откуда: Санкт-Петербург
Я ещё раз предлагаю закончить этот бесконечный спор. Каждый останется при своём мнении, всё как обычно...
Кстати, на серьёзных форумах (к примеру, на Электрониксе) разговоры о том, что лучше: ассемблер или Си, попросту запрещены. По понятной причине.


Последний раз редактировалось /RR/ Ср: 18 ноя 2009 20:46, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср: 18 ноя 2009 16:58 
Не в сети

Зарегистрирован: Пн: 14 май 2007 18:24
Сообщения: 608
Откуда: Новосибирск
RabidRabbit писал(а):
с генерацией TX и квадратурных RX разобрались, это делают таймеры...

Таймеры сами биты портов устанавливают? Если это ПЛИС, то соглашусь, а с контроллером не всё так гладко...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср: 18 ноя 2009 17:58 
Что-то я тебя не понял :( Есть таймеры, они настраиваются на определённый режим работы (для этого не нужен отдельный параллельный процесс, так как настройка один раз делается), далее для движения фазы нужно только записать значения в 4 регистра. На сколько надо, на столько и подвинешь.

А, блин, допёрло ;) В AT91SAM7S, как и в ATmega и ATtiny (про другие не скажу, не использовал) таймеры могут напрямую управлять ногами контроллера. Ау, проснись! ;)


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср: 18 ноя 2009 18:07 
Не в сети

Зарегистрирован: Пн: 14 май 2007 18:24
Сообщения: 608
Откуда: Новосибирск
[quote="RabidRabbit"][/quote]
Я, не большой спец по контроллерам...
Чем, прерыванием, таймер дергает ноги?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср: 18 ноя 2009 19:37 
Никакие прерывания при этом не используются, просто указываешь, что по достижению счётчиком такого-то значение нужно вот эту ногу поставить в 0 (в 1, или инвертировать), а по достижении другого значения - поставить в 1(в 0, или инвертировать). Там вариантов куча :)


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср: 18 ноя 2009 21:00 
Не в сети
Аватара пользователя

Зарегистрирован: Ср: 28 дек 2005 1:25
Сообщения: 1074
Откуда: Санкт-Петербург
Предлагаю к критике в качестве параллельных процессов следующие позиции:

1) Оцифровка входного сигнала и его обработка.
2) Контроль батареи питания с частотой... ну, 1-10 раз в секунду.
3) Генерация звуковых сигналов заданной длительности и частоты.
4) Выработка управляющих сигналов для аналоговой части схемы: например, импульс сброса длительностью 500мс для статического IB-прибора.
5) Включение подсветки ЖКИ на 5 секунд при нажатии клавиш клавиатуры.
6) Опрос клавиатуры с частотой 500-1000 раз в секунду. Чаще 1 кГц не имеет смысла.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср: 18 ноя 2009 21:45 
Оцифровку сразу выкидываем - в AT91SAM7S данные от АЦП в замечательно перекинет PDC, а пинать АЦП будет таймер.

Контроль батареи питания - в конце оцифровки пнуть АЦП, PDC запишет результат, опять же дёрнет прерывание - посмотреть результат - тьфу.

Генерация звуковых сигналов - есть четыре канала PWM, вот и полифония ;)

Включить подсветку ЖКИ на 5 секунд - взводим в RTC аларм - и вуаля ;)

Опрос клавиатуры с частотой 1 кГц - это, по-моему, только для марсианских коммандос (см. Альфред Бестер, "Тигр! Тигр!"), и 100 Гц хватит ;) Если хочется опрашивать постоянно с неизменной частотой - прицепить к интервальному таймеру (PIT) и забыть :)

И вообще, есть такая штука, как "очередь таймеров" ;)


Ну не винда это, которая в тредпуле про запас 512 потоков держит ;)


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт: 19 ноя 2009 6:53 
Не в сети

Зарегистрирован: Пн: 14 май 2007 18:24
Сообщения: 608
Откуда: Новосибирск
[quote="RabidRabbit"][/quote]
Вы, попробовали бы сначала, а потом бы уже плевались на элементарщину... Всё же зависит от задач поставленных для обработки контроллером, а они имеют обыкновение накапливаться и почему-то норовят вылезти именно сейчас и сразу...
Тот же фазовый сдвиг, или прямая оцифровка входных данных вообще "священная корова", которую пропускают в первую очередь... и какой-то выход сравнения таймера далеко не всегда спасает ситуацию (мне, например, нужно дергать 6-ью ногами для формирования времянки TX/RX..)... Каждому, своё... и единого лекарства - нет...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу Пред.  1, 2, 3  След.

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


Кто сейчас на конференции

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


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

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