Платы на отечественных компонентах. 4 платы с микроконтроллером миландр MDR32F9Q.

===============================Залп первый — пробитие или рикошет=============================

По состоянию на 12,10,2013 эта статья устарела.
Сейчас все эти платы переразводятся с нуля, функционал плат остаётся прежним.

Изменения 14г-02-13:
Убраны цены устройств.
Незначительно изменён текст.

И так начнём.

Тема создана чтобы первоначально осмотреть спрос, кому это всё надо.

Платы основаны на отечественном микроконтроллере производства Миландр.
1 из плат использует драйверы двигателей К1128КТ4АР производства НТЦ-СИТ.
Разработать для них модуль собрался из-за того что хотелось сделать действительно то, чего нет на рынке.
Хотелось как-то поддержать отечественный арм контроллер.
Думаю найдутся люди, которые скажут что это бред, и браться делать для этих мк модули = гиблое дело, ну а я взялся.
Прошиваю эти мк через плату STM32F4Diskovery SWD, среда разработки Keil uVision4.60.
Пока сам ничего путного не написал, проверял работу пмк19пб2 с помощью примеров.
В следующей статье по этим платам, хочу показать первый запуск и настройка проекта, а также подробное описание плат в каждой отдельной теме. В этом топике показано только сами девайсы(кратко описал для чего они нужны) и краткое описание чипа МДР32.

Микроконтроллер MDR32F9Q2 от Миландр

Корпус			-	LQFP64(Н18.64-1В ) пластиковый.
Ядро			-	ARM Cortex-M3 rev2.0 80Мгц. Ядро лицензировано в 2008г.
Флеша			-	128 Кбайт Flash
ОЗУ			-	32 Кбайт
Питание			-	2.2 — 3,6В
Ввод вывод              -	43 
входной-выходной ток    -	10ма(Для D+ D- до 40ма)
Подключаемая ёмкость    -       30пФ
USB			-	Device/Host FS до 12Мбит/с, встроенный PHY.
UART/CAN/SPI/I2C	-	2/2/2/1
2 модуля АЦП 12бит	-	8 каналов , 1Мегасемпл/с
1 модуль ЦАП 12бит	-	1 канал
Температура		-	-40 . . . +85(32F9Q2I) или 0 . . . +70(32F9Q2C)
Компараторов		-	2
DMA			-	32 канала, память-память, периферия-память.

Время хранения информации при +25           - 25 лет
Время хранения информации при +85           - 10 лет
Динамический ток потребления при 3,6в 80МГц - 120ма
Динамический ток потребления при 3,6в 55МГц - 40ма


Ядро лицензировано у ARM в 2008г в виде Verilog кодов, также лицензирована некоторая периферия, остальное своё.
Внешняя шина 8бит, поддерживает ОЗУ, ПЗУ, NAND Flash.
Встроенный UART2 загрузчик прошивки.
Аппаратное умножение за 1 цикл, аппаратный делитель.
Защита 8 регионов памяти.
Программируется через JTAGA+SWDA или JTAGB+SWDB.
Среда разработки от компании Keil, IAR и Phyton, условно бесплатные, с бесплатными дела идут медленно(И наверно это повесили на нас).

╓ Среда разработки
║ ◄Keil uVision 4►
║ ╠ Условно бесплатная — до 32кб кода
║ ╠ Есть примеры, МДР32 можно выбрать в списке, миландр поддерживает эту среду.
║ ╚ Платформа(Windows)
║ ◄IAR Embedded Workbench►
║ ╠ Условно бесплатная — до 32кб кода
║ ╠ Есть примеры, МДР32 можно выбрать в списке, миландр поддерживает эту среду.
║ ╚ Платформа(Windows)
║ ◄Phyton CodeMaster-ARM►
║ ╠ Условно бесплатная — до 8кб кода
║ ╠ Есть примеры, МДР32 можно выбрать в списке, миландр поддерживает эту среду.
║ ╚ Платформа(Windows)
║ ◄GCC + Eclipse и им подобные сборки►
║ ╠ Бесплатная
║ ╠ Есть примеры, миландр не развивает это направление(но интересуется этим направлением).
╙ ╚ Платформа(Windows или Linux)

Блок схема чипа мдр32

Более подробная информация о мдр32 в ПДФ…
milandr.ru/uploads/Products/product_80/spec_seriya_1986BE9x.pdf
milandr.ru/uploads/doc_img/production/spec_seriya_1986BE9x_errata.pdf

Очень весомые конкуренты МДР32 по схожим ценам и функционал получше.
www.compel.ru/infosheet/ST/STM32F105RCT6/
www.compel.ru/infosheet/ST/STM32F103RET6/

Не айс, но хотя бы что-то, хотя бы как-то, хотя бы чем-то…
MDR32F9Q2I стоит 165р штука. Когда будут большие заказы, миландр может заказать больше пластин с мдр32, и цена может наверно снизится ещё. Пластины для МДР32 заказывают в зарубежной компании.

Сама заготовка 13г-06.06

Надписи на заготовке юлхедера от 060613

Что такое ПМК19ПБ2, ПМК019, ДЕМ32МДР9 и ПДМК003.

ПМК19ПБ2 — модуль совместимый с PinboardII.
Ключевые детали на плате:
МК от Миландр MDR32F9Q(CortexM3 80MHz LQFP64), 1 MDRI4852SI(RS485, миландр), встроенный стабилизатор.

На модуле на нижней стороне впаяны штыри, потому как разъёмов у меня нет в данный момент, так что имейте ввиду.

ПМК019 — модуль удобно устанавливаемый в плату для макетирования, также пригоден в конечных изделиях.
Ключевые детали на плате:
МК от Миландр MDR32F9Q(CortexM3 80MHz LQFP64), 2 MDRI4852SI(RS485, миландр), встроенный стабилизатор.


ДЕМ32МДР9 — Плата с монтажными отверстиями и встроенным USBtoUART(CP2102).
Ключевые детали на плате: MDR32F9Q(CortexM3 80MHz LQFP64, Миландр), 1 MDRI4852SI(RS485, миландр), встроенный стабилизатор(НТЦ-СИТ или Импорт), CP2102(USBtoCOM).

==В следующей заготовке появится вариант с FT2232==

ПДМК003 — Готовая плата для управления станком.
Ключевые детали на плате: MDR32F9Q(CortexM3 80MHz LQFP64, Миландр), 1 MDRI4852SI(RS485, миландр), встроенный стабилизатор(НТЦ-СИТ или Импорт), 3 К1128КТ4АР(Полный Н мост, НТЦ-СИТ).


Видео представлено чтобы понять смысл о чём я пишу.
Все платки с заготовки режутся спец инструментом.
Платы запаяны вручную. Самый крутой по пайке это пмк019, туева куча 0402 резисторов и прочей мелочи.
Качество пайки можно разглядеть на этих фото.
Качество пайки пмк19пб2
Качество пайки пмк019
Качество пайки дем32мдр9

Документацию на платы в разработке.

Названия у плат или их расшифровка:

Платы с МК:
ПМК — Плата с МК
ПДМК — Плата Драйвер с МК
ПРМК — Плата Реле с МК
ПКМК — Плата Ключи с МК
ППИМК — Плата Периферийная Интерфейсная с МикроКонтроллером(Напоминает системную плату компьютера)
ПСММК — Плата Светодиодная Матрица с МикроКонтроллером

Платы без МК:
ПД — Плата Драйвер с МК
ПР — Плата Реле с МК
ПК — Плата Ключи
ПСМ — Плата Светодиодная Матрица
ППИ — Плата Периферийная Интерфейсная

Платы с ПрограммируемойЛогикой(CPLD/FPGA)
ППЛ — Плата с ПрограммируемойЛогикой
ПДПЛ — Плата Драйвер с ПрограммируемойЛогикой
ППИПЛ — Плата Периферийная Интерфейсная с ПрограммируемойЛогикой(Напоминает системную плату компьютера)

Платы демонстрационные с монтажными отверстиями, или платы которые явно предназначены для отладки итп:
ДЕМ32 — Демонстрационая плата с 32разрядным мк
ДЕМ8 — Демонстрационая плата с 8разрядным мк
ДЕМПЛ — Демонстрационая плата с ПрограммируемойЛогикой

Модульные платы ЭНКАЕРС собираемые по принципу конструктор, для создания особых конструкций:
ЭНПК — ЭНкаерс Плата с Ключами
ЭНПД — ЭНкаерс Плата с Драйвером
ЭНМК — ЭНкаерс Плата с МК(Этот модуль центральный и используется для управления всей конструкции)
ЭНППИ — ЭНкаерс Плата Периферийная Интерфейсная
ЭНППИМК — ЭНкаерс Плата Периферийная Интерфейсная с МК(Напоминает системную плату компьютера)
ЭНДЕМ — ЭНкаерс Демонстрационная плата с монтажными отверстиями

Платы микросборки высокой плотности и сложности, со стороны компонентов залитые компаудом:
МСМК — МикроСборка с МК
МСДМК — МикроСборка Драйвер с МК
МССМК — МикроСборка Сенсоры(датчики) с МК
МССИС — МикроСборка СИСтемная

После букв идёт номер разработки. Причём иногда некоторые номера никогда не будут сделаны, но их номер всёравно останется. Такие проекты в большинстве случаев остаются на стадии эскизов.
Например ПМК019 это 19-тая по счёту плата серии ПМК. Платы которые заморожены(разработка остановлена итд.) сохраняют свой номер.

Принципиальной схемы плат у меня сейчас нет. Такие простые платы, я развожу полностью вручную.
То-есть ставлю компонент и развожу его от площадки к площадке. Вот так по кирпичикам у меня получается плата.
Разумеется сложные платы я буду разводить уже по схеме, и с автотрассировщиком.
Сложное это например плата видеокарты, которая имеет корпус LQFP144(Спартан 3ан), фреймбуфер, озу для видеоданных(ддр1 или ддр2), и управляющий контроллер.
Печатку или проект выложить не могу, на данный момент платы с заготовки 060613 это единственный мой хлеб.
Надеюсь всё получится, и как видите я сделал большую ставку на мдр32(Судя по занятой площади на заготовке)

Зачем в каждой плате RS485.

Микросхема MDRI485 приёмо-передатчик по стандарту RS485.
В ПМК19ПБ2, ДЕМ32МДР9 и ПДМК003 имеется 1 приёмопередатчик RS485. В ПМК019 их 2 штуки.
Практически в каждой своей плате я использую интерфейс RS485, что позволит делать комплексные системы и позволит делать разные конфигурации.
Например к ПДМК003 можно подключить несколько ПРМК01, для управления мощной нагрузкой
(Дрель, фреза, свет, блок питания, пылесос, вентиляция, компрессор, нагревательный элемент).
При этом ПРМК01 имеет внешние ввод вывод и входы ацп, что позволит контроллировать что-нибудь, и передавать инфу по RS485.

В моих микросборках, будет использоваться тоже RS485 или что-то другое с меньшим напряжением(На i2c пока остановился).
В этажёрках(многоэтажные системы из плат) используется spi с усилителями шин(в некоторых платах также присутствует и RS485).Что вообще из себя представляет эта система, смотрите тут youtu.be/focVEJITZi4

Для всей этой системы мне ещё предстоит разработать протокол, для стандартизации связи между всеми моими платами.
Протокол в начале будет закрыт, но потом открою выложив исходники и подробное описание.
Вкратце о протоколе: (Протокол кстати называется ЭНКАЕРС)
В случае с этажёрками, за 1 сеанс приёмо-передачи используется 1байт. В 1 байте заложена вся функция работы с протоколом.
Точное название протокола ЭНКАЕРС-ЭТ

-0 0 0 0   0 0   0   0
 ╠═╩═╩═╝   ╠═╝   ║   ║   
 ║         ║     ║   ║
 ║         ║     ║   ╚═══> Режим передачи данных(0-Высокая скорость, 1-Надёжность(в случае если произошло что-то необычное))
 ║         ║     ╚═══════> Команда записи(бит 0) или чтения(бит 1) сразу после этой команды.
 ║         ╚═════════════> Количество байт в данных: 1,4,8,64 байт за 1 сеанс приёмо-передачи.
 ╚═══════════════════════> Адрес устройства: 0-адрес всех устройств, 1-адрес всегда за мастером, остальные 2-15 для ведомых плат.


В случае с RS485 и микросборками, за 1 сеанс приёмо-передачи используется 2байта. В 2 байтах заложена вся функция работы с протоколом.
Точное название протокола ЭНКАЕРС485

-0 0 0 0 0 0 0  0
 ╠═╩═╩═╩═╩═╩═╝  ║    
 ║              ╚════════> Отлючение адресата из сети или его перезапуск.
 ╚═══════════════════════> Адрес устройства: 0-адрес всех устройств, 1-адрес всегда за мастером, остальные 2-124 для ведомых плат.

 0 0 0 0   0 0   0   0
 ╠═╩═╩═╝   ╠═╝   ║   ║   
 ║         ║     ║   ║
 ║         ║     ║   ╚═══> Режим передачи данных(0-Высокая скорость, 1-Надёжность(в случае если произошло что-то необычное))
 ║         ║     ╚═══════> Команда записи(бит 0) или чтения(бит 1) сразу после этой команды.
 ║         ╚═════════════> Количество байт в данных: 1,4,8,64 байт за 1 сеанс приёмо-передачи.
 ╚═══════════════════════> Своего рода CRC, проверка целостности 2х байт(Пока ещё не думал как это реализовать).


Вообщем так, если сообщество готово взять на себя разработку общего для всех протокола, который будем использовать все вместе, можете использовать то что выше как заготовку.
Я думаю вы согласитесь что, если все будем использовать 1 конкретный протокол, мы сможем объединять наши разработки в 1 единую систему.
Ежели такой протокол уже есть, то ткните меня носиком.носиком…

Немного о себе.

Зовут меня Сергей. 24Года. Без высших образований и.т.д. Живу в Московской области, почти противоположно Зеленограду(Что чрезвычайно плохо). С 1 июля я в «отпуске» от работы, чтобы форсировать выход печатных плат на рынок. С 9 лет занимаюсь электроникой. Отец мой тоже электронщик, но об этом я узнал в 16лет. Эх гены ))). Хочу производить всё что вижу, и создавать технику для производства всего что есть на земле. Первый этап, без чего я не смогу этого сделать, это платы. Сейчас я создал проект/сайт декстроплат.ру основная функция которого «Дизайн центр производства плат», и создавать платы по щадящим ценам. То-есть я повёрнут лицом к радиолюбителям, электронщикам и начинающим. Низкая цена компенсируется большим ассортиментом, и снижением затрат на обкат плат/макетов, а также низкой ценой на сами детали. У меня лучше всего получается разрабатывать платы которые считаю нужными, но плохо с документацией/прошивкой/программы для пк. То-есть я могу сделать всё качественно, но делая что-то отличное от разработки плат, время тратится нерационально. Делать работу по ТЗ мне очень сложно, даже простые платки, делается всё хорошо и быстро если я этого сам хочу.(Наверно гены). Отсюда и мало шансов работать в какойнить компании, тем более без бумажек. Я как художник который рисует очертания чего-то большого, а потом с трудом допиливает детализацию(Документация, прошивка, программа на пк).
Откуда получилось слово ЮЛХЕДЕР целая история, но можно сказать в одну строку
=Когда то давно, для игры Homeworld2 я пытался сделать мод, с новой расой, диктатором всей этой расы звали юлхедер=
Много новых слов которые вы услышите от меня, будет исходить с того засохшего проекта.

Контакты.
Страница в вк vk.com/id36323838
Группа в вк vk.com/mcuru
Группа в вк vk.com/dekstroplat
Сайт dekstroplat.ru/
  • +8
  • 08 июля 2013, 01:13
  • ULHEDER

Комментарии (182)

RSS свернуть / развернуть
таки давайте уже поговорим за деньги
0
Да а самое главное забыл.
Сейчас допишу ценники.
В принципе есть цены на главной старнице декстроплат, но я не учёл запас для продажи в розничные магазины.
0
вот бы готовый модуль с разъемом под 4 битный HD44780, подключеный через сдвиговый регистр, разъем под выносную клавиатурку с 6 кнопками (+, гнд и 6 кнопок), езернет контроллер и разъем для подключения всякой дряни типа датчиков и прочей фигни. типа модуль для отображения и управления. ну и конечно липукс загнать туда.
+1
Цены поставил возле каждого видео о плате.

вот бы готовый модуль с разъемом под 4 битный HD44780, подключеный через сдвиговый регистр, разъем под выносную клавиатурку с 6 кнопками (+, гнд и 6 кнопок), езернет контроллер и разъем для подключения всякой дряни типа датчиков и прочей фигни. типа модуль для отображения и управления. ну и конечно липукс загнать туда.
Всё это можно, но попозже =)
0
Прошиваю эти мк через плату STM32F4Diskovery SWD
Разве ST-LINK поддерживает что-то кроме STM8/STM32?
Phyton CodeMaster-ARM
Оно хоть чем-то интересно? Не относительно миландра, а вообще.
Пластины для МДР32 заказывают в зарубежной компании.
Почему, интересно? Вроде ж у нас уже есть линии, работающие с довольно тонкими нормами. И кстати, по каким нормам оно изготавливается?

Платка для пинборда любопытна, хотя неясно, зачем ей свои RS485 и стабилизатор.

А что на остальных платках, не обведенных рамками?
0
  • avatar
  • Vga
  • 08 июля 2013, 02:13
Разве ST-LINK поддерживает что-то кроме STM8/STM32?
Да вот я сам не ожидал. Забрал у них коробку с микросхемами и ихней платой, про отсутствие отладки/программатора в самой плате не знал. Пришёл домой, открыл коробку, посмотрел на плату, и… Сразу начал думать как его прошить через юсарт2.
И гдето мельком увидел про SWD, подрубил дискавери, скачал кеил, попробовал сразу стереть, и пошло поехало.
Кстати отладка тоже работает, а не тока прошивка.

Оно хоть чем-то интересно? Не относительно миландра, а вообще.
Они офигефшие, честное слово. Но указать нужно было. Ничем неинтересные.

Почему, интересно? Вроде ж у нас уже есть линии, работающие с довольно тонкими нормами. И кстати, по каким нормам оно изготавливается?
Миландр чипы для керамических корпусов делает чипы на микроне, чипы для пластика делать пока не выгодно там.
Пока миландр ждёт завершения обкатки производственной линии в микроне(имхо).

Платка для пинборда любопытна, хотя неясно, зачем ей свои RS485 и стабилизатор.
Стабилизатор позволит использовать плату не только для пинбоард2.
РС485 нужен чтобы соединить с другими моими разработками, про то зачем рс485 написано в статье.
Кроме того доступны разные комплектации, на форуме я постепенно наполню инфу об этом.

Тоесть можно заказать плату без стабилизатора и без МДРИ485. При этом цена упадёт немного.
+2
И гдето мельком увидел про SWD, подрубил дискавери, скачал кеил, попробовал сразу стереть, и пошло поехало.
Весьма странно. А ты его не перешивал в версалун?
Они офигефшие, честное слово. Но указать нужно было. Ничем неинтересные.
А компилятор у них свой? Насколько хорошо компилирует?
Что из себя представляет среда? Тоже застряла в 1995-м, как IAR?
Стабилизатор позволит использовать плату не только для пинбоард2.
А смысл, учитывая специфичность формата? И есть целых три альтернативных платы для автономного применения. Плюс можно сделать модуль расширения с тем же RS485 (правда, у Ди свой в проекте, но можно типа на отечественном чипе), вот им по планам Ди положен стабилизатор и хедеры для установки CPU-блока. Такая связка тоже может использоваться самостоятельно.
Ну а RS485 на пинборде можно реализовать через модуль расширения (и он то ли уже есть, то ли разрабатывается). Я не думаю, что все желающие этот МК так уж помешаны на этом интерфейсе.
0
Весьма странно. А ты его не перешивал в версалун?
С платой ничего не делал, куплена в магазине и не дошедшая до моих рук, использую сейчас только для прошивки и отладки мдр32. Впрочем в продолжении к этой статье всё можно будет увидеть.
А компилятор у них свой? Насколько хорошо компилирует?
Что из себя представляет среда? Тоже застряла в 1995-м, как IAR?
Увидя 8кб кода, я его даже не устанавливал. Поддержка этого компилятора заявлена самим миландром.

Про РС485, в ПМК19ПБ2 используется МДРИ485 который стоит 29р, разумеется дорогая штука для того чтоб просто было.
Поэтому в минимальной комплектации она не припаивается, как и стабилизатор, и штыри возле МДРИ485.
Цена в этом случае будет 420руб.
0
Кстати, в их положении, IMHO, было бы куда логичнее поддерживать и развивать бесплатную среду на основе еклипса.
0
Их больше заинтересовал конечный продукт, то-есть пдмк003.
И поставка самих чипов у них в приоритете на керамические корпуса.
Массовый выпуск МДР32 будет достигнут только в конечных изделиях, таких как счётчик милур(о нём написано на ихнем сайте).

Вот и получается что по их мнению — добится успеха российскому чипу, получится используя его сразу в готовых изделиях, и не делать ставку на отладочные средства/платы итд.
0
Я думал что если создать дешёвые макетные/отладочные платы, и хоть какоето начало в плане доступных примеров и программных сред, можно продвинуть и сам чип.
Ведь чем больше людей возьмутся за мдр32, тем больше бесплатного по образуется, и больше найдётся ошибок. Что весьма кстати перед массовым запуском(Покупка фотошаблонов для чипа итд).
0
Я думал что если создать дешёвые макетные/отладочные платы, и хоть какоето начало в плане доступных примеров и программных сред, можно продвинуть и сам чип.
Совершенно логичный подход. И доступность средств разработки-отладки играет тут весьма существенную роль.
0
Вот и получается что по их мнению — добится успеха российскому чипу, получится используя его сразу в готовых изделиях, и не делать ставку на отладочные средства/платы итд.
Но в конечные изделия оно может попасть только при наличии доступных средств разработки. Атмел это давно понял и ставка на бесплатный gcc вполне себя оправдала. ARM тоже сейчас плотно взялся за gcc (последние версии компиляторов под арм делаются уже под их присмотром и наблюдается миграция на их версию тулчейна, хотя раньше было как минимум три разных версии). Тенденция, как говорится, на лицо, вовремя вскочить в этот поезд означает съэкономить себе средства и время и остаться в мейнстриме. IMHO для конторы, которая втискивается на плотно заселенный рынок это достаточно существенный момент.
0
А что на остальных платках, не обведенных рамками?
Это остальные 7 видов плат, но там всё импорт.
И о них можно посмотреть позже в следующих статьях.
Ну или глянуть на следующих ссылках.
youtu.be/Qi9XYx41yko прмк01
youtu.be/6KLuiVxTQGA пдмк008
youtu.be/focVEJITZi4 платы серии ЭНХХХХ, для многоэтажной системы.

Подробности в следующих статьях.
0
Юсб и ацп и ещё что то это перешло с ихнего 8 битного микроконтроллера.
Намёк на СТ правильный, так — как даже ст-линк прошивает всё это дело без всяких танцев с бубном.
Ждите статью о пмк19пб2 там я напишу процесс прошивки с помощью дискавери, используя среду кеил ювижн 4,6.
0
Начинаю читать статью и не понимаю: о чём это? для чего это? в чём цель и какие задачи решаются? Должно быть, мне кажется, в начале статьи некое введение на два-три предложения, из которого должен быть ясен предмет статьи. Вы же это поместили в конец:
Тема создана чтобы первоначально осмотреть спрос, кому это всё надо.
Хочу производить всё что вижу, и создавать технику для производства всего что есть на земле. Первый этап, без чего я не смогу этого сделать, это платы. Сейчас я создал проект/сайт декстроплат.ру основная функция которого «Дизайн центр производства плат», и создавать платы по щадящим ценам.
Почему не написать об этом в самом начале?
Вот на вашем сайте сразу ясно написано:
Декстроплат занимается разработкой… и продажа разработанных изделий. По возможности используются отечественные компоненты…
Тоесть основной упор при разработке плат, делается на поиск отечественных компонентов которые вполне могут заменить зарубежные аналоги.
… прототипное производство плат… Цена подготовки производства будет самая низкая в стране… В планах, производство...
Но чтобы найти ссылку на ваш сайт, опять же, нужно долистать статью до конца.
==
Наверно, я один такой капризный, все всё сразу сообразили и стали задавать вопросы по существу, а я не прорубаюсь через 15 страниц.
Извините.
+2
все всё сразу сообразили и стали задавать вопросы по существу,
я тоже нихера не понял, но я только встал в четвертом часу утра

отвечу на вопросы автора
платы не куплю, потому что
живу далеко
следовательно мне не нужен миландр
вдруг я спалю какую детальку и заменить ее будет нечем

вопрос тебе
с чего ты взял, что производство плат будет самым дешевым в стране? правда я не совсем понял
ты за деньги разводиш и сдаеш на завод или же просто собираеш заказы, делаеш гербер а4 и сдаеш, а потом рассылаеш заказчикам?
ты в курсе, что китайцы 5х5см делают за 1 бакс мелкой серией и с шелкографией, которой у тебя нет
а 0.25 можно и дома сделать фоторезистом и даже несколько переходных отверстий

названия плат вообще ни о чем не говорят и трудно воспринимаются
это как названия линупсовых прог из набора букв — хер запомниш

плата станка
как владелец станка могу тебе сразу сказать, что этой платой можно крутить разве что сверлильный станок для плат, больше эти драйверы не потянут

если хочеш крутить нормальные движки по 10кг на валу, то ищи наработки на внешних полевиках с мк или сделай одну плату с мк, который будет управлять всеми движками
а если сделаеш плату, которая будет иметь 5 драйверов и будет тупо втыкаться в усб и работать с мах3, то есть большой шанс, что у тебя ее будут покупать, т.к. компутеры с лпт уходят
плата без драйверов двигателей у китаез стоит 160 евров
сделаеш за 100 с modbus, я куплю
только плата должна иметь еще входы для концевиков, выходы дискретные, 1-2 выхода шим и аналоговые входы

еще советую подумать над модулями готовыми типа плата индикаторов, светодиодов, кнопок с разным включением, в том числе для подключения к ацп, всякие там регистры
короче чтобы можно было один раз купить комплект таких платок и соединять их проводами с платой разработчика

на ебее китайцы продают уже такие наборы для ардуины, но там не совсем то, но стоящие платки есть
+2
а если сделаеш плату, которая будет иметь 5 драйверов и будет тупо втыкаться в усб и работать с мах3, то есть большой шанс, что у тебя ее будут покупать, т.к. компутеры с лпт уходят
Не уверен, что это вообще возможно. Те варианты USB контроллеров, что я видел, как правило идут со своим софтом. Там, насколько я понимаю, возникают сложности с синхронизацией движений по разным координатам, соответственно решить это можно (при использовании USB) только отдав управление полностью контроллеру. Контроллер в этом случае получается достаточно умный, что бы рулить всем самостоятельно, а софт на стороне писюка нужен только для своевременной доставки очередной порции управляющих кодов и визуализации. Превращением кодов в последовательности управления движками задача контроллера и, по большому счету, mach3 для этого не нужен.
0
в том и дело, что все делает мах3 и шлет в усб свои пакеты через модбас
дальше уже сам контроллер решает как интерпретировать это и задает шаги
есть и со своим софтом конечно

я пробовал расковырять этот модбас, но что-то слишком гиморно для моих мозгов
хотел сделать усб для моних концевиков, а то контактов лпт уже не хватало
и вот так забил на это дело и присматриваюсь к китайскому контроллеру
0
в том и дело, что все делает мах3 и шлет в усб свои пакеты через модбас
дальше уже сам контроллер решает как интерпретировать это и задает шаги
Тут нестыковка — или контроллер сам решает как интерпретировать или все делает Mach3.
0
имелось в виду управление драйверами командами степ/дир или же сам мк будет управлять полевиками на основании того, что пришло ему с усб
мах3 просто шлет цифры, но они заранее подготовлены и посчитаны с учетом конструкции станка, разгона и торможения

готовые модбас контроллеры не имеют никаких плагинов и в инструкции только показаны конфиги в самом плагине модбаса
0
имелось в виду управление драйверами командами степ/дир или же сам мк будет управлять полевиками на основании того, что пришло ему с усб
мах3 просто шлет цифры, но они заранее подготовлены и посчитаны с учетом конструкции станка, разгона и торможения
Да, но там жесткие требования к времянке, а если управлять на таком уровне, то слать надо много и не факт, что оно будет вовремя доходить. Впрочем ладно, надо будет на досуге покопать еще в этом направлении. Хотя я, все-таки, склоняюсь к варианту с более умным контроллером.
0
вопрос тебе
с чего ты взял, что производство плат будет самым дешевым в стране? правда я не совсем понял
ты за деньги разводиш и сдаеш на завод или же просто собираеш заказы, делаеш гербер а4 и сдаеш, а потом рассылаеш заказчикам?
В планах сделать своё производство плат, для производства прототипов. И в случае если прототипы будут получатся на ура, буду делать и другим прототипы, за символическую денюшку. А для серийного производства есть китай или резонит/тепро и другие.
Сейчас я делаю прототипы в мультизагатовке, на заводах.

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

Для мощных движков естественно полевики, иначе плату можно записывать и в обогреватели…
Собираюсь делать платку с полевиками и контроллером, для контроля тока и температуры движка, 1 плата 1 двигатель.
Располагать плату непосредственно возле движка, чтоб сократить длину проводов от драйвера к двиглу.
Связь с платой будет через те-же рс485, и подключатся например к пмк019 или любой другой плате которая имеет поддержку юсб.
Или вовсе через преобразователь USB-UART-RS485.
0
Располагать плату непосредственно возле движка, чтоб сократить длину проводов от драйвера к двиглу.
это зачем? у меня к движкам идет сигнальный провод 2 метра и они вполне себе крутятся
ось у спокойно возит мою тушу и + свои 15кг и ток там не больше 1.5а при 24в
нагрев двигателя спокойно до 80 градусов может быть
0
это зачем? у меня к движкам идет сигнальный провод 2 метра и они вполне себе крутятся
Ну всем не угодишь. Просто в случае раздельных плат, получается ненужно думать сколько надо делать драйверов на 1 плате 3 или 5. Да и излучения всякого от коротких проводов меньше чем от длинных. Короче думаю раздельные самостоятельные платки с драйвером и мк, имеют свои плюсы.
0
у меня как раз 5 раздельных платок
в станке стоит 4 двигателя и 5й еще хочу купить в виде поворотного стола, поэтому брал набор сразу 5
так что 3 это минимум

насчет излучения — провода экранированы и контроллер все равно в ящик ставить
я просто долго изучал вопрос драйверов и в итоге купил готовые на специальных драйверах, но и они не идеальные и дохнут
поэтому пришел к выводу, что нужны внешние полевики и контроллер
а мощный арм мог бы быть один на всех со своими каналами шим

это чисто так, мои измышления
0
Что Вы подразумеваете под своим производством прототипов? Это будет какое-то заводское оборудование или наколенное производство типа фоторезист + металлизация + маска?
+1
У меня имеется опыт в создании макета какого либо оборудования.
Например для своей бывшей работы, сделал чистую камеру для сборки дисплеев планшетов без пыли внутри.
Затратив на этот макет копейки(провда и получил копейки).
На этом макетном оборудовании я проработал 6 месяцев, и из него выходили вполне чистые 10,1 дюймовые матрицы.
Чистая камера макет

Поэтому считаю что смогу сделать вполне нормальное оборудование для прототипного изготовления плат.
Потому как время/стоимость подготовки/быстрый результат играет роль.
0
То есть это это планируется 2 вариант: фоторезист + металлизация + маска домашними технологиями. Я правильно понял?
0
Я бы сказал что это среднее, между 1 и 2 вариантом.
Знаю что 0.25 и 0.2мм проводники вполне можно делать дома, и отверстия 0.5 и 0.3(у меня выходило только при толщине платы 0.5мм). Прототипы делаются не на коленке, но и само оборудование будет не профф уровня.

Там будет много разного оборудования, оно не займёт много места, и помещение для этого у меня есть.
0
Если опыта самостоятельного изготовления плат нет, то придется потратить изрядно времени на постановку процесса. 0.15 зазор/дорожка получаются легко на фольге 18 и 35 мкм. 0.25-0.3 — на фольге 70мкм. Под сверление/обрезание плат нужен станок с ЧПУ, при сколько-нибудь существенной загрузке — не один (или с промышленной производительностью и автоматом замены инструмента). Для гальваники понадобится ванна (с механикой для крепления и качания платы) и источник тока. Опять-таки, при существенной нагрузке — более одной. Затем для нанесении маски понадобится сито (проще всего заказать у полиграфистов, которые занимаются шелкографией), точнее минимум два (пока одно используется — второе отмокает и наоборот). Для сушки маски понадобится печь, опять-таки, не одна при существенной загрузке. Вобщем, под сколько-нибудь серьезную нагрузку оборудования понадобится довольно много, часто дорогого. Cкажем, автомат смены инструмента само по себе может стоить столько, сколько любительский станок не самой дешевой ценовой категории со всеми причандалами. Да, к каждому станку понадобится отдельный комп. Вобщем, удовольствие не из дешевых и из подручных материалов сделать это все не получится.
0
Спасибо за совет, уже прочитано много тем по этому поводу, ваши кстати тоже читал, и у вас больше информации об этих процессах и всё в одном месте.
Разумеется разместив информацию о том что я открою своё производство плат на лице своём(на сайте), я сто раз подумал — смогу ли я это сделать.
Парк оборудования довольно большой, но он займёт всётаки не много места.
все станки будут иметь мои платы, а платы разумеется с РС485, и всем этим делом будет управлять только 1 комп. Но он должен быть шустрым, так как к нему будет подключено много веб камер, чтобы я мог следить за оборудованием в своё отсутствие через интернет. Бесперебойное питание тоже будет, но оно будет использовано только для того чтоб завершить все процессы, которые в случае остановки на какое-то время, приведут к браку.
Это например остановка травления платы, и перенос платы в другую нейтральную ванну, для того чтоб потом когда включится свет продолжить работу… Такое случается крайне редко, но на всякий случай я подстрахуюсь.
Один из первых и самых сложных станков будет смд установщик, я бы его применил уже сейчас.
Так как 0402 и 0603 резики паяются кривовато, хотя говорили что хорошо позиционирую.
Для смены инструментов есть много идей как это сделать. Так-что в этом проблем нет.

Про станки давайте остановимся, не хочу об этом думать сейчас, а то опять в голову долбанёт что надо их собрать а потом платы клепать…
0
все станки будут иметь мои платы, а платы разумеется с РС485, и всем этим делом будет управлять только 1 комп.
А что за платы такие? Контроллеры для управления двигателями и шпинделем?
0
Для смд станка в минимальном оснащении, подойдёт ПДМК003(На 6 постоянных двигателей).
Станок для сверления сквозных отверстий, пойдёт ПДМК003 + ПРМК01.
Станок для фрезеровки по контуру, плат для мощных станков ещё нет, да и сам станок должен быть тяжёлым и прочным.
Для ванн: метализации отверстий, очистки струёй воды, травление с подогревом и циркуляции травителя, пойдёт 1 плата ПРМК01 на каждую ванну.
Ну и далее с таком духе…
Вот и пример того зачем в каждой плате я ставлю РС485, всё это можно в 1 сеть объединить и управлять/контроллировать через пк и даже через интернет.
0
Вы, видимо не до конца поняли о чем я. Ну да ладно, поживем — увидим, может я действительно что-то не так понял.

P.S. травитель греть не надо, надо только взять правильный раствор. и установку для травления лучше делать струйную.
0
 Но он должен быть шустрым, так как к нему будет подключено много веб камер, чтобы я мог следить за оборудованием в своё отсутствие через интернет. 

Не совсем понимаю, зачем Вам много веб-камер, и что Вы подразумеваете под «в своё отсутствие»

Ведь процесс начинается с очистки поверхности заготовки, потом сверление отверстий (пусть на CNC) потом активация, гальваника, нанесение фоторезиста, засветка, проявка и дальше по технологии… И все этапы требуют Вашего непосредственного участия (максимум можно отойти на несколько мин, пока плата в станке или в гальванической ванне). Зачем Вам веб-камеры?
0
Не совсем понимаю, зачем Вам много веб-камер, и что Вы подразумеваете под «в своё отсутствие»
Видимо предполагается, что платы будут прыгать с этапа на этап сами.

Под нормальной загрузкой интервал запуска панелей может быть очень небольшим, раз в 10-20 минут. При таком темпе для одного человека рабочий день превратится в непрерывный бег по кругу между этапами даже если предположить, что, скажем, подготовка герберов, панелизация и печать шаблонов будут делаться магическим образом сами.
0
Короче писал писал, а потом, да ну нафиг столько строчек этапов описывать, лучше напишу статейку для пмк19пб2. :D да и спал я мало за последние пару дней. Могу наляпать всякого.

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

Видимо предполагается, что платы будут прыгать с этапа на этап сами.

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

Отвечу коротко.
Я приехал в помещение утром, загрузил гербера, сверловку переходных, сверловку технических, и сверловку по контору. Вставил нужные фотошаблоны. Всё проверил — запустил, и Уетопал по своим делам.
Пришёл в помещение, забрал платы. :D

Гербера для мультизаготовки которая в самом верху этой темы я собирал сам. То-есть панелизайция итд…
Фотошаблоны можно заказать в типографии либо самим на пигментном эпсоне напечатать.

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

Для управления всем этим нужно много специфичных(хотя не очень то специфичных, тотже ПРМК01) печатных плат, которые я могу использовать сам а могу и продавать.

Это не на коленке но и не пром оборудование. Прототипы для создания прототипов :D

Давайте закроем эту тему, как уже было отмечено поживём увидим, я это всё делаю не только ради пополнения карманов.
0
Отвечу коротко.
Я приехал в помещение утром, загрузил гербера, сверловку переходных, сверловку технических, и сверловку по контору. Вставил нужные фотошаблоны. Всё проверил — запустил, и Уетопал по своим делам.
Пришёл в помещение, забрал платы. :D
Я так понимаю, предполагается целая линия по производству плат? Думаю, подробности можно в личке, врядли это многим интересно.
Фотошаблоны можно заказать в типографии либо самим на пигментном эпсоне напечатать.
Лучше заказывать. Качественная печать фотошаблона на эпсоне достаточно длительный по времени процесс, требующий достаточно тщательного контроля.
0
Думаю, подробности можно в личке, врядли это многим интересно.
Ну мне, по крайней мере, вполне интересно.
+1
Давайте всётаки отложим этот разговор, я к этому ещё вернусь, сейчас мне надо сосредоточится на разработке плат и их документации.
0
Почему не написать об этом в самом начале?
Да действительно текст большой получился, и судя по всему неинтересный получился пост((((
Но вот прочитали бы вы всё, увидя в самом начале ответ на все вопросы.?

Ошибки наматываю на ус.
0
Но вот прочитали бы вы всё, увидя в самом начале ответ на все вопросы.?
 Да зачем же сразу все ответы сразу на все вопросы? Для начала хотя бы понять, какие вопросы рассматриваются. Тогда становится ясно, нужно читать или не нужно. И как раз из-за этого я не смог прочитать всю статью. Бегло пролистал до конца, только тогда понял, о чём это вообще.
 Возьмите любую книжку на русском языке, там обязательно должна быть аннотация, всего в нескольких предложениях.
 Например: «В этой книге рассказана страшная история о том, как Вовочка не пошёл в школу из‑за того, что его брат Александр убил Царя, и что из этого вышло.»
 Или: «В книге известных вантузийских авторов рассматриваются вопросы эксплуатации, обслуживания и ремонта кузнечно-прессового оборудования для изготовления протезов головы.»
0
Примеры вымышленные, любое совпадение с реальностью — случайно. :-)
0
Да здесь особо и нечего естьобсуждать — схем и кода(ПО) нет, лейаутов тоже.

О чем я и говорил: как грибы начали расти НЭП-мане(кустари-одиночки Нео-Электронной Промышленности россии :). Благодаря обильной и разжеванной инфе в инете, дешевым китайским PCB-сервисам и интернет-торговле даже только оперившийся любитель может что-то уже предложить рынку и попытаться заработать.

Вот только его нищебродского оптимизма насчет собственного пр-ва PCB я нисколько не разделяю — здесь нужны более серьезные вложения в оборудование, само производство, спец.технич.образование(хотя бы курсы у производителя оборудования для пр-ва PCB на его же химикатах и тех.процессе), людей и т.д. и т.п. Не говоря уже просто про пром.помещение, воду(в т.ч. деионизированную и дистилированную в больших кол-вах), химикаты, канализацию и Сан.Эпид.Надзор.
0
Зачем мне всё это «кустарю» ?? я же не собираюсь делать прототипы всем и вся, наращивать массовое производство печатных плат. Мне нужно делать прототипы а не серию, о чём указано на сайте. Для этого хватит и кустарских навыков. Темболее сейчас почти каждый любитель может сделать сам то что я предлагаю.

Обосрать может каждый, а похвалить не каждый смел.

Сейчас да я нищеброд, а ты грант мастерства разводки и конструирования печатных плат(Скорострельности обсирания всех и вся)
+3
Не переживайте. well-man2000 это местный дурачек alex-rdx с форума, которого люто забанили в свое время. Я уверен на 99,9% в этом.
+1
Не, тот слишком агрессивный и толстый.
0
Благодаря обильной и разжеванной инфе в инете, дешевым китайским PCB-сервисам и интернет-торговле даже только оперившийся любитель может что-то уже предложить рынку и попытаться заработать.
Так это же хорошо. И другим польза и сам научится. Даже Ди начинал с малых проектов.
0
Именно так.
А дальше как пойдёт, я вот хочу посветить всю свою жизнь развитию электроники.
+2
О чем я и говорил: как грибы начали расти НЭП-мане(кустари-одиночки Нео-Электронной Промышленности россии :). Благодаря обильной и разжеванной инфе в инете
Ага, по МДР32 прямо дохерище инфы, я просто скопипастил печатку и начал штамповать спизженные платки.
+2
При чем здесь ты, я просто отметил тенденцию, но в целом, как человек, я приветствую самозанятость(как и ВВП :). Скептически я отнесся только к самопальному пр-ву PCB, но это уже мое ИМХО.

А про выбор устр-в для такого бизнеса у меня свое мнение: не главное сейчас что ты сделал(такое сейчас каждый 2-ой здесь сделает), но надо точно угадать что делать, в убытке можно не остаться — стоимость header_board с MCU MDR32F9Q + 2 RS-485(ПМК019) =600 руб, себестоимость(не считая работы конечно, т.к. сам понимаешь самозанятость) ~250-300 руб. Но продаваться может долго продукт и в небольших кол-вах — вот что главное.

Снизу давит Китай с кучей платок и продуктов на ebay и т.п., а сверху продукция от российских фирмешек, которые большинство тоже самое наверное что и ты, но с опытом и слегка или значительно пожирнее. Отдельная тема — это сертифицированное оборудование (хотя это все больше касается сигнализации, видеонаблюдения и пром.автоматики), но и туда сейчас легко можно просочиться, т.к. это «умный_дом» и продаватся людям это будет для личного потребления или как конструктор.
0
До пмк019 по затратам выходит в 300руб(почти ровно), но работы по пайке этого модуля много поэтому стоимость работы большая. Это например если сравнить с ДЕМ32МДР который стоит также, но паять там легче хотя размеры больше и плата по цене в 3 раза дороже.

продаваться может долго продукт и в небольших кол-вах — вот что главное.
Не совсем понял. Если сделать много разных плат, и ели будут по чу-чуть брать того другого — можно на этом жить, и ценник опустить на радость потребителю.
0
Скептически я отнесся только к самопальному пр-ву PCB, но это уже мое ИМХО.
Ну, вобщем-то, все реально, но отнюдь не так просто, как представляется на первый взгляд. С точки зрения рентабельности и того, что это, вобщем, не промышленное производство, единственная разумная ниша — быстрое производство прототипов за относительно высокую цену. В этом случае сроки изготовления важнее качества, поэтому народ зачастую берет платы даже без маски (но это до поры до времени и далеко не всем это подходит). Так что просто из соображений расширения клиентской базы имеет смысл делать быстро, относительно дорого, с маской и достаточно высокими параметрами. Теперь если на глаз прикинуть сколько нужно на этом зарабатывать, что бы это имело смысл и позволяло улучшать оборудование, то получится, что нужно вложить немало денег. Нужно минимум несколько станков, несколько гальванических ванн, установки (хотя бы простейшие) для проявки и травления, нужно использовать достаточно большие заготовки (а это влияет на стоимость станков и всего, что относится к гальванике, от реактивов до анодов), нужно нанимать несколько человек и так далее. Без этого всего такое производство, в лучшем случае, будет выходить в ноль при условии двенадцатичасовых рабочих смен. Тут уж не то, что на развитие, даже на сон/еду/семью времени будет не хватать. Да, тут не надо забывать, что все это производство имеет дело с довольно агрессивной химией, которой требуется специальная канализация. Далеко не каждое сдающееся в аренду производственное помещение оборудовано такой канализацией. Можно, конечно, пожить какое-то время без нее, но это получится сделать ровно до того момента, пока комунальщики не обнаружат, что что-то съело нафиг все трубы. Вычислить источник труда не составит, а головняка от комунальщиков и санэпидемстанции потом не оберешся. Так что да, все можно сделать, но оптимизм молодого человека по этому поводу я не разделяю, тем более, что в самом производстве плат он разбирается, в лучшем случае, на уровне общих представлений о процессе. Поставить процесс с такой подготовкой будет весьма затруднительно, как бы не были хороши источники информации. Во всем написанном выше есть только одно светлое пятно — спрос на такие услуги велик и имеет тенденцию только увеличиваться, так что чего-чего, а заказов хватит.
+1
Меня интересует эта тема — электроника и как на ней могут заработать люди, как-то связавшие свою жизнь с ней, в ex-совке.

Здесь просто нужно точно найти свою нишу. Учтем еще то, что речь для начала надо вести не об некоем успехе а-ля Стив Джобс и т.п., которым грезят хабрамены и пр. Кому-то, возможно, хватит и 10-15 тыр./мес для начала, если чел сам заработал такую сумму, то пораскинув мозгами он сможет заработать и 30-40 тыр. Т.е. мы приходим к тривиальному самозанятому и самостоятельно создавшему свое рабочее место в об-ве ремесленнику. Что не плохо конечно же, но как-то кисло выглядит для типичного юноши «со взором горящим», кроме того любой такой ремесленник имеет вполне объективный предел в доходах на уровне этих самых 25-60 тыр в месяц.

Если иметь всего 300 рэ с каждой такой платки, то что бы заработать 30 тыр — надо каждый месяц изготовлять и отлаживать 100 платок, а самое главное — суметь их продать. Накручивать сильно цену сейчас тоже практически невозможно — допустимый психологический ее предел установлен китайской продукцией, и вообще электроника очень сильно дешевеет и морально устаревает.

Можно выпускать уникальные и дорогие(какое-то время — год/два) изделия, но как уже сказано постом выше: с проектированием и производством электронного hard_ware(PCB и комплектующие) в кустарных условиях(на дому) сейчас ни у кого нет особых проблем. Но чтобы изделие стало уникальным в него надо вложить большой труд, в уникальную и нестандартную аналог.часть с высок.хар-ми — сотни чел/часов ОКР и НИОКР, в уникальное или просто недостижимое ордам говнокодеров ПО — тоже самое + просто массивный по трудоемкости его написания код.

P.S. Кто что-нибудь добавит к этому, мне самому интересно, но выход естественно и из этого тупика(который я нарисовал) есть — просто вначале надо выявить весь негатив для понимания сути явлений.
0
Если иметь всего 300 рэ с каждой такой платки, то что бы заработать 30 тыр — надо каждый месяц изготовлять и отлаживать 100 платок, а самое главное — суметь их продать.
Изготовить такое количество не проблема. Естественно, если не делать самому, а заказать у тех же китайцев, заодно не надо возиться с поиском комплектухи и кормить местных барыг. Ну а насчет продажи замечание верное — это получается самой сложной частью, тем более, что в нее входит отнюдь не только «распихать куда попало», а и подготовка (и сопровождение) комплекта софта. Даже если это банально набросанные в кучу готовые либы и инсталяхи, их, как минимум, нужно периодически обновлять.
0
Изготовить такое количество не проблема. Естественно, если не делать самому, а заказать у тех же китайцев, заодно не надо возиться с поиском комплектухи и кормить местных барыг.
Спаять и проверить 3-4 платки за день легко сможет мастер, у которого набиты рука/глаз/мозг — мы же говорим про ремесленника.

Интересные мысли у меня появляются про open_source в разрезе звериных и матереалистичных, дарвинских реалий капитализма + ex-совковый менталитет, помноженный на нищету и хамство дикого его варианта: для такого ремесленника он полезен только с точки зрения паразитирования на нем, т.е. использования его в своих целях, но в случае личного вложения в open_source — он полностью убыточен и даже вреден.

Вот живой пример, см. где-то с постов с датой 09/06/2013 или может раньше все началось. Я смотрел эту ветку последний раз где-то в конце прошлого или в начале этого года — исходники ПО(т.е. самое важное по сложности и трудозатратам) еще были, но сейчас их нет на bitbucket-е. Наивный и навеянный западной модой идеализм по поводу open_source — жестоко разбился об камни суровой ex-совдеповской реальности :D

Но, тем не менее, западный open_source уже плотно вошел в нашу жизнь. И новое(start-up) устр-во или ПО, не имеющее исходников, во многих случаях будет однозначно проигрывать покупным(т.е. произведенным более-менее серьезным/известным производителем) или аналогичным open_source и open_hardware устр-вам, которые можно сделать самому или купить готовые у китайцев или у сервисов, специализирующихся на штамповке open_source и open_hardware устр-в (dangerousprototypes, iteadstudio и т.п.).

Но и в этом случае ремесленник просто не защищен перед ордами таких же как он, но копировщиков, не говоря уже о китайцах и других более крупных производителях, если его изделие на самом деле очень интересно и в данный момент уникально для рынка.
0
Спаять и проверить 3-4 платки за день легко сможет мастер, у которого набиты рука/глаз/мозг — мы же говорим про ремесленника.
Если набиты рука/глаз/мозг, то сделать автоматический установщик компонентов и печь, а вместе с платами заказать и трафарет ума хватит. Спаять сотню мелких плат при таком оборудовании — плевое дело. Вопрос в другом: имеет ли смысл тратить время на пайку. Дешевле не будет, компоненты тут дешевле тоже не будут, а время лучше потратить на разработку/доводку.
Вот живой пример, см. где-то с постов с датой 09/06/2013 или может раньше все началось. Я смотрел эту ветку последний раз где-то в конце прошлого или в начале этого года — исходники ПО(т.е. самое важное по сложности и трудозатратам) еще были, но сейчас их нет на bitbucket-е. Наивный и навеянный западной модой идеализм по поводу open_source — жестоко разбился об камни суровой ex-совдеповской реальности :D
Автор не учится на ошибках других. Закрытие сорсов снижает привлекательность проекта и ведет к сужению пользовательской базы. Так что в конечном итоге он останется в гордом одиночестве. Таких устройств — вагон, выживших — единицы, да и то только до поры до времени, пока не появится опенсорсная альтернатива.
Но и в этом случае ремесленник просто не защищен перед ордами таких же как он, но копировщиков, не говоря уже о китайцах и других более крупных производителях, если его изделие на самом деле очень интересно и в данный момент уникально для рынка
Угу. Это еще одна причина для того, что бы а) постоянно двигаться вперед, развивая и улучшая устройство и б) не изготавливать устройство самостоятельно. Как только прототип доведен до ума, его надо запускать в серию и продолжать работу над следующей версией. Да, такой подход контр-интуитивен, но он работает, в отлчие от. Ардуина — один из самых ярких примеров.
0
Вот живой пример, см. где-то с постов с датой 09/06/2013 или может раньше все началось. Я смотрел эту ветку последний раз где-то в конце прошлого или в начале этого года — исходники ПО(т.е. самое важное по сложности и трудозатратам) еще были, но сейчас их нет на bitbucket-е.
Любопытный проект. А есть у кого-то пак исходников этого проекта?
0
Я видел этот проект еще на сайте автора, но там он был с коротким комментарием и не было обсуждения. Файлы проекта я не сохранял, было интересно посмотреть что из этого всего получится в реальном железе(выбор нагревателей, фена, сама конструкция). Некоторые используют готовый ПЛК ОВЕН ТРМ151 для паяльной станции с ПИД-регулятором, как и в этом проекте.
0
надо вложить большой труд, в уникальную и нестандартную аналог.часть с высок.хар-ми — сотни чел/часов ОКР и НИОКР, в уникальное или просто недостижимое ордам говнокодеров ПО
… или заниматься не массовым продуктом, а железками для какой-либо специфической области, где высокая цена товара обусловлена «узким кругом ограниченных людей» :) Тогда, делая железку, довольно обычную с т.зр. НИОКР, но несколько дешевле конкурентов (иностранных т.к. речь об «узком» рынке) и снабжая её неким доп. функционалом, нужным конкретному зак-ку, вполне можно зарабатывать. Одно жирное «НО»: эту предметную область надо хорошо знать, а также знать людей, в ней работающих — чтобы было откуда грести клиентов. Возможно ли такое в 24 года? Не знаю :)
0
Что это за названия у плат?:

— А вам нужны платки ПХЗЧ-001 и ПХЗЗЧ-002? Купите!
— Мне?
— Да-да, отличные платки — таких Вы не найдете нигде!
— Нет, спасибо! Я сам вообще-то делаю, вот вчера только на сиииде заказал партейку. Платы ваши, кстати, говенненькие — вы не умеете их правильно конструировать.
— Чт-о-о-о?!
+4
Видел видел, ваши коменты с минусами ))))
0
прмк с релюшками купил бы 1 штучку попробовать. если на свои платы линукс соберешь и будешь апдейты выпускать всякие с несложными примерчиками, то платы быстро пойдут как отличный радиоконструктор. а с документацией «попроще» как горячие пирожки будут расходиться. посмотри как ардуино сделали свой бизнес и повтори.
0
  • avatar
  • 21h
  • 08 июля 2013, 09:29
На кортексах линух не живет, нет MMU. И вообще они слабоваты для линуха.
0
а пишут на cortex-m3 вполне живет. где правда?
0
это наверно ucLinux, ему вроде ММУ не нужен, но это неполноценная ос линукс.
0
На MCU Linux и Java живут чисто формально, т.е. не живут реально — на MCU живут программки на Си, возможно под RTOS, поскольку вышеперечисленные чудовища можно впихнуть только в самый жирный по RAM и Flash чип в линейке(т.е. самый дорогой) и в итоге остаться без памяти и на лютых тормозах, и естественно без всякого Real Time. И это кстати, я думаю очень хорошо :D
0
Я сделал низкую ставку на эту плату, но собрав его и увидя готовое устройство, тутже нашёл ему применение.
На 1 заготовке у меня размещено всего 2 платы таких.

=

Судя по всем коментам, никого не интересует эта мдрка…
Или я что-то не так сделал. Впрочим всёравно продолжу описание плат.
0
Судя по всем коментам, никого не интересует эта мдрка…
Вы же сами в статье написали, что конкуренты лучше, чем этот чип. Да и с доставаемостью у них проблемы, в то время как stm-ки, lpc-шки и прочие sam-ы лежат на каждом углу, в самых разнообразных корпусах и под любые разумные требования. При желании достаточно просто добывается даже такая (у нас) экзотика, как UCD3020/28/40 или UCD3138 (это цифровые контроллеры управления сложными преобразователями питания, в пузе у них ARM7TDMI, многоканальные цифровые генераторы ШИМ с высокой частотой и разрешением, цифровые компенсаторы полюсов/нулей для компенсации петель обратной связи и прочие совершенно не рядовые возможности). На фоне всего этого разнообразия сложнодобываемый и ничем не выделяющийся контроллер может быть интересен только в случае каких-то очень специфических требований, типа военки.
0
Вы же сами в статье написали, что конкуренты лучше, чем этот чип.
Я сразу написал об очевидной проблеме. Но ведь это отечественная разработка, мы и так в глубочайшей жопе, а тут появился мк почти наш, который с натягом но всётаки может где-то использоваться.
Сейчас у них разрабатывается радиационно стойкий мк с кортекс м4, но он изначально ориентирован на военку, и скорее всего в гражданке не появится(Видимо печальный опыт с мдр32ф9).
У них более успешен МДР32Ф21 с ядром кортекс м0, используется в счётчиках милур. Там есть ацп 24 бит но он медленный.

Вообще как тебе эти платы в плане разводки и размеров? Есть к чему придраться или совет?
0
Я сразу написал об очевидной проблеме. Но ведь это отечественная разработка, мы и так в глубочайшей жопе, а тут появился мк почти наш, который с натягом но всётаки может где-то использоваться.
Ну мне-то он такой же импортный как и все остальные кортексы :)
Вообще как тебе эти платы в плане разводки и размеров? Есть к чему придраться или совет?
У меня, скорее, вопрос возник: пачка проводов от контроллера идет (с переходами) на противоположную сторону платы к разъему. Это из-за того, что хотелось пины портов в кучу собрать или наоборот, из-за группировки по периферии так получилось?
0
Если касается пмк19пб2 — то так плата разведена чтобы почти все компоненты разместились на верхней части, и естественно разведено чтобы была совместимость периферии с пинбоард2.

Если касается пмк019, разводка делалась с приоритетом на группировку выводов по названиям. Все порты(все ввод-вывод) подключены к штырям через последовательный резистор 1.1ком. I2C1 порты подключены напрямую с подтяжкой к +3,3в.
0
Все порты(все ввод-вывод) подключены к штырям через последовательный резистор 1.1ком.
Не слишком ли много? На такой пин даже СИД не подключить — тускло. Или у него очень слабые GPIO?
0
Добавил в описание мдр32. И чутка добавил инфы в начальном тексте после «итак начнём» в конце

входной-выходной ток    -	10ма(Для D+ D- до 40ма)
Подключаемая ёмкость    -       30пФ

Циклов стирания/записи памяти при +125С     -  10000*
Время хранения информации при +25           - 25 лет
Время хранения информации при +85           - 10 лет
Динамический ток потребления при 3,6в 80МГц - 120ма
Динамический ток потребления при 3,6в 55МГц - 40ма


ПМК019 вообще хотел чтоб дубовым(неубиваемый) был, поэтому последовательно резистор ставил.
Однако отсутствие предохранителя, портит эту дубовость…
0
Ну не настолько ж дубовым — эдак на любом выходе для управления любой нагрузкой буфер ставить придется. 10мА при 3.3В — 330 Ом.
+1
Хорошо, учту на будущее.
Сейчас у меня в наличии резисторы 0402 есть только от 1.1кОм, поэтому применил их.
0
Я бы взял по паре сборок для Pin и Bread board'ов, только чтобы для Pinboard II были не штыри. Пишите продолжение по использованию.
0
Да напишу продолжение, но для каждой платы раздельно, иначе тема опять будет большой.
Тем-более до конца июля я смогу использовать только пмк19пб2, плата пинбоард2 ко мне уже едет.
0
Понятно, что платы простые, но разводить таки лучше по принципиальной схеме. Когда работаешь по нет-листу накосячить не даст сам CAD. Ну и еще 2 неоспоримых плюса:
1. Можно скинуть схему в качестве документации.
2. Можно ее быстренько глянуть, чтобы вспомнить что за плата вообще или какую-нибудь особенность схемы (подключение и т.д.)
0
Возможно повторюсь (каюсь, все комментарии не осилил) но почему, ULHEDER, Вы так зациклены именно на российских деталях? Я конечно уважают чувство патриотизма, но в нынешней ситуации, на мой взгляд, российский рынок радиоэлектроники без зарубежных компонентов просто помрет, и речь не только о микроконтроллерах, микросхемах, обвязке… попробуйте найти российские разъемы, кнопки, датчики… ассортимент либо скуден, либо отсутствует (опять же, это лично мое мнение). Собрать устройство средней сложности только из отечественных компонентов задача не простая, а если в нем хоть одна деталюшка зарубежная, то в чем смысл заморачиваться делать все из отечественной базы, кроме одной детальки?
Дак вот, почему именно отечественная электронная база?
-1
Возможно повторюсь (каюсь, все комментарии не осилил) но почему, ULHEDER, Вы так зациклены именно на российских деталях?
Это и есть изюминка в этих платах. Себестоимость платы 80% занимает отечественные компоненты платы(и сама плата), остальное импорт, это резисторы, конденсаторы, разъёмы/клемники. Исходя из того что большая часть затрат уходит на отечественные компоненты я и отнёс эти платы к «платы на отечественных компонентах».
Будь я ярый патриот, я бы поставил отечественные конденсаторы и резисторы.
НО — электролитические кондюки нашего производства почему-то обкакали многие(и я забил на них), смд резисторы и конденсаторы стоят хороших денег. Если это не так порекомендуйте проверенные лично вами электролитические кондюки(пусть и немного подороже будет, всёравно поставлю).
80% это ещё не факт, я не знаю сколько миландр отправляет заграницу с каждого мдр32(считаю что чуть меньше половины).
Разъёмов подходящих мне, в отечественной промышленности не встречал.

По площади заготовки, я расчитывал на платы отечественного производства, но боюсь не взлетит, так как я тут пока никто, и не знают что от меня ожидать.
Вон ПРМК01 когда я его собрал, я сильно пожалел что на заготовке сделал их всего 2шт. На бумаге и даже в 3д всё не так выглядело.
0
Разъемами типа дисаб не пользуетесь? А то отечественные аналоги им есть.
0
А где посмотреть производителя этих аналогов? в инете беглым взглядом не нашёл.
0
Спс. Буду смотреть.
0
С форума миландра мне тоже ссылочку подкинули elektrodetal.com/.
Ассортимент хороший.
0
Я бы взял парочку ПДМК003, если она подходит для шаговиков ДШИ-200. У меня есть тела парочки отечественных хромотографов, и делать к ним новый мозг на отечественных же компонентах — красиво с эстетической точки зрения.
0
ДШИ-200 расчитаны на больший ток чем может дать к1128кт4ар.
к1128кт4ар имеет номинальный ток в 600ма и предельный 1000ма на канал. По напряжению всё нормально.
Вообще к1128кт4ар хорошо держал двигатели как на этом сайте www.elion.ru/products/motors/ (столбики с SM-200)

А более мощные драйверы отечественного производства я не нашёл(к1128кт3 не в счёт, он посильнее но всё равно слаб).
Выход только собрать на транзисторах ))). Но я это сейчас не планировал(хотя щас у меня много времени, может и сделаю быстренько)
0
В принципе можно включить садомазо, и напаять ещё к1128кт4ар с верху, в итоге удвоение мощности(и печки).
Тогда эта плата может справится с ДШИ-200. Всёравно с верху на них радиатор большой будет.
0
и делать к ним новый мозг на отечественных же компонентах — красиво с эстетической точки зрения.

Лучше не надо — уже предвижу твой грязный мат по поводу самого чипа и его Std Perif Lib, ну в самом деле — не одних же «индусов» из ST надо материть :D
0
Std Perif Lib для мдр32 я уже сам обматерил. Ничё, переведём на русский и всё путём.

Харе троллить :D
Давай жить дружно.
0
Пока ты тут ядом исходишь, я перевожу проекты на безбиблиотечную реализацию. В некоторых местах (SDIO, CAN, блок отправки/приёма USB) результат получается даже более читаемый. Да и потребление памяти сокращаю.
0
У меня есть пару вопросов по Вашему протоколу (ЭНКАЕРС).

1. В ЭНКАЕРС-ЭТ в заголовке есть адрес устройства. Как Вы реализовали такую адресацию в шине на spi – ведь стандартно она «адресуется» сигналами CS? Ели просто выставить CS всех слейвов в ноль – то на MISO будет ерунда, т. к. все чипы будут одновременно что-то слать.

2. Почему в качестве ЭНКАЕРС485 не взяли какой-либо стандартный протокол (тот же MODBUS)?
0
1. Задача была использовать аппаратный интерфейс с минимальной скоростью 8 мегабит.
Аппаратный потому что, мк должен заниматься своей основной задачей, а не обработка программного интерфейса.
Как работает адресация:
Все слейвы мк прослушивают SPI, ожидая 1 байт от мастера.
Мастер посылает 0110 11 00.
Тот слейв у которого адрес 0110, примет данные в размере 64байт.
А слейв у которого другой адрес, просто проигнорирует 64 или 65раз прерывание(65 это если +1байт CRC) от переполнения.
Или если такой фокус не прокатит, то слейвы с другим адресом поменяют MISO на вход, на заданное количество времени, исходя из количества байт данных. Слейв не может прервать передачу, и не может послать что либо без команды чтения.
То-есть при такой команде от мастера 0110 11 10 слейв с данным адресом пошлёт в мастер данные в размере 64байт. Остальные как описано выше…
Как-то так.

Да и ктому-же, сейчас нет ниодной платы с полностью реализованным слейвом(с мк).
В текущей заготовке все платы серии ЭНХХХХ похожи на десериализаторы, то-есть использована микросхема 74HC595.
И в данном случае, мастер шлёт сразу данные без служебных команд.
Каждая плата имеет свой 74HC595, и получается что используя эти микросхемы можно использовать аппаратный SPI, значительно сокращая количество управляющих выводов самого мк.
Например можно соединить 8 плат ЭНПД293 и управлять восемью шаговиками используя всего 1 порт SPI.

Блин надеюсь я понятно пишу…

2. MODBUS смотрел, пока без коментариев.
0
эммм, а во про can слышали?
0
Разумеется да.
В мдр32 их 2 шт. На пмк19пб2 разведён в 4х контактную вилку возле юсб 1 из кан.
Максимальная скорость 1 мегабит, чего меня неустроила ни в мдр32 ни в других мк.
0
Или если такой фокус не прокатит

Насколько я знаю, такой фокус не прокатит т. к. MISO на слейве это выход сдвигового регистра, и он активный даже если слейв «ничего не предает» (при условии что CS имеет низкий уровень). Исправьте меня, если я ошибаюсь.

То есть Вам приведется вручную переводит данный MISO в Z состояние на «неактивных» слейвах.
0
Не лучше ли было реализовывать такой протокол на UART? Он в современных камнях быстрый, а в 9-битном режиме можно использовать аппаратную фильтрацию адресных посылок.
+1
Большая часть слейвов будет реализовываться на стм8с003, единственный быстрый интерфейс это SPI всё остальное медленнее в восемь и более раз. Я понимаю что создание своего протокола/аппаратной реализации это полный гемор.

Важна не сама скорость передачи, а скорость реакции. Эта тема обсуждалась на форуме про SPI.
В случае какой-то критической ошибки в каком-то устройстве(Двигатель перегрелся или кз), и если в этот момент ведётся передача 64байт данных, может произойти много всего нехорошего, и чем быстрее передадутся эти 64байта, тем быстрее можно спасти положение.
0
Ну высокоскоростной интерфейс передачи данных это хорошо, но ведь не обязательно решать задачу «в лоб», делая отправку данных через задержку в основном цикле. Можно реализовать отправку в фоне (через машину стояний, прерывания, DMA) а пока идет отправка — заниматься полезными вещами (контролировать температуру двигателя и т. д.).

Или я Вас неправильно понял?
0
Да вы правы на счёт дма, в стм8с003 дма кстати нет.
Оборудование которое будет использовать протокол ЭНКАЕРС, должно быть отказоустойчивым.
При возникновении каких либо проблем, человека может не быть рядом несколько часов.
Хоть это и предназначено для обычных применений, хочу чтоб был большой запас надёжности собираемой системы из моих плат.

Отрывок из моего сообщения:
Но он ДОЛЖЕН передать информацию об ошибке как можно быстрее(например обрыв обмоток — нет тока на сенсорных резисторах).
Иначе если это ось Z, и на ней сверлилка со сверлом 0.5мм, находящееся в глубине этого отверстия, оси Х и У снесут это непобедимоетовое свёрлышко.
Ведь другие модули делают то, что они приняли ранее от главной платы.
Я думаю что случись это в момент передачи 64байта(512бит), на скорости 9600бит/с сверло уже успеет погнутся/лопнуть и испортить заготовку. Поэтому нужна более высокая скорость.
Понятное дело что если всем этим будет управлять 1 плата с 1 мк и четырмя драйверами на борту, всего этого можно избежать, но ведь такую громадину не поставишь в маленькую китайскую машинку на колёсах.

Под «китайскую машину на колёсах» имелось ввиду что вся эта система должна масштабироваться, начиная от управления 4х колёсной машинки и заканчивая целой линией из оборудования.

Сама тема тут forum.easyelectronics.ru/viewtopic.php?f=11&t=14433, с тех пор некоторые идеи немного изменились, но суть того зачем энкаерс наверно станет яснее.
0
стм8с003 не даст вам возможности нормально использовать 8Мбит SPI. Такая скорость противоречит «мк должен заниматься своей основной задачей». 1 мкс — вход-выход из прерывания (12 тактов же да на 20МГц), а когда основную задачу делать?
«В случае какой-то критической ошибки в каком-то устройстве» надо зарание готовить «защитное состояние» и переходить в него автоматически, или дополнительной линией, или делать сброс на шине.
0
Вам в любом случае надо ставить все выходы MISO у всех слэйвов на вход или заводить их через буфера. Иначе Вы получите коллизию на линии MISO, т.к. SPI интерфейс в отличии от USART работает по 2-м линиям одновременно, независимо от режима прием/передача. А после приема адресного байта Target может включить линию на передачу.
+1
Ну значит хорошо что я подумал о запасном варианте заранее)
Потому как платы уже сделаны.

Да вот я ещё и забыл что фактически скорость получается минимальная не 8 а 16 мегабит.
Описание энкаерс делал без учёта того что можно передавать и принимать одновременно.
0
Нужна ваша подсказка.
Порылся в библиотеках миландра, и такое ощущение что их разные люди писали, нормально разобраться с библиотекой пока не получается.

Так как я раньше сидел на пиках с языком PicBasicPro, и си в среде МПлаб, мне понравилось использование коротких команд, и управление портом не 0х03 и им подобных а побитовое выставление 00000011 в регистр порта. Мне кажется так намного читабельней.

Как на ваш взгляд лучше писать? Продолжать раскопки библиотеки, работать без библиотеки но оставить всё как есть или работать без библиотеки но добавить свои дефайны и функции для лучшего чтения кода(ака своя либа)?

Вообщем вот примеры разных кодов:

Библиотека миландра:
PORT_InitStructure.PORT_Pin   = (PORT_Pin_2);
  PORT_InitStructure.PORT_OE    = PORT_OE_IN;
  PORT_InitStructure.PORT_FUNC  = PORT_FUNC_PORT;
  PORT_InitStructure.PORT_MODE  = PORT_MODE_DIGITAL;
  PORT_InitStructure.PORT_SPEED = PORT_SPEED_SLOW;

  PORT_Init(MDR_PORTD, &PORT_InitStructure);

  while(1)
  {
			uint32_t t;		
		PORT_SetBits(MDR_PORTA, PORT_Pin_1);
				for (t=0; t<0xFFFFF; t++);
		PORT_ResetBits(MDR_PORTA, PORT_Pin_1);
				for (t=0; t<0xFFFFF; t++);			
}


Простейший пример «без библиотеки»:(или может это другая библиотека)
void io_init (void)
{
	MDR_RST_CLK->PER_CLOCK	|=(1<<21);
	MDR_PORTA->OE		|=0x0003;
	MDR_PORTA->ANALOG	|=0x0003;
	MDR_PORTA->PWR 		|=0x05;
	MDR_PORTA->RXTX=0;
}

int main (void)
{
        SystemCoreClockUpdate();
 	unsigned int t=0;
	io_init();
	while (1)
	{
		for (t=0; t<0xFFFFF; t++)
		MDR_PORTA->RXTX =0x01;
		for (t=0; t<0xFFFFF; t++)
		MDR_PORTA->RXTX =0x02;
	}
}


Пример «без библиотеки» но со своим вмешательством:
#include "ULHLIB_MDR32_V01.h"
void io_init(void)
{
	PORTA_ON;                                 //Включить тактирование порта(одним словом включить порт)
	MDR_PORTA->ANALOG	|= BIN(00000011); //установить вывод 0 и 1 порта А как цифровой порт
	MDR_PORTA->OE		|= BIN(00000011); //установить вывод 0 и 1 порта А как вход (лог.1)
	MDR_PORTA->PWR 		|=0x05;
	PORTA=0;                                 //Сбросить портА
}

void delay_CLK(uint32_t value) {unsigned int t=0; for (t=0; t<value; t++);} //функция времени

int main (void)
{       SystemCoreClockUpdate(); 
	io_init();
	while (1)
	{		
		PORTA =BIN(01010101);  //установить вывод 0, 2, 4, 6, порта А в высокий уровень(лог.1)
		delay_CLK(10000000);   //функция времени
		PORTA =BIN(10101010);  //установить вывод 1, 3, 5, 7, порта А в высокий уровень(лог.1)
		delay_CLK(10000000);   //функция времени
	}}


в файле ULHLIB_MDR32_V01.h лежит следующее:
#define    PORTA            MDR_PORTA->RXTX                             //Установка логичесткого уровня, или приём данных ПОРТ_A
#define    PORTB            MDR_PORTB->RXTX                             //Установка логичесткого уровня, или приём данных ПОРТ_Б
#define    PORTC            MDR_PORTC->RXTX                             //Установка логичесткого уровня, или приём данных ПОРТ_Ц
#define    PORTD            MDR_PORTD->RXTX                             //Установка логичесткого уровня, или приём данных ПОРТ_Д
#define    PORTE            MDR_PORTE->RXTX                             //Установка логичесткого уровня, или приём данных ПОРТ_Е
#define    PORTF            MDR_PORTF->RXTX                             //Установка логичесткого уровня, или приём данных ПОРТ_Ф
 
#define    PORTA_ON          MDR_RST_CLK->PER_CLOCK	|=(1<<21);       //Включить тактирование ПОРТ_A
#define    PORTB_ON          MDR_RST_CLK->PER_CLOCK	|=(1<<22);       //Включить тактирование ПОРТ_Б
#define    PORTC_ON          MDR_RST_CLK->PER_CLOCK	|=(1<<23);       //Включить тактирование ПОРТ_Ц
#define    PORTD_ON          MDR_RST_CLK->PER_CLOCK	|=(1<<24);       //Включить тактирование ПОРТ_Д
#define    PORTE_ON          MDR_RST_CLK->PER_CLOCK	|=(1<<25);       //Включить тактирование ПОРТ_Е
#define    PORTF_ON          MDR_RST_CLK->PER_CLOCK	|=(1<<29);       //Включить тактирование ПОРТ_Ф

#define _bitset(bits)\
  ((unsigned int)(\
  (bits%010)|\
  (bits/010%010)<<1|\
  (bits/0100%010)<<2|\
  (bits/01000%010)<<3|\
  (bits/010000%010)<<4|\
  (bits/0100000%010)<<5|\
  (bits/01000000%010)<<6|\
  (bits/010000000%010)<<7|\
  (bits/0100000000%010)<<8|\
  (bits/01000000000%010)<<9|\
  (bits/010000000000%010)<<10|\
  (bits/0100000000000%010)<<11|\
  (bits/01000000000000%010)<<12|\
  (bits/010000000000000%010)<<13|\
  (bits/0100000000000000%010)<<14|\
  (bits/01000000000000000%010)<<15))
#define BIN( bits ) _bitset(0##bits)


Автор последнего дефайна не я, его кто-то выложил в казусе, написав что не знает кто автор 0-о ))

Наверно самое простое, это преобразование примеров из библиотеки индивидуально для моих плат.
Но врятли я смогу подробно описать что за что отвечает и вообще правильность комментариев.
0
Одним словом хочется не
PORT_SetBits(MDR_PORTA, PORT_Pin_1);
а
PORTA.1 = 1
0
За не имением ничего альтернативного лично я в своих проектах (AVR, C++) именно так и пишу. Выглядит это вот так:

/**
 * Настройка таймера/счётчика 2
 */
void CMCU::Timer2Init(){

    // [ATmega16] Table. Clock Select Bit Description
    // +----+----+----+-----------------------------------------------------------------+
    // |CSn2|CSn1|CSn0| Description                                                     ¦
    // +----+----+----+-----------------------------------------------------------------+
    // | 0  | 0  | 0  | No clock source. (Таймер/счетчик остановлен)                    |
    // | 0  | 0  | 1  | clkT0S/(No prescaling)                                          |
    // | 0  | 1  | 0  | clkT0S/8    (From prescaler)                                    |
    // | 0  | 1  | 1  | clkT0S/32   (From prescaler)                                    |
    // | 1  | 0  | 0  | clkT0S/64   (From prescaler)                                    |
    // | 1  | 0  | 1  | clkT0S/128  (From prescaler)                                    |
    // | 1  | 1  | 0  | clkT0S/256  (From prescaler)                                    |
    // | 1  | 1  | 1  | clkT0S/1024 (From prescaler)                                    |
    // +----+----+----+-----------------------------------------------------------------+

    // Timer/Counter2 Control Register
    // [ Регистр управления Таймером/Счётчиком 2 ][ATmega16]
    //           00000000 - Initial Value
    TCCR2 = BIN8(00000100); // BIN8() не зависит от уровня оптимизации
    //           ||||||||
    //           76543210
    //           |||||||+- 0, rw, CS20:  -+ - Clock Select
    //           ||||||+-- 1, rw, CS21:   |
    //           |||||+--- 2, rw, CS22:  _|
    //           ||||+---- 3, rw, WGM21:    - Waveform Generation Mode
    //           |||+----- 4, rw, COM20: -+ - Compare Match Output Mode
    //           ||+------ 5, rw, COM21: _|
    //           |+------- 6, rw, WGM20:    - Waveform Generation Mode
    //           +-------- 7, w,  FOC2:     - Force Output Compare
    // Примечание:

    // Устанавливаем значения для счётного регистра
    TCNT2 =  0xFF - F_CPU / 64000UL;

    // Timer/Counter2 Output Compare Register
    OCR2 = 0x00;

    // Timer/Counter2 Asynchronous Status Register
    // [ Регистр ... ][ATmega16]
    //          00000000 - Initial Value
    //ASSR = BIN8(00000000); // BIN8() не зависит от уровня оптимизации
    //          ||||||||
    //          76543210
    //          |||||||+- 0, r, TCR2UB: - Timer/Counter Control Register2 Update Busy
    //          ||||||+-- 1, r, OCR2UB: - Output Compare Register2 Update Busy
    //          |||||+--- 2, r, TCN2UB: - Timer/Counter2 Update Busy
    //          ||||+---- 3, rw, AS2:   - Asynchronous Timer/Counter2
    //          |||+----- 4, r: 0
    //          ||+------ 5, r: 0
    //          |+------- 6, r: 0
    //          +-------- 7, r: 0
    // Примечание:

}

Тут можно посмотреть: templates и examples в файлах MCU.cpp. На одном форуме за одну только попытку предложить такой способ конфигурирования mcu меня попытались смешать с какашками. Все проекты по ссылкам сделаны по одному и тому же шаблону, а различаются только подключаемыми сторонними библиотеками. Я это сделал для себя, чтобы всё было единообразно.

Вообще, способ с наборами бит давно известен, у нас он был описан вот тут:

Источник: RSDN, Как вставлять в программу на C++ двоичные константы?
Автор: Александр Шаргин (mailto:rudankort@rsdn.ru)
Опубликовано: 01.12.2001
0
Ничего себе. Нет, код конечно должен быть самодокумнируемым, но без фанатизма, код не должен заменять собой даташит. У Вас в коде всего 3 строки

TCCR2 = BIN8(00000100);
TCNT2 =  0xFF - F_CPU / 64000UL;
OCR2 = 0x00;

но с учетом комментариев получается около 30 строк кода. Плюс, вторая «полезная» строка

// Устанавливаем значения для счётного регистра
    TCNT2 =  0xFF - F_CPU / 64000UL;


содержит как раз магические цифры (почему именно 0xFF — F_CPU / 64000UL)

Такой подход (сугубо ИМХО) не то что не эффективен, а противопоказан. Если каждый раз в коде описывать назначение каждого бита в регистре периферии, то «мигание светодиодом» растянется на несколько тысяч строк. Обычно предполагают, что человек, который читает код, хотя бы базово знаком с предметной областью. И насколько разжованные комментарии — только вредят общей читаемости кода. Если уж на то пошло — попроще вставить одну строку в комментарий — значения регистра есть на странице ХХ такого-то документа.

Касательно исходного вопроса (от ТС) — какой из примеров лучше, то ИМХО наиболее понятен первый пример. За счет того, что используются осмысленные дефайны для значений (PORT_FUNC_PORT, PORT_MODE_DIGITAL, PORT_SPEED_SLOW)

Дальнейший код — магические числа
в шестнадцатеричном представлении:

MDR_PORTA->ANALOG       |=0x0003;

или в двоичном с комментарием:

MDR_PORTA->ANALOG       |= BIN(00000011); //установить вывод 0 и 1 порта А как цифровой порт


Не столь важно будет ли это стандартная библиотека или «низкий уровень». Кому это интересно — те разберутся. Главное — избегайте магических чисел в коде.
+1
Инициализация может быть сколь угодно большой, хоть на километр и чем более она самодокументируема, тем лучше, я считаю. Эту инициализацию, как правило, пишут один раз, настраивают окончательно один раз для конкретного применения и больше не трогают. Вот поэтому она так подробно расписана, чтобы «вхождение» в её понимание было как можно меньше независимо от того сколько времени прошло после написания. В идеале было бы классным, если бы, открывая код в репозитории через браузер, мне было достаточно самого кода, чтобы понять что к чему.

Что касается магических вещей, то есть такие, над этим работаем. Я постараюсь всё привести вот к такому виду, который тоже у меня используется:

// Определение BAUD см. в файле: "Configuration.h"
    UBRRL = ( uint8_t ) ( F_CPU / ( 16UL * BAUD ) - 1UL ); // устанавливаем скорость
    UBRRH = ( uint8_t ) ( ( F_CPU / ( 16UL * BAUD ) - 1UL ) >> 8 );
0
Самодокументированность кода — это не значит, что код (комментарии к коду) должны собой заменять учебник или датащит. Это значит, что код должен быть понятен другому специалисту, без дополнительных комментариев, исключительно за счет осмысленного названия переменных и т. д.

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

Так мы дойдет до такого варианта

/*
	Здесь содержится несколько тысяч строк комментариев — введение В ТАУ, 
    принцип работы ПИД регулятора и т д.
*/

int U = Kp * e + Ki * dt * e_sum + Kd / dt * e_delta; //1 строка - реализация вышеописанного

Зачем код превращать в учебник или даташит?
+1
Настоящий реальный код бывает не то, что из идентификаторов, но даже с обильными комментариями не понятен, ибо важно в таких случаях не то, что автор написал, а то почему он написал так, а не иначе.

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

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

Если код отражает какую-то математическую формулу, то он обязательно должен быть подробно описан, так как любой переход к численным расчётам огрубляет задачу. На самом деле численный вариант является аппроксимацией теории и может в себе из-за этого содержать сюрпризы. Человек, знающий теорию, но слабо понимающий численную её реализацию, может быть введён в заблуждение кажущейся аналогичностью между тем что написано в учебнике и тем же, но реализованным программно.

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

Дык я специально привел вырожденный случай. И в комментарии выше я писал:

Если уж на то пошло — попроще вставить одну строку в комментарий — значения регистра есть на странице ХХ такого-то документа.


Если код отражает какую-то математическую формулу, то он обязательно должен быть подробно описан, так как любой переход к численным расчётам огрубляет задачу. На самом деле численный вариант является аппроксимацией теории и может в себе из-за этого содержать сюрпризы. Человек, знающий теорию, но слабо понимающий численную её реализацию, может быть введён в заблуждение кажущейся аналогичностью между тем что написано в учебнике и тем же, но реализованным программно.

Каждую формулу описывать — абсолютно не благородное занятие. Еще раз, код — это не учебник. Нужно исходить из того, что человек, который читает код, имеет хоть базовое представление о предметной области. И комментировать (ИМХО) стоит только «исключения», которые не очевидны. Типа «в результате синтеза я отказался от ПИД регулятора, достаточно ПД, и поэтому, в данном случае, Ki = 0».
+2
Патч Бармина
echo "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

Отвернитесь, мне немного стыдно
0
Ну это намеренно обфускованный код, а e_mc2 пишет про самодокументирующийся. Последний пример из «Проще говоря, плюс один» в комментариях не нуждается.
0
Для меня многое не очевидно, что я писал месяц назад. Существуют платформы, где ты просто обязан всё описывать, т.к. один и тот же код по-разному может работать на разных аппаратах (J2ME).

Что такое предметная область? :) Предметная для кого и что описывающая? Я могу привести реальные примеры реальных программ, где даже зная всё про предметные области во всех местах вы ни черта не поймёте. Авторы программы SAS Планета следовали вашей инструкции буквально, т.е. вообще ничего не комментировали, а понадеялись на чуваков, кто типа в теме и шарят. Их код, который я лично скачивал, компилировал и пытался разобраться, полностью написан в Delphi и основан на интерфейсах. Это ГИС-система и что тут понимать под «предметной областью» в данном конкретном примере мне не ясно. Я должен понимать как устроен Google Maps с Яндекс картами, или же я должен понимать архитектуру, основанную на интерфейсах, коих там больше 500 и все не только без комментариев, но и без документации как таковой. Видимо также следовали «умному» совету отложить это дело до лучших времён.

В результате по факту имеем код совершенно без комментов, размером в 1092 файла, где каждый содержит класс с уникальным, понятным автору назначением. Сама программка хорошая, мне понравилась. Меня попросили сделать некоторые изменения и оформить сборку этой программы в другом виде. В общем, единственным способом что-то понять в коде было общение лично с автором, а не обладание познаниями в «темах». Уверен, что товарищи, кто соображает в интерфейсах и даже Гугл Мэпсе, тоже бы нифига не поняли из «понятных идентификаторов», ибо кроме них нужно ещё нечто, что всё это связует.

Исходный код: SAS.Planet.Src.

Кто хоть что-нить в паскале понимает, можете оценить свой уровень владения объектно-ориентированной его частью. Существуют специальные метрики для оценки параметров кода и надо сказать, что Source Monitor после скармливания ему кода выдал на мой взгляд сбалансированную метрику (не пробуйте это повторить):

SASPlanet, метрика кода

На мой взгляд, 14.3% комментов дала вот эта шапка в каждом файле:

{******************************************************************************}
{* SAS.Planet (SAS.Планета)                                                   *}
{* Copyright (C) 2007-2012, SAS.Planet development team.                      *}
{* This program is free software: you can redistribute it and/or modify       *}
{* it under the terms of the GNU General Public License as published by       *}
{* the Free Software Foundation, either version 3 of the License, or          *}
{* (at your option) any later version.                                        *}
{*                                                                            *}
{* This program is distributed in the hope that it will be useful,            *}
{* but WITHOUT ANY WARRANTY; without even the implied warranty of             *}
{* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              *}
{* GNU General Public License for more details.                               *}
{*                                                                            *}
{* You should have received a copy of the GNU General Public License          *}
{* along with this program.  If not, see <http://www.gnu.org/licenses/>.      *}
{*                                                                            *}
{* http://sasgis.ru                                                           *}
{* az@sasgis.ru                                                               *}
{******************************************************************************}

Вот когда посмотришь на реальные примеры, то начинаешь понимать зачем нужно описывать шапку к каждой функции-методу и полям с полной докой на них, как это можно делать в Java и C#.

В качестве альтернативы такому подходу рекомендую посмотреть очень интересные исходники с теми же интерфейсными подходами, но уже на C# для компонента ZedGraph. Это навороченный построитель 2D графиков. С ним я тоже разбирался и встроил его в отечественную математическую программу SMath Studio:

ZedGraph в SMath Studio

И вообще, когда на работе вам дадут такой код для забитой 128 меги, в котором нет комментариев, т.к. автор посчитал всё понятным, а оный написан на С++ и содержит десятки классов и структур, то вы поймёте о чём я толкую. Реальность — она такая, авторы оправдывают лень «понятностью» того, что они написали, а что до тех кто сопровождать будет… если это сам автор и есть, то проблем нет :) А мне бы хотелось услышать не только тех кто для себя пишет, но и сопровождает что-то большое, что написано другими.
0
Наверно лучше сделать примеры в 2х вариантах, с применением библиотеки, и без библиотеки со своими дефайнами.
А там уже судя по коментам определить, что лучше.

Магические цифры это зло )))))
Очень удачно заменить MDR_RST_CLK->PER_CLOCK |=(1<<21); на PORTA_ON;
И буду продолжать в таком духе.

Просто может гдето это уже есть?
К примеру вот такое PORTA.1 = 1
0
Наверно лучше сделать примеры в 2х вариантах

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

Просто может гдето это уже есть? 
К примеру вот такое PORTA.1 = 1

Возможно и есть, только не в С/С++. т..к назвать поле структуры или член класса «1» — нельзя согласно синтаксису языка.

При желании (Например, используя переопределение оператора «=» в С++ можно сделать что-то похожее по синтаксису, типа

PORTA.Pin1 = 1;


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

Но, вот только зачем — ради «синтаксического сахара»? Имхо,

PORT_SetBits(MDR_PORTA, PORT_Pin_1);


Вполне и так вполне неплохо.
0
Просто такие длинные названия… От руки такое будешь долго писать, копипастить не всегда получится.
Ктому-же время, пока напишешь длинные строки, пройдёт куча времени.
Программирование/документация у меня отнимает на много больше времени чем разработка платы, поэтому хочется экономить на всём. Но я не хочу чтобы получилось что раз я так пишу значит так все должны.
Поэтому лучше в первое время я попишу примеры на 2 варианта, а там уже мне будет всё понятно исходя из реакции людей.

вот длинный код:

PORT_SetBits(MDR_PORTA, PORT_Pin_1);
for (t=0; t<0xFFFFF; t++);
PORT_ResetBits(MDR_PORTA, PORT_Pin_1);
for (t=0; t<0xFFFFF; t++);

вот короткий:

PORTA_PIN(1) = 1; delay_MS(1000);
PORTA_PIN(1) = 0; delay_MS(1000);

Всё предельно ясно…

В кейле(или гделибо ещё) ведь можно сделать дефайн такого вида? PORTA_PIN(1)
Цифра будет заменять номер пина в указаном порте.
То-есть в скобках можно указать номер от 0 до 15.

Впереди меня ещё ждёт периферия ))))
-1
Просто такие длинные названия… От руки такое будешь долго писать, копипастить не всегда получится.
Ктому-же время, пока напишешь длинные строки, пройдёт куча времени.
Это не проблема, программист все равно больше времени тратит на размышления, чем на набор текста. Небольшая практика — и научишься печатать быстрее, чем думать, так что скорость печати и длина идентификаторов не будут сдерживающим фактором.
Ну и нормальная IDE будет набирать большую часть идентификаторов за тебя.
Семплы — код, по которому будут учиться. Стоит все же поответственней к нему подходить (впрочем, в другую крайность ударяться тоже не надо).
PORTA_PIN(1) = 1; delay_MS(1000);
Не надо размещать две операции в одной строке.
+2
Сейчас мало кто пишет что-то длинное от руки. Я вообще уже давно так не пишу, ибо это просто нереально. Приведу такой практический пример. Мне нравится компилятор IAR, но не нравится среда разработки, ибо я избалован Visual Studio от MS. Поэтому я делаю так: создаю проект в IAR, но с исходниками работаю в VS. Тому есть причина, но словами её не пояснить, это нужно видеть.

Посмотрите ролики Александра Писанец на youtube по программированию на Си для AVR. Это нужно лишь для того, чтобы показать как работает современная среда разработки. Сами демки у него очень очень простые, но вот делает он их в профессиональной среде со специальным плагином: Atmel Studio 6 (VS2010) + VAssistX.

Вот последний его ролик для примера: c для avr (Функция).

В роликах его нужно обратить внимание на окошки, где появляется томат — это работа VAssist'а. Он может считывать и парсить все исходные файлы проекта и библиотек, а потом по первой введённой букве предлагать (по умному) список идентификаторов. Те, кому дорого время и нервы используют нечто похожее, никто ничего не копипастит, ибо это уже прошлый век.
0
Посмотрел я некоторые его ролики, прикольная у него речь. Украинец видать.
0
Просто может гдето это уже есть?
К примеру вот такое PORTA.1 = 1
В компиляторах МикроЭлектроники.
В МикроС, МикроПаскаль, МикроБэйсик.

Намного удобнее типичной Сишной портянки со сдвигами.
-2
Что касается стиля с «пространством имён», реализуемых через подчёркивание, то не будет ничего плохого, если он тоже будет. Есть только одно но: нужно заранее продумать стиль таких заголовочников. Их должны писать люди, которые понимают как потом это будет использоваться и чтобы это было удобным. Также эти люди должны очень хорошо знать документацию и режимы работы периферии, чтобы именования полей идентификатора было адекватным. Для AVR я таких заголовочников не встречал, но видел другие более сложные способы, предназначенные для работы с конфигурационными и пр. регистрами.

Если заголовочник потом когда-нить изменится, то нужно будет обновить все проекты, где они использовались. Поэтому это дело ответственное.

Нет ничего особо страшного в длинных идентификаторах. К ним тоже можно привыкнуть. Я вот люблю побитное задание значений для регистров в AVR, а на других языках и платформах могу составлять код из целых предложений:

public void ПоказатьВременнуюПоправку( Graphics Холст, int Цвет ) {

    try {

        long Поправка = Настройки.Основные.КолвоСуток;
        Поправка *= Настройки.Основные.СуточнаяПоправка * Scheduler.МИЛЛСЕК_В_СЕКУНДЕ;
        Поправка += МенеджерРасписаний.ДобавочнаяПоправка * Scheduler.МИЛЛСЕК_В_СЕКУНДЕ;

        String Текст = "Поправка("
                + Настройки.Основные.СуточнаяПоправка
                + ", "
                + МенеджерРасписаний.ДобавочнаяПоправка
                + "): "
                + ПродолжительностьВТекст( Поправка );

        int Масштаб = 1;
        int ШиринаСимвола = ( FSizeX - 1 ) * Масштаб;

        int Слева = ( ШиринаЭкрана - 2 - ШиринаСимвола * Текст.length() ) / 2;
        int Сверху = ВысотаЭкрана - ОтступXY - 4 * Масштаб * FSizeY;

        ПоказатьТекст( Холст, Текст, FontType.ТОНКИЙ, Цвет, Масштаб, Слева, Сверху );

    } catch ( Exception Исключение ) {

        String Текст = "Ошибка: " + Исключение.getMessage();

        int Сверху = Настройки.Монитор.ВысотаЭкрана - Настройки.Монитор.ОтступXY;

        Сверху -= Холст.getFont().getHeight();

        ПоказатьТекст( Холст, Текст, FontType.ОБЫЧНЫЙ, 0xFFFF0000, 0, 0, Сверху );
    }

}

Постепенно понимаешь удобство длинных описаний. Этот код взят из одной моей поделки чисто для российского использования, поэтому он процентов на 80 написан на русском языке. Испытываешь какую-то лёгкость, когда смотришь на код с русскими идентификаторами. Вот и начинаешь понимать англоязычных программистов, которым любой код как родной. На C# так вообще просто жуткие конструкции получаются, учитывая почти полное отсутствие сокращений, и ничего, народ совершенно нормально к этому относится.

Дело ещё тут в том, что сейчас очень большая работа возложена на среды разработки, вплоть до того, что они должны самостоятельно исправлять или дописывать код за разработчика. Все длинные идентификаторы, как правило, никто не пишет и тем более на память не знает. Среда должна сама подсказать при наборе первых букв, а потом ещё и документацию рядом вывести и, как вариант, предложить альтернативные формы записи выражения. Это уже реальность, но для Java и C#.

Если среда разработки делает подсказки, учитывая окружающие комментарии для определений, то нужно поинтересоваться как лучше оформлять комментарии к коду для наиболее распространённых сред, в которых планируется работа. В общем, это тоже некоторое искусство.
-3
Русский программный код очень хорошо сочетаться будет с отечественным МК))))
Но кеил мне такого не позволил сделать.

Пытался там писать ПОРТА_ВКЛ итд)))
0
Да нет, это только для unicode'ных компиляторов. Такой код можно писать на: VB6, VB.Net, Java, C#, ещё я по-русски писал в экспертной системе Eclipse, там почти всё можно на русском задавать, правда там это был не unicode, а я специально создавал для себя локализованную сборку программы.

Если хотите писать по-русски и программировать такого рода железяки для несложных приложений, то это можно делать, я думаю, вот с таким подходом: Java ME Embedded. Вот документация на эту платформу: Oracle® Java ME Embedded.

Вот чувак, который показывает как это работает на базе отладочной платы Keil MCBSTM32F200: Setting Up and Running a Java Application on an ARM Evaluation Board.

Если бы это было реально собрать на отечественном контроллере, то я бы помог с java'ой и всем остальным:

Отличительные особенности:

установлен микроконтроллер STM32F207IG:

ядро Cortex-M3, рабочая частота до 120 МГц;
Flash-память 1 МБайт, SRAM 128 КБайт;
14 16-битных таймеров, таймер реального времени;
коммуникационные интерфейсы: 2×UART, 3×SPI, USB, 2×CAN, Ethernet;
24-канальный 12-битный АЦП;
2-канальный 12-битный ЦАП;
до 140 линий ввода/вывода общего назначения;
параллельный интерфейс ЖК дисплея;
установлена дополнительная память: 8 МБайт NOR Flash, 512 МБайт NAND Flash, 2 МБайт SRAM, 8 КБайт EEPROM с поддержкой NFC;
установлен 2.4'' цветной ЖК дисплей с резистивным сенсорным экраном;
порт 10/100 Ethernet;
порт и интерфейс USB 2.0 Full Speed с поддержкой USB, USB OTG, USB Host;
порт и интерфейс USB 2.0 High Speed с поддержкой USB, USB OTG, USB Host;
интерфейс и драйвер CAN шины;
последовательный порт (UART);
слот для подключения карт памяти MicroSD;
установлен цифровой 3-осевой гироскоп и 3-осевой акселерометр;
аудио интерфейс: микрофон, линейный выход, линейный вход, аудио кодек;
видео интерфейс: цифровая цветная VGA камера;
пользовательские кнопки, 5-позиционный джойстик, светодиоды, потенциометр;
поддержка нескольких отладочных интерфейсов;
питание от USB или внешнего источника;
-2
Вот второй вариант для уже реального использования русского языка при программировании для ARM на Java: STM32Java. Небольшое описание платформы тут: TLT-REF-STM32Java-Overview.pdf.

Картинка кликабельна. Это простой проект, демонстрирующий программку для ARM'а на Java. При желании можно писать по-русски, как видно.

STM32Java, простой проект
-2
Вот второй вариант для уже реального использования русского языка при программировании
Да, извратиться можно и так. Вот только такого «программиста» я выгоняю сразу и без выходного пособия.
+3
Я тут на днях добавил в SMath Studio решатели жёстких ОДУ. Очень долго (год) их искал для C#, чтобы были совместимыми для работы под транслятором, коим является программа. Проблема в том, что самому написать это очень очень трудно, на это могут годы уйти, если с нуля этим заниматься и подразумевается наличие математического образования.
Нашлись люди, кто сделали конвертор для Fortran'а на C# и портировали исходники решателей. Так вот, тот код, который получился, рабочий, но выглядит это мягко говоря как китайская грамота. Мне лично всё равно на каком языке и как будет написан код, главное, чтобы его наружный интерфейс был понятным. А уж что там и как внутри — то не моё дело, ибо жизни не хватит, чтобы разобраться. Если отлажен, поддерживается и работает — беру хоть на китайском.

Моё отношение к этому как к ActiveX компонентам. Они могут быть написаны на любом языке программирования, но наружу выдают какой-то общепринятый интерфейс. Если компонент рабочий, то какая разница как он написан? Это вообще дело того, что пишет и поддерживает. Как ему удобнее так пусть и делает. Всё равно всё самому не написать и уж тем более не исправить или поправить, как с примером решателей жёстких ОДУ. Взял тестовую выборку известных жёстких задач — пашет? Хорошо, можно пользоваться. Не пашет? Пиши своё лет 10-20.

Кстати, насколько я понимаю, Proteus своей моделируемостью смешанных компонентов обязан именно успехам в этой области и таким решателям жёстких ОДУ, которые специально разрабатывались для задач с отсутствием гладкости у значений токов и напряжений.
0
Мне лично всё равно на каком языке и как будет написан код, главное, чтобы его наружный интерфейс был понятным.
Это потому, что вам его не поддерживать сколько-нибудь длительное время, а разработчики все в одной комнате сидят.
+3
String Текст = «Ошибка: » + Исключение.getMessage();

Ох тыж е… А некоторых здесь ругают, за то, что названия переменных транслитом пишут.
Но Вы пошли дальше. А что, давайте писать код на родном языке. Я уже представляю, как гугл-транслейтом перевожу код с французского на украинский.

String 文本= "错误: " +例外.getMessage();
0
Этот код взят из одной моей поделки чисто для российского использования, поэтому он процентов на 80 написан на русском языке.

Остальные 20% занимают библиотечные вызовы. Этот код для J2ME, где библиотеки очень слабенькие и потому многое приходится дописывать самому. Вот как выглядит парсер: Parser.java. Он парсит вот такой конфигурационный файл: Расписания.txt.

Я пошёл куда дальше, чем вы можете себе это представить, судя по всему.
0
Я пошёл куда дальше, чем вы можете себе это представит

Это называется «переубедить у меня Вас не получится, поэтому я сразу перейду к оскорблениям»

Вот Вы можете рассказать о плюсах Вашего «подхода»? Очевидные минусы я уже озвучил. Плюс, подозреваю, что такой подход подарит миру «принципиально новый» тип багов. Достаточно в нужном месте заменить русскую «С» (U+0421) на латинскую «С» (U+0043), и пожелать всем удачной отладки.

И совсем уж страшно представить, как будет выглядеть «индусский код». У них там около 30 языков и куча наречий :)

Пожалуйста, не стоит учить людей плохому. Плохому они сами научатся.
0
Этот код взят из одной моей поделки чисто для российского использования, поэтому он процентов на 80 написан на русском языке.

Миру создатели компиляторов подарили полную поддержку unicode'а. Вы понимаете что это такое? Осмыслите? Или мне придётся крупными буквами это написать, может дойдёт лучше: КОМПИЛЯТОРЫ ПОДДЕРЖИВАЮТ UNICODE. Если вы этого не понимаете или не пользуетесь — это ваше право. Тот же unicode поддерживает автоматически не только компилятор, но и отладчики.

Ещё раз, для тех кто в танке. Я же написал, что это разработка для России! Зачем вы мне свои предположения навязываете, а потом на них гипотезы строите? Зачем? Для России. Ещё раз написать? Причём тут мир? Я не настолько наивен, чтобы полагать, что любая моя проба пира тут же разойдётся тиражами по всему миру. Если вы пишите программы с таким настроем на покорение человечества, то флаг вам в руки, пишите. Меня же вполне устраивает ареал её обитания в пределах бывшего СССР. Она создана на русском языке, имеет русский интерфейс, русские настройки и всё остальное по-русски для очевидной цели — чтобы для русских пользователей мне не пришлось оговаривать знание английского языка для её пользования. Это было бы глупо.

Если я буду писать что-то для международного использования, как я это делаю для программы SMath Studio, то тогда я буду писать на английском языке. Это можно увидеть в репозитории и на англоязычном форуме программы, где я общаюсь по поводу своих компонентов с людьми из разных стран, т.к. SMath Studio — многоязыковая математическая программа (там даже поддержка размерностей локализована).

Кто будет использовать 1C за рубежом, если она построена на отечественном законодательстве? Да никто. Нужно быть идиотом, чтобы писать такую систему на английском языке для самих себя. Поэтому она написана с учётом армии пользователей. Точно также, как и наш космос. Посмотрите на видео стыковок наших космических аппаратов — всё по-русски. И это правильно, потому что мы живём в России и родной язык нам ближе, это психологически удобнее, это понижает уровень вхождения в область знаний, а знания должны быть доступны не с момента овладения английским, а с момента овладения родным языком.

Ещё раз, попрошу РАЗДЕЛЯТЬ ареалы использования программ. Это часть моего Технического Задания. Если мне понадобится использовать программу где-то ещё кроме России, то никаких проблем нет, я её локализую, но код переписывать не надо, т.к. СОВРЕМЕННЫЕ КОМПИЛЯТОРЫ ПОДДЕРЖИВАЮТ UNICODE. Им плоско-параллельно как ты его пишешь, а мне удобнее свой код сопровождать по-русски. И ещё я не идиот сам для себя писать по-английски, когда в этом нет никакой необходимости вообще.

Точка. Расширяйте узкозор.
-3
Причёи тут Индия? У нас английский не государственный. Политической географией нужно интересоваться.

В каких странах английский язык является официальным (государственным)?

Если у вас с рождения английский государственный, то как бы вы относились к коду на английском? Посмотрите современные индийские фильмы, так часть реплик говорится на английском языке как на родном. И это последствия колонизации. Если в индийских фильмах для народа актёры говорят, перемешивая фразы с английским, то о чём это говорит? Это говорит о том, что полагается знание зрителями не только родного, но и ещё одного государственного языка.

У нас такое невозможно, т.к. мы колонией Англии не были, нам не навязывали английский для документооборота и у нас русский язык государственный. Надо такие вещи различать.
0
У нас такое невозможно, т.к. мы колонией Англии не были

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

Но ведь это логично, что все стремятся к универсализации. Ведь это чудесно, что я смогу прочитать код, который был написан немцем или испанцем. А они смогут попользоваться моими наработками. И наоборот, было бы очень обидно, если бы я нашел в сети пример специфического кода, но найденный пример оказался бы бесполезен, т. к. он написан на французском. Автор писал его для Франции.

Зачем искусственно создавать языковой барьер там, где его исторически никогда не было.

Как понять Ваш комментарий к одной из предыдущих статей:

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


Это у Вас приступ ура-патриотизма? Зачем тогда саму статью (топик ссылку) Вы написали скопипастили на английском?

 для очевидной цели — чтобы для русских пользователей мне не пришлось оговаривать знание английского языка

Вы пишете на Java и используете библиотеки данной платформы. И, насколько я зняю, ORACLE пока не планирует локализацию библиотек на другие языки. И программисту, как не крути, придется освоить английский (хотя бы на минимальном уровне).

Да и конструкции вида

String Текст = "Ошибка: " + Исключение.getMessage();


это, извините, не русский язык. This is какой-то «суржик».
+3
И наоборот, было бы очень обидно, если бы я нашел в сети пример специфического кода, но найденный пример оказался бы бесполезен, т. к. он написан на французском. Автор писал его для Франции.
Французский еще ничего. Но много интересного кода приходит из Японии и Китая, и даже комментарии на «родном языке» радуют, а если там еще и символы на нем будут…
Так что «Миру создатели компиляторов подарили полную поддержку unicode'а. Вы понимаете что это такое? Осмыслите?» — это ужасно.
+3
Вы правы.

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

А вот подход «поддержку unicode'а. Вы понимаете что это такое? Осмыслите? » — пугает.
0
Не-не, пусть продолжает в том же духе, будет меньше конкуренции на рынке офшорного программирования :)
0
Оутсорса, естественно. Что-то меня подклинивать к вечеру стало, после чрезмерного общения с индусами :)
0
Я где-то оспариваю международность английского? Я просто говорю, что такая универсализация полностью не возможна, т.к. она предполагает в пределе то, что я должен всегда писать программы на английском языке, а это глупость, т.к. по определению существуют области, для которых этого не нужно делать:

1) русским военным не нужно, чтобы код всего программного обеспечения был на английском, т.к. вы пишите код систем управления на языке условного противника; если только появится возможность этого не делать, то военные будут её использовать; я, кстати, не знаю как сейчас с этим обстоит дело, но как человек, обучавшийся управлению С-300, могу уверить, там английского в коде нет :);

2) исторически монополии английского не было в области программирования, у нас были и свои системы программирования; посмотрите, к примеру, такой советский калькулятор МК-61 (листинги программ для него посмотрите, не надо здесь приступа «ура-англоизации», ибо я лишь узкозор наблюдаю, т.к. у меня этот калькулятор на полке лежит);

3) существуют различия культурные, законодательные, которые изначально делают чужой код не используемым. Если во Франции, в США и пр. гейропах введены однополые браки, то код, который поддерживает базы данных в этой сфере нам нафиг не нужен по определению, как и структура БД. Понимаете о чём я? То же относится к бухгалтерии, юриспруденции. Наш код в 1С заточен под наше законодательство, а оно отлично от западного, а вы хотите какой-то универсализации. Вы хотите, чтобы у нас было как в гейропе что-ли? А вот я нет. Им наш код и структура БД по регистрации браков не нужен и вообще они считают нас ненормальными по этому поводу.

Культурные различия есть, законодательные есть, военные есть, русский язык отличается от английского. Вы проходите мимо всего этого, как-будто этого не существует. Это настораживает.

А если мы поднимемся на один уровень выше по абстракции? Если нам нужно описать область знаний какого-то специалиста и оформить это в виде экспертной системы? Там то же самое, существуют области, где проще не заниматься «ура-англоизацией», а писать всё как есть по типу вот такого кода:

Русский язык в экспертной системе

В этой экспертной системе тоже есть «операторы», но я могу заменить их на русские эквиваленты. Самое главное, что я могу описывать реальный мир в привычных для меня или для эксперта терминах. Если я делаю экспертную систему, где собраны факты по русской истории, то на каком языке мне это описывать? Что, переводить факты на английский? А оно всегда переведётся? Да неужели? А если это юридическая экспертная система? Ну тут вообще каждое слово может быть на вес золота и было бы верхом маразма описывать фактологию для такой экспертной системы на английском языке.

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

Я вообще хочу сделать порт этой экспертной системы под ARM и управлять роботом, используя правила, факты, т.е. на более высоком уровне абстракции, как впрочем это и делается, если посмотреть реальные программы. Движками можно на процедурном языке управлять, а вот поведением, я считаю, лучше при помощи экспертной системы. Если на ARM Linux'ы помещаются, то, я думаю, я смогу запихнуть код, который написан на ANSI C в небольшие ресурсы микроконтроллера. Исходники есть, компилировать их я умею, осталось только отладочную плату с дополнительной обвязкой найти и обрезать в коде всё, что относится к интерфейсу. Это не сложно.

Такие планы на будущее. Насколько я знаю, размер кода dll'ки этой экспертной системы составляет около 600 Кбайт (собирал не я), её можно использовать вместо операционной системы. Из неё можно вызывать пользовательские функции, написанные на си. Это уже совсем другой уровень программирования.
-2
Для человека, который ни разу в жизни не имел дело с чем-то, отличным от процедурного программирования, будет очень трудно представить другой тип мышления программиста. Чтобы было более понятней как используются экспертные системы, я приведу ссылку на одну работу (pdf): Моделирование производственной системы FESTO c использованием CLIPS and OpenGL.

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

В конференции Google, посвященной этой экспертной системе, 6 лет назад я консультировался с разработчиками по поводу использования русского языка и локализации системы. После обмена мнениями мы нашли не сложный вариант «локализации», правда со своими плюсами и минусами, но он рабочий и действует на систему целиком, путём добавления двух строк кода в исходник.

Заметьте, что сами авторы про «ура-патриотизм» ничего не слышали и помогли мне «локализовать» их программу.
0
Описание правил это не программа, а база знаний конкретной ЭС. С тем, что софт нужно локализовать никто, вроде как, не спорил.
0
Учите мат часть. Это не локализация софта, разве не заметно, что я взял это слово в кавычки и сделал это специально, чтобы вот такого коммента не было.

Код — это набор правил и фактов — и есть программа для экспертной системы. Я не локализовал программу в общепринятом смысле, я заставил компилятор собрать мне сборку интерпретатора с поддержкой русской локали. Было не очевидно первоначально, что это сработает, но я понадеялся, что авторы строго соблюдали заявленный ANSI C. В результате я получил почти тоже самое, что используют в компиляторах C# и Java, когда добавляют ключ для сборки unicode'ных исходников. Разве говорят при этом, что C# или Java локализованный софт? :) Такого я ещё пока на слыхивал. Говорят, что компиляторы поддерживают unicode. Так вот, я сделал поддержку исходников в кодировке CP-1251, но строго вшитую. Это не локализация софта, это просто поддержка интерпретатором исходников программ в другой кодировке.

С тем, что софт нужно локализовать никто, вроде как, не спорил.
А теперь перечитайте ещё раз что вы написали и подумайте. Да, я не против такой «локализации» и согласен с вами, так как это означает такую же «локализацию» как в C# и Java, но для Си, к примеру. Кстати, вы подали идею. Если gcc'шный компилятор также полностью на ANSI C, то я могу его «локализовать» точно таким же образом. Спасибо. Интересно было бы собрать такой вариант и посмотреть что будет :) Ведь тогда достаточно двух строк, судя по моему опыту в этом деле.
0
Код — это набор правил и фактов — и есть программа для экспертной системы.
Да-да, и все пользующиеся экселем тоже программисты.
А теперь перечитайте ещё раз что вы написали и подумайте.
Попробуйте воспользоваться собственным советом.
0
Во-первых, речь о «гражданском» программировании. Что там у вояк мне, вобщем-то, пофиг, у них многие вещи не как у людей. Во-вторых, нужен или не нужен какой-либо код, совершенно ортогонально обсуждаемому вопросу. В-третих, мне будет несколько затруднительно попасть в заблуждение относительно экспертных систем хотя бы потому, что мой интерес ним успел зародиться и погаснуть еще до вашего рождения. Если вы читаете мои топики, то можете получить примерное представление о том, как глубоко я могу копать интересные мне темы. Примерные, посколько ни к одной из начатых тем интерес еще не угас, а значит копание тем продолжается.
0
evsi, как художник художнику, что будет, если я в исходники утилит для компиляции, к примеру, avr-gcc вставлю в функцию main (Ассемблера, компоновщика, копилятора) вот такие две магические команды:

setlocale( LC_ALL, ".1251");
setlocale( LC_NUMERIC, "C" );

Изначально предполагаем, что код у нас написан на чистом ANSI C. Такое предложение логично делать для переносимого кода, коим являются эти самые утилиты.

Я локализовал эти утилиты? В каком смысле? Что я сделал?
0
Что я сделал?
Забыли с кафедры слезть.
0
Не уходите от темы. То, что интерфейсы программы локализирует и даже адаптируют под конкретную страну – это факт. И с этим никто не спорит.

Вопрос в том – зачем Вы тяните русский язык у ту же Java, где английский закреплен самим стандартом языка (на уровне ключевых слов, API стандартных библиотек).

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

Есть еще один момент, сугубо из моих наблюдений. Мне проще писать код на не родном языке.

Т к. я не носитель английского, мозг не пытается интерпретировать текст программы как связанный литературный текст. Я вижу просто набор абстракций. Я понимаю, что текст программы является не связанным, нарушает множество правил английской грамматики, но меня это «не цепляет».

А вот когда я вижу код на русском – мозг автоматически интерпретирует листинг программы как текст. Например, я вижу Вашем коде
long Поправка = Настройки.Основные.КолвоСуток;


и мне рефлекторно хочется исправить «КолвоСуток» на «Кол-воСуток». А нельзя. Аналогично, многие вещи режут глаз из-за несогласованности, например ПродолжительностьВТекст.

Мне намного тяжелее воспринимать код на русском, из-за того, что подсознательно «спотыкаешься» о такие вещи, и отвлекаешься от самого кода.

Это сугубо мое ИМХО.
+6
Не только ваше.
+4
String Текст = "Ошибка: " + Исключение.getMessage();
Очень весело постоянно переключать раскладки туда-сюда.
+1
Описание выводов пмк19пб2

Собираюсь вот так описывать все платы.
Разумеется это не всё, центральную часть платы пмк19пб2 я тоже опишу таким образом. Там JTAG 2 шт, и описание штырей для РС485.
Такой вид описания портов пмк19пб2 вас устроит? Там описываются основные функции порта, дополнительные и переопределённые.
0
Миландр решил поменять маркировку микроконтроллеров в пластике с MDR32F9Q2I, MDR32F9Q2C на К1986ВЕ92QI, К1986ВЕ92QC.
Микросхемы будут доступны мне только через 2 недели =(, сейчас делают керамические мк.
Впрочем на всякий случай задал вопросы отделу маркетинга, малоли что не так…

Документацию на пмк19пб2 ещё делаю, часть документации выложено на форуме.
dekstroplat.ru/FORUMDEKSTROPLAT/post16.html#p16
0
Миландр интересен (особенно в няшном розово-жёльтом кузове :) ). По поводу RS-485 согласен с мнением что на варианте для PBII он не к месту — просто из соображения идеологии самой PB. Хотя лично мне бы он не помешал т.к. я 485 использовать планирую. Плохо что у Миландра нет Ethernet — ни встроенного, ни отдельной МС.
Сам я тему МК только начинаю курить, пока закупил почти полный комплект PBII, так что если и стану твоим клиентом, то не раньше чем через год :)
Хоть тебе и тяжело делать документацию, всё же необходимо написать какой-никакой КМБ: типа как написать простенькую программу, откомпилить/отладить, прошить — с указанием инструментов на каждой стадии. Ведь начинающие — это основной контингент покупателей всяких демоплаток. Собственно PB пошла только потому что поддержана мощным учебным курсом от Предводителя :)
А Дихальту надо закорешиться с Миландром — чтобы они предлагали PBII как основное макетное средство для своих МК. Вот тогда-то всякие там ST будут надёжно порваны, по крайней мере в рамках одного отдельно взятого сообщества :)
0
Миландру я уже показывал Пинбоард2 ничего путного из этого не вышло. А основное макетное средство у них это ихняя отладочная плата за 6000р, но клиент заплатив эти 6000р получает впридачу полную техническую поддержку.
И появился у меня конкурент в плане макеток для миландра, компания лдм-системс выпустила отладочную платы с экранчиком, см стартовой ценой 1800р(полный комплект стоит 3250руб).
Но в плане цены я вне конкуренции. Ведь я стараюсь сделать цену как на дискавери(с очень мелкой своей наценкой), а другие компании будут делать подобие миландровской отладки с двукратным снижением стоимости.
Впрочем если я буду постоянно вылизывать все шерховатости на платах, появятся и ардуиноподобные платки не только от меня.

ЗЫ. плата конкурента www.ldm-systems.ru/price_milandr.htm

В ихней плате не нравится удалённость конденсаторов от чипа, и на плату с такой ценой можно было встроить программатор полноценный а не USBtoUART.
0
ПМК19ПБ2 имеет 2 конфигурации, минимальный(без стабилизатора и рс485) и стандартный(всё как на видео). Поэтому кому нужен ПМК19ПБ2 чисто только для юзания с PB2 то выберет минимальную комплектацию.

А сложно писать документации и потому что я замкнутый/закрытый/необщительный чел, и трудно объяснять другим людям что-то, даже в письменном виде ))

Ещё щас проблемы с схемами своих плат, их я делаю после разводки плат и время на схему тратится больше чем на разводку, хотя платы развожу всегда в ручную.
Но всем нужны схемы для понимания того как устроена плата, вот сижу переобучаюсь на — сначала схема потом плата…
0
Личное мнение после прочтения всего — жуть какая-то
+1
  • avatar
  • x893
  • 13 октября 2013, 20:12
А что конкретно не понравилось? Ну кроме отсутствия схем к платам.
0
Не понимаю тех, кто пишет программы на национальном языке.
Не понимаю тех, кто использует компоненты хуже, чем возможно.

Не понимаю тех, кто не публикует «открытые» проекты на github (какие-бы прекрасные они не были).
Да и названия ЖПРУ95ОУ мне не нравятся.
Я понимаю, что работа большая сделана — но у меня другой подход (больше похож на тот, что за зоной ru).
+2
Не понимаю тех, кто пишет программы на национальном языке.
Если бы СССР был самой успешной и могущественной страной в мире, все бы писали программы примерно так
Метка_начало:
переменная_16бит пер1
переменная_16бит пер2
пер1 = 32555
пер2 = 1000

Метка1:
пер1 = пер1 + пер2
перейти_Метка1


А где-то в полуживой развалившейся на штаты exUSA с предательским и продажным правительством:

I do not know anyone who writes programs in the national language.
  Why write a program in their native language:
main_init:
unsigned int per1
unsigned int per2
per1 = 32555
per2 = 1000

main1:
per1 = per1 + per2
goto main1

  You can use the normal program from the site всепрограммеры.ссср, all countries enjoy, and do not complain.
On the keyboard for a long time have Russian symbols, problems with writing programs will not.

Мы как проигравшая команда, должны играть по правилам победившей стороны(писать проги латинскими символами).
Но предательски бежать из СССР, и потом сидя в 6 комнатной квартире на сотом этаже, обсмеивать всех кто остался, это очень не хорошо. В том числе и тех кто когда то отдавал душу и умирал в муках, чтобы дать жить будущим поколениям, но они и не думали что их дети будут такими предателями. Впрочем буржуазы нечестно играли.

Я не буду учить англ язык, я никогда не ходил на урок английского языка. Да сейчас с буржуйскими пдфками сложновато, но всёравно есть переводчики. Я чту память о своих прадедах, которые погибли, за то чтоб я ходил по этой земле.
Самая глупая ошибка, это то что народ выбрал президента, по образу своему.
Президент как царь, а не марионетка, из-за которой расплодилось чинушников, за которых приходится десятикратно переплачивать ЖКХа и другие налоги.

В самый критический для своей жизни момент, я бы уехал в Беларусь и Украину. К своимже.
И вообще слово «Отечественный» я признаю как СССР.
И в своих платах я пытаюсь использовать произведённые на территории бывш СССР. Даже если они будут немного дороже.
Например вместо L293 буду использовать IL293D производства ИНТЕГРАЛ или К1128КТ4АР НТЦ-СИТ!!!
Я не хочу платитить ДАНЬ иносранцам и предателям.

Кстати при разработке плат иногда слушаю ролик. Чтоб к моим разработкам такую песню не сочинили. Самое обидное, то что поёт не какойто там иносранец, а наш :'(

Да и названия ЖПРУ95ОУ мне не нравятся.
Да названия типа пойду «ПОССу61» не впечатляет, но название MDR32F9 это более менее по буржуазийски?? не?
Можно сказать M1A2SEP звучит лучше чем Т-90СМ.

Далее предвижу очередной ХОЛИВАР что СОВОК/РОССИЯ/И то что осталось = говно, для меня нет! Ещё отыграемся буржуазы!
--==Слабаки всегда бегут за спину победителей==--

Всё писанное моя точка зрения, которую я считаю единственной правдой.
Никого конкретно не обсираю, просто УВАЖАЕМЫЕ ДАВАЙТЕ НЕ ССАТЬ В КОРЫТО С КОТОРОЙ ЕДИМ САМИ И С КОТОРОЙ БУДУТ ЕСТЬ НАШИ ДЕТИ, И УВАЖАТЬ МНЕНИЕ/ИДЕИ НАПРАВЛЕННЫЕ НА ИСПОЛЬЗОВАНИЕ СВОЕГО ЯЗЫКА/ПРОГРАММ/КОМПОНЕНТОВ.
ДА! ВСЁ В РОССИИ СЕЙЧАС ГОВНО, НО ЭТО ПОТОМУ ЧТО ЗА РУЛЁМ БУРЖУАЗЫ И ПРЕДАТЕЛИ, КОТОРЫЕ ХОТЯТ ЧТОБ ИХ ДЕТИ ЖИЛИ В САМЫХ ЛУЧШИХ УСЛОВИЯХ В МИРЕ! ВЫСАСЫВАЯ ВСЮ КРОВЬ С ПРОИГРАВШИХ.

Извините.
0
Если бы СССР был самой успешной и могущественной страной в мире, все бы писали программы примерно так
Вообще-то, текущее положение сложилось еще когда СССР был вполне успешен и могущественен. Из-за того, что они нас обогнали в развитии ВТ. Некоторые говорят, что в этом есть заслуга и языка, который проще для компьютерной обработки.
Да и английский несколько удобней для написания — он лаконичней. Возможно, если бы интернациональным был другой язык — писали бы на нем… Но сейчас сложилась именно такая ситуация и лучше писать на том языке, который понятен всему миру. Особенно это понимаешь, когда собираешь код с миру по нитке (интернет и глобализация, ага), и наслаждаешься комментами на китайском и переменными на пиньине.
+1
Особенно это понимаешь, когда собираешь код с миру по нитке (интернет и глобализация, ага), и наслаждаешься комментами на китайском и переменными на пиньине.
Недавно попалось в руки изделие совместного китайско-российского производства… «мозгами» служит довольно сложный ASIC, так в его маркировке ни одной латинской буквы нет. Несколько иероглифов и дата выпуска. :)
0
и еще документация на жэлезки, доступная только на китайском (с краткими англовставками) — вообще угар:)
+1
Мы как проигравшая команда
Проиграла не Россия и не совок и уж тем более не обычные люди, проиграли стоявшие у руля коммунисты. Может пора перестать воевать на стороне идеологии, место которой на свалке истории, рядом с фашизмом и нацизмом?
ВСЁ В РОССИИ СЕЙЧАС ГОВНО, НО ЭТО ПОТОМУ ЧТО ЗА РУЛЁМ БУРЖУАЗЫ И ПРЕДАТЕЛИ
Похоже, вы сами того не осознавая, продолжаете играть на их стороне. Весь этот псевдопатриотизм и «мы им всем еще покажем» нужны, в первую очередь, именно этим людям, что бы удержать власть.
+2
у вас юношеский максимализм. есть такая вещь, как эволюция. в её процессе вышло так, что международный язык теперь — английский. раньше был латинский, потом — французский, потом — немецкий. и никогда ни у кого бугурта не было.

итти против эволюции — значит тратить огромную энергию впустую. возьмите северную корею для примера.

а английского языка в языках программирования ноль целых хер десятых. коменты — да, на английском, но — см. выше.

А ролик я вам советую всё время вот какой смотреть: www.youtube.com/watch?v=0EW3wlPJofs

Я не против совка. просто мир развивается. пытаться остановить этот процесс — пустая трата энергии.
0
а английского языка в языках программирования ноль целых хер десятых. коменты — да, на английском, но — см. выше.
Чуть больше. На мой взгляд, желательно хотя бы символы именовать осмысленно и на английском. Комментарии — опционально.
0
Я не буду учить англ язык, я никогда не ходил на урок английского языка

Угу. Назло бабушке отморожу уши. Вы сам себе злобный братнино.

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

А у Вас получается «изучил иностранный язык — плюнул в лицо деду-ветерану». Вы это серьезно? Вы где-то слышали чтобы ветераны ВОВ высказывались против изучения иностранных языков?

У Вас весьма странные представления о истории. Ваша позиция напоминает молодых людей, которые на 9-е мая обвешаться георгиевскими ленточками с ног до головы (чем больше — тем больше уважения к ветеранам) и кричат «у миня дет воивал!111»

Поверьте, то, что вы не знаете ни один иностранный язык — это не повод для гордости, не признак патриотизма и уважения своей истории. Скорее наоборот.
+3
В моей первой школе немецкий преподавала женщина, побывавшая в «остарбайтерах»…
С польским познакомился тоже в школе, уже другой. Некоторые вещи Лема только на нём и можно было «достать». И даже «Мастера и Маргариту» прочитал впервые на польском — на самиздатовскую распечатку оригинала была длиннющая очередь, а в «Дружбе» продавали по 5.50. Ничего там страшного, местами польский ближе к русскому, чем к украинскому, местами наоборот.
Английского никогда специально не изучал, но в процессе общения с компьютерами нахватался столько, что могу на него переводить, нечасто сверяясь со словарями.
Но китайский вряд ли осилю. Слава Гуглю, переводит более-менее понятно (и на английский лучше всего).
+1
Китайский вроде не столь уж и сложен, только кучу иероглифов учить. Зато они общие у китайского, японского и корейского.
0
что-то вы загнуууули.
китайские, корейские и японские иероглифы отличаются даже на глаз сходу.
а у японцев даже три системы иероглифов, которые тоже отличаются на глаз.
-1
Иероглифы у них общие. Есть мелкие различия, преимущественно в стиле начертания. Кстати, в уникод они входят именно как общий набор CJK.
«Отличающиеся» корейские и китайские «иероглифы» — не иероглифы, а фонетические азбуки. Аналог нашего алфавита. Как и алфавит, заучивается за день (японских кан — 46+46, корейского хангыля вообще штук 30 букв), но если не знать язык, то «хито» немногим понятней, чем "ひと". Зато иероглиф "人" независимо от языка означает «человек». Поэтому корейцы и японцы вполне способны читать по китайски, даже не понимая китайского языка.
Впрочем, корейцы сегодня почти исключительно пользуются хангылем, так что знание иероглифов не сильно поможет. С японским все же лучше, если уже знать иероглифы и их значения, то многое можно понять, да и доучивать придется только новые варианты фонетического прочтения. Слоговую азбуку они используют в основном для подсказок, как правильно прочесть тот или иной иероглиф, окончаний, некоторых слов-связок и заимствованных слов (с этими проще всего, если видишь надпись катаканой — это как правило транслит с английского и спокойно читается даже без знания японского языка).
0
спасибо, надо будет выучить раз так просто.
0
Для справки: В корейском языке алфавит, хоть он и выглядит как иероглифы, но это алфавит. Японский позаимствовал иероглифы из китайского, но, как и со всем заимствованым, был допилен под себя. К тому же в японском слова могут быть записаны смешанным образом — корень иероглифим, а окончание — фонетическим способом.
0
Для справки: В корейском языке алфавит, хоть он и выглядит как иероглифы, но это алфавит.
Это хангыль, фонетическая азбука. Иероглифы они используют китайские. Точнее, сегодня уже почти не используют, предпочитая записывать то же самое фонетически, а не идеографически.
К тому же в японском слова могут быть записаны смешанным образом — корень иероглифим, а окончание — фонетическим способом.
Но значение слова от того не меняется, только словоформа. К тому же одну из основных трудностей вызывает именно заучивание тонны иероглифов с их значениями и чтениями, если знать китайские — остается только доучить японские чтения (и, возможно, японские составные слова).
0
Эта азбука довольно забавно устроена — в начертаниях букв-крючков можно усмотреть конфигурацию органов речи при произношнении. :)
0
Угу. А еще забавно, что корейцы собирают буквы этой азбуки в слоги, которые выглядят как иероглифы. А заодно добавляют проблем со стороны кодировок — хотя букв примерно три десятка, в кодовую таблицу приходится вносить не их, а тысячи (точнее, ЕМНИП, примерно одну тысячу) составных символов-слогов :)
0
Набор текста у них очень прикольно смотрится. Сначала «крючки», составляющие слово, выстраиваются в линию, а потом, после набора знака препинания или ENTER — мигом сворачиваются.
0
Кстати при разработке плат иногда слушаю ролик. Чтоб к моим разработкам такую песню не сочинили. Самое обидное, то что поёт не какойто там иносранец, а наш :'(

Когда-то давно на Руси людям начали «выдавать» фамилии. Видимо выдавали их принудительно. Кому-то заслужено досталась фамилия Самодуров. И с тех пор фамилия не исчезла и является частью истории.
Так вот на ролике самые обычные самодуры. На сцене и в зале. Сытые, довольные и наверняка не имеющие отношения к производству. Их удел бренчать на гитаре и ржать. Да и возможно песня эта проплачена как проплачивет кто-то нынешнее отечественное дешёвое кино заявляя «Я хочу что бы это показывали на экране». На ТНТ вообще мало интересного. Вот такой дребедени полно.

Мы как проигравшая команда, должны играть по правилам победившей стороны(писать проги латинскими символами).
Никакой игры не было. Было соперничество в между странами.
Никто не запрещает создать свой язык программирования, который будет использовать русские символы и сокращения. И под этот язык полностью отечественную аппаратную платформу. Тогда возможно будет успех.

Я не буду учить англ язык...
Сейчас язык программирования, без оглядки на историю, связывают исключительно с экономикой стран. Говоря о стране с ведущей экономикой мира изучают язык этой страны(если это по силам). В этом плане изучают английский, китайский и даже японский.
Я во многом с Вами, Сергей, солидарен, но английский язык — это не только язык тех людей которые для реализации своих мерзких планов нашли «нужные слова» и подход к Горбачёву и Ельцину, но это язык и тех кто помогал нам во время второй мировой войны, тех кто погиб в северных конвоях. Да и просто много людей которые политикой и геополитикой не интересуются вообще, интересуются наукой, ходят на работу и ни кому желают зла.

В самый критический для своей жизни момент, я бы уехал в Беларусь и Украину. К своимже.
И вообще слово «Отечественный» я признаю как СССР.
Я специально эту тему не изучал, но за прошедшие двадцать лет было много информации и в газетах и на телевидении, которая позволяет разобраться в тех людях и событиях, полностью понять кто и что из себя представлял. И этой информации сейчас из тех же источников становится всё больше.
Союзные республики сами не захотели быть в союзе. Было одновременное стечение обстоятельств которые всё разрушили. Не без помощи внешних факторов, разумеется. Кстати первый президент Белоруси Шушкевич был рьяным сторонником выхода из союза и в Беловежской пуще руководил всеми подписаниями он. Прибалты и западная Украина — вообще отдельная тема. О недовольстве союзом рассказывал Шаймиев. В общем всем тогда казалось, что сейчас они обретут самостоятельность и превзойдут самих себя и свои ожидания.
Из школьных уроков истории припоминаю, что Русь ещё давно делилась на мелкие княжества, а после объединялась. Только вот причиной для объединения вновь был внешний враг. Это как мода на отделение, приходит и уходит.
В наши дни об отделении мечтает какая-то часть(франкоязычная, кажется) благополучный Канады. В Германии промышленно развитая область говорит, что остальная часть Германии паразитирует на их упорном труде и тоже хотела бы отделиться.
(Возможно я в чём-то ошибаюсь, пусть поправят).
0
Участь СССР была предрешена, увы, задолго до Беловежской пущи. В Тбилиси, Вильнюсе… когда центральная власть в открытую объявила себя врагом народа. ГКЧП стал последней каплей. Кто командовал этим «парадом» — вопрос отдельный.
0
Абсолютно поддерживаю.Кто-то что-то делает. А кто-то сочиняет мифы о лени/отсталости/воровстве, и этим живет. Кто-то кормит забугор сознательно и мечтает чтобы тут всё сдохло. Но есть ещё и люди…
0
Да ладно, что вы так сурово. Миландровские чипы — очень годные чипы.
В отечественной электронике есть много чего годного.
Есть чипсеты на спарках и мипсах. Только у программеров, которые на оборонке работают, руки из жопы в большинстве своём, т.к. пряморукие (за редким исключением) туда не идут либо из-зи низкой зп, либо из-за шмона и режима. Ну и собственно, посему эти чипсеты в очень малом проценте изделий.
Есть так же ПЛИС, аналог altera flex 10k 200. Умножителей встроеных в ней нет, но ниос влезает, жить можно.

ОП поддерживает нашу промышленность, внедряет в массы, так сказать. За доступную цену. Чего тут плохого?
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.