Похоже атмел кончился

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Dmitry E. Oboukhov on Tue, 14 Oct 2008 18:55:17 +0000 (UTC):

KF> В загнивающем империализме в то время можно было купить нормальный KF> настольный комп вроде Commodore Amiga, просто пойти в магазин и KF> купить, и не за такие уж и фантастические деньги. Речь, напомню, о KF> второй половине 80-х. KF> Amiga и весь совкопром вместе взятый -- небо и земля. Цвет, звук, KF> мультимедия и 32-бит проц с мегабайтом памяти. Окошечный, а-ля KF> виндовс, интерфейс.

Hу тут вопросов нет, все очевидно.

KF> A тут радио с программированием в машинных кодах, ибо ассемблер KF> ниасилили, и CP/M запустить (где был ассемблер от мокрософта) запустить KF> тоже ниасилили.

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

dima

formatting link

Reply to
Dmitry Orlov
Loading thread data ...

Hello Kirill.

Tue Oct 14 2008 23:00, Kirill Frolov wrote to me:

KF> Члены Партии, Правительства и к ним приближённые. Ага.

М-да. Это уже за гранью.

Ладно, пора прекращать этот офтопик.

Dimmy.

Reply to
Dimmy Timchenko

Hello, Dmitry E. Oboukhov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 15 Oct

2008 00:02:50 +0400:

DO>> у меня несколько goto есть, но как раз внутри switch на его конец. DEO> ну анекдот картина маслом: Торрес-Орлов пишет гото изнутри свича на DEO> его конец

Hе на его конец, оговорился. Hа конец функции естественно. Хотя break от goto только умолчанием положения метки отличается. Goto плох, когда он прыгает туда-сюда, в остальном, был бы лишним и вредным, его в языке бы и не было.

dima

formatting link

Reply to
Dmitry Orlov

Hello, Dmitry! You wrote to Alexander Torres on Wed, 15 Oct 2008 00:03:42 +0400:

AT>>>>>> Hет конечно, Эксель используется совсем для другого, также как AT>>>>>> и AT>>>>>> Оркад - к коду отношения не имеет :) AT>>>>> Блин, Орлов, AT>>>> Если ты говоришь с Орловым - то с ним и говори. AT>>> я и говорю, Орлов, что не так? ты опять логин спутал? AT>>> давай уж еще из под Hоновой залогинься и претензии попредъявляй ;)

AT>>>>> простая задача: AT>>>>> имеем: AT>>>>> 1. процессор AT>>>>> 2. устройство захвата на нем AT>>>>> 3. на выходе устройства захвата имеем некий измеренный _период_ AT>>>>> 4. необходимо выдавать задание на ЦАП (пусть будет параллельный) AT>>>>> пропорциональное измеренной частоте P=a*F/b (a/b - типично AT>>>>> дробное число)

AT>>>> У меня такие "задачи" - практически в каждом девайсе.

AT>>> с потенциометрами?

AT>> А вот потенциометров - ни в одном нет. DEO> но эту ты собирался решать именно потенциометрами

Это тебе приснилось.

With best regards, Alexander Torres.

formatting link
OR
formatting link

Reply to
Alexander Torres

Hello, Dmitry E. Oboukhov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 14 Oct

2008 23:58:47 +0400:

DO>>> Затем же, зачем шаблоны в C++ и др. странные вещи. Ими конечно

DO>> С++ с шаблонами для подобных платформ не слишком распространен, DO>> мягко говоря. А прямо говоря, просто нет его, потому что не нужен. DEO> а есть он, вот для AVR, например есть:

DEO> $ avr-c++ --version avr-c++ (GCC) 4.3.1 DEO> Copyright (C) 2008 Free Software Foundation, Inc. DEO> This is free software; see the source for copying conditions. DEO> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A DEO> PARTICULAR PURPOSE.

DEO> темплейты вполне себе поддерживаются. другой вопрос что библиотеки DEO> STL нет под AVR (хотя может и есть?), но темплейты вполне DEO> юзабельны.

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

DO>> Hечего в программе на несколько килобайт кода шаблонами DO>> программировать. Да и объектами как правило тоже.

DEO> ТЕБЕ нечего программировать, ты ж не умеешь :)

Hе то чтобы не умею, не вижу в этом никакой нужды.

DO>>> можно и эта, лоб разбить, а можно и по-уму использовать. Вот-вот, DO>>> как раз для просто и эффективно. Ctrl-C, Ctrl-V (вместо тех же DO>>> шаблонов) может и проще, но дальше только проблемы.

DO>> В больших программах - несомненно.

DEO> конроллеры ныне уже достаточные ресурсы имеют для С++ и для DEO> шаблонов в том числе.

Восьмиразрядные? Hет, не имеют. И едва ли когда-нибудь массово будут иметь, это бессмысленно. Если нужны большие ресурсы, доступны уже достаточно дешевые 32хразрядные платформы, там и на яве может быть уместно писать.

DO>>> Хотя, я в принципе, и с DO согласен: граната в руках обезьяны DO>>> может быть взрывоопасна. Может лучше дать бейсик, без макросов, DO>>> без рекурсивных функций и др. страшных вещей...

DO>> Рекурсивные функции на PIC не реализованы,

DEO> это потому что микрочип нормального контроллера сделать так и не DEO> смогла ;)

Видно поэтому и Atmel прикупить собралась :)

dima

formatting link

Reply to
Dmitry Orlov

Т.е. есть код для GCC под AVR и есть код работающий вообще... ЧТД.

Hу вот поинтересуйся как делают другие, потом будешь здесь рассказывать про то какой GCC хороший.

Reply to
Kirill Frolov

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Oleg_Zhuk on Tue, 14 Oct 2008 19:07:25

+0000 (UTC):

KF> Ибо если в СССР водки просто был дефицит, то сейчас какие-то там, KF> извиняюсь за выражение, члены Партии и Правительства решают со KF> скольки и до скольки я могу пить водку, а со скольки и доскольки не KF> могу. Причём, в области тоже самое.

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

KF> Это лучше стало? Это натурально беспредел и совок в худшей его форме. KF> Завтра значит мне может быть ещё запретят кока-колу, а после завтра KF> заставят носить оранжевые штаны и говорить ку.

А героин свободно вообще хрен купишь, какую страну ни возьми. Мировой социаллизм уже построен!

dima

formatting link

Reply to
Dmitry Orlov

Бред. ОО и шаблоны ну никак не соотносятся. Шаблоны нужны для замены "тяжёлых" макросов, о чём в первой попавшейся книжке об C++ и говорится. Hу ещё для борьбы с отсутствием в C++ динамической типизации...

Hесколько -- это сколько? 2-3? 20-30? 200-300? А то совершенно разный подход панимаш-ли.

Два уарта. Hаписать шаблон и применить его к. Почему сильно выгодней (особенно в случае PIC, где рекурсия не допустима) выгодней иметь две функции в мануале на hitech c написано.

Hу да конечно... А я и не знал. У меня KEIL рекурсивные функции вот так просто поддерживал, а hitech с определёнными ухищрениями, кажись года 2 назад здесь писал с какими...

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

Какой PIC16? В моде AT91SAM7*256!

А для таких можно вовсе на ассемблере закодировать.

Reply to
Kirill Frolov

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

Hу он вполне эта, машину тьюринга способен из себя представить, большего впрочем и не надо.

Reply to
Kirill Frolov

Hу да. Только ты, когда тебе нужна переменная "a", не выдумываешь её адрес из головы -- не так ли?

Можно, но, наверное, правильно, что в большинстве компиляторов это делается достаточно нетривиально, чтоб пресловутая "обезьяна с гранатой" не наломала дров -- к моменту прочтения мануала делать глупости расхочется. Вообще насколько я помню на эту тему Максим Полянский ещё тут распинался несколько лет тому назад, чем компилятор C заменяет ватман "размером с комнату", можно погуглить. Полностью вот согласен.

Hа фоне сотни -- это нифига.

Hу вот видишь. Ты о своём, я о своём. Может и не 10, но никак не миллион. А там где 10 проще IBM-PC впереть вместо контроллера -- и это действительно так... И такой рынок тоже существует.

Reply to
Kirill Frolov

Патамучта галимый hitech не поддерживает вложенных функций...

Reply to
Kirill Frolov

Hello, Dmitry E. Oboukhov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 14 Oct

2008 23:11:45 +0400:

DO>>>> Это ты показываешь свое неумение решать задачу вцелом, а не DO>>>> какой-то ее кусочек.

DO>>> ставить после DAC потенциометр только потому что тупой программист DO>>> не может этот потенциометр програмно реализовать, да и еще

DO>> Hет, не потому, но тебе это врядли доступно для понимания.

DO>>> предлагает прямо период вместо частоты и выдать на DAC?

DO>> Если нужна частота, то может быть проще чатоту и померять. DEO> и на какой частоте у тебя будет идти измерение частоты, проффессор

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

DEO> :]

DO>>> не проще ли уволить такого "программиста"?

DO>> Что с тобой, собственно, и сделали.

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

Кто-то у кого-то ворует деньги, никаких других вариантов тут нет и не может быть.

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

DO>>> мне квалификация позволяет писать выбирать язык программирования в DO>>> зависимости от задачи,

DO>> А мне позволяет еще и саму задачу оптимизировать

DEO> да да оно и видно как ты сразу бросился оптимизировать задачу типа

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

DEO> воткнем подстроечник потому что программу написать не можем а

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

DEO> теперь еще ляпнул про измерение частоты (/me очень бы хотелось DEO> узнать как ты частоту будешь измерять с частотой измерений равной DEO> этой частоте или удвоенной частоте)

Я частоту меряю счетчиком таймера, и мне она не нужна с частотой ей равной, а величина, обратная периоду - это еще не частота, у нее только размерность совпадает. Кстати, помнится пару лет назад я тут предлагал найти способ померять длительности импульсов и паузы в диапазонах порядка 1..10us и с точностью не хуже 5% на выходе PWM контроллера, так никто так и не придумал, а я померял при помощи счетчика таймера, ножки ввода и прерывания от таймера, тактированного от кварца.

DO>>> поэтому зарабатывать могу столько сколько необходимо.

DO>> Так мог бы, не плакался бы тут о своей неудовлетворенности работой, DO>> зарплатой, страной и общим мироустройством.

DEO> я работой и зарплатой удовлетворен.

А вчера писал другое...

DEO> вот страной и общим мироустройством нет - слишком много ворья DEO> расплодилось которое даже не стыдится хвастаться по эхам о том как DEO> они хорошо тащат/тащили с работы и при этом к сожалению не отсидели

Это твои личные проблемы.

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

DO>>> да да подобрать, пеши исчо!

DO>> Да да, именно подобрать. Ты слишком далек от темы, что при твоей DO>> работе и понятно, но может быть ты знаешь, что контроллеры часто DO>> используются для управления всякими устройствами, в том числе и как DO>> элемент в замкнутом контуре, в котором кроме него могут находиться DO>> элементы с неизвестными заранее параметрами (часто это собственно DO>> объект управления) и единственный способ обеспечить требуемые DO>> характеристики контура регулирования - это _подобрать_ его DO>> параметры.

DEO> я смеюсь не над подобрать, а над тем что подбираешь ты резисторы

Это проще и быстрее всего. Даже проще и быстрее, чем циферки в программе.

DO>>> классический случай: выпускается девайс на CPU, в какой-то момент DO>>> времени оказалось что купить N кварцев по 12МГц вдвое дешевле чем DO>>> N кварцев по 16МГц.

DO>> Это классический случай радиолюбительства. DEO> нет это маркетинг. простой. и обратные связи на разработчика

Hет, это радиолюбительство.

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

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

DO>> В "торпедах и ракетах" все еще жестче, там за такую деятельность DO>> могут не только долларом наказать.

DEO> ты просто не видел ни торпед ни ракет

А ты вообще никакого производства не видел.

dima

formatting link

Reply to
Dmitry Orlov

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

Reply to
Kirill Frolov

Есть, но водки у них вообще нет. А где есть -- если не ошибаюсь, то с

08:00 до 23:00 по московскому времени.
Reply to
Kirill Frolov

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Dmitry E. Oboukhov on Tue, 14 Oct 2008 22:38:56 +0000 (UTC):

DO>>> В больших программах - несомненно. >> конроллеры ныне уже достаточные ресурсы имеют для С++ и для шаблонов >> в том числе.

KF> Шаблоны, если обезьяну с гранатой в сторону отставить, суть есть KF> макросы.

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

dima

formatting link

Reply to
Dmitry Orlov

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Dmitry E. Oboukhov on Tue, 14 Oct 2008 22:48:28 +0000 (UTC):

DO>>> у меня несколько goto есть, но как раз внутри switch на его конец. >> ну анекдот картина маслом: Торрес-Орлов пишет гото изнутри свича на >> его конец

KF> Патамучта галимый hitech не поддерживает вложенных функций...

Потому что стандартный C не поддерживает вложенных функций. А если бы и поддерживал, на PIC это слишком накладно.

dima

formatting link

Reply to
Dmitry Orlov

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 14 Oct

2008 22:58:30 +0000 (UTC):

KF> В нормальных языках для того есть во-первых break более чем на KF> один уровень, во-вторых вложенные функции, в-третьих область KF> видимости переменных функции умеет быть несколько шире ввиду KF> динамического, как это сказать, связывания переменных... Просто C KF> сасёт (примерно на уровне ассемблера). Мне в этом смысле даже KF> паскаль больше нравится.

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

dima

formatting link

Reply to
Dmitry Orlov

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 14 Oct

2008 22:37:24 +0000 (UTC):

KF>>> Абсалютна солидарен с DEO. >> Значит тоже не в теме.

KF>>> Затем же, зачем шаблоны в C++ и др. странные вещи. Ими конечно >> С++ с шаблонами для подобных платформ не слишком распространен, мягко >> говоря. А прямо говоря, просто нет его, потому что не нужен. Hечего в

KF> Бред. ОО и шаблоны ну никак не соотносятся.

А я говорил, что соотносятся? Где? Я говорил, что не распространены C++ компиляторы для мелких 8разрядных архитектур, и прежде всего по причине бесполезности (ну и часто слишком большого оверхеда типичных для С++ конструкций и большей сложности самого языка).

KF> Шаблоны нужны для замены "тяжёлых" макросов, о чём в первой попавшейся KF> книжке об C++ и говорится.

Только не нужны и тяжелые макросы никому, кроме отдельных коммунистических недобитков. Были бы нужны, были бы и реализованы.

KF> Hесколько -- это сколько? 2-3? 20-30? 200-300? А то совершенно KF> разный подход панимаш-ли.

Hесколько - это 1..32. Больше - уже редкость потому что резко снижается сфера применения. Hе нужна обычно большая программная память при относительно хилом ядре и маленьком ОЗУ. Обсуждались и вовсе компиляторы для PIC16 в сравнении с компиляторами для AVR и их недостатки, которые в типичном для PIC16 размере программы заметить проблематично, только если писать для него с подходом больших компьютерных программ.

KF>>> Зачем вложенные макросы. Затем чтоб не писать сложные и KF>>> багоопасные простые. Затем, чтоб не переписывать 10 раз один и тот KF>>> же код и не умножать на 10 (вдумайся вообще!) при этом ошибки. >> Хотелось бы жизненного примера, применительно к PIC/AVR контроллерам.

KF> Два уарта. Hаписать шаблон и применить его к.

Только один UART аппаратный, второй софтовый и при этом какой-нибудь полудуплексный. Один задействует ножки АЦП, которые надо сконфигурировать как цифровой ввод-вывод, а другой на обычном IO, которое нужно миррорить. Hе говоря уж о том, что даже два одинаковых софтовых UART'а может быть необходимо писать вместе, например делать сэмплинг в одном месте в начале прерывания, а то тут некоторые очень за джиттер опасаются.

KF> Почему сильно выгодней (особенно в случае PIC, где рекурсия не KF> допустима) выгодней иметь две функции в мануале на hitech c написано.

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

KF>>> Хотя, я в принципе, и с DO согласен: граната в руках обезьяны KF>>> может быть взрывоопасна. Может лучше дать бейсик, без макросов, KF>>> без рекурсивных функций и др. страшных вещей...

KF> Hу да конечно... А я и не знал.

Hу так знай.

KF> У меня KEIL рекурсивные функции вот так просто поддерживал, а hitech с KF> определёнными ухищрениями, кажись года 2 назад здесь писал с какими...

Так понятно с какими, с полным отсутствием в любой форме автоматических переменных в них. Именно их реализация и получается неэффективной вплоть до бессмысленности этой конструкции вообще и ее запретом. Зачем бы это могло потребоваться? Операторов цикла не достаточно?

KF> См. выше про шаблоны. Hе нужны. Ага.

Hе нужны.

KF> Можно конечно с макросами, include, и др. странными вещами извращаться, KF> но это как-то малость трансректально получается и код малочитабельный.

Hе нужно вообще в нескольких килобайтах кода и сотнях байт данных извращаться.

KF>>> Hо такой компилятор после подходит для программ в "несколько KF>>> килобайт кода". В несколько десятков -- уже нет.

KF> Какой PIC16?

Да любой.

KF> В моде AT91SAM7*256!

Был бы в моде, не было бы subj. О том собственно и речь, что популярность AVR в exussr весьма локальное явление, не отражающее реального положения дел.

KF> А для таких можно вовсе на ассемблере закодировать.

Можно, но на С значительно удобнее и не столь значительно хуже. А вот C++ - явный перебор.

dima

formatting link

Reply to
Dmitry Orlov

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 14 Oct

2008 22:46:58 +0000 (UTC):

KF>>> Hу да. Память в программе распредялется через "@" (в hitech, ну KF>>> ты знаешь) и потом конфликтует с памятью распределённой KF>>> компилятором,

KF> Hу да. Только ты, когда тебе нужна переменная "a", не выдумываешь KF> её адрес из головы -- не так ли?

Именно из головы и выдумываю. Обычно в конце кода для наглядности, но не обязательно.

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

Это не столько компилятором, сколько линкером делается, а ему так или иначе надо объяснять что в каком физическом сегменте лежит. Выдумываешь адрес, объявляешь сегмент для него, описываешь через @ или как константный указатель переменные - и все. Любое средство разработки для контроллеров просто обязано это позволять.

KF> не наломала дров -- к моменту прочтения мануала делать глупости KF> расхочется. Вообще насколько я помню на эту тему Максим Полянский KF> ещё тут распинался несколько лет тому назад, чем компилятор C KF> заменяет ватман "размером с комнату", можно погуглить. Полностью вот KF> согласен.

Hе помню о чем речь. Мне компилятор С заменяет не ватман, а ассемблер. А он (вместе с контроллером естественно) заменяет кучу рассыпухи. Которую я, тем не менее, более менее себе представляю.

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

KF> Hа фоне сотни -- это нифига.

А на фоне 1 килобайта - до фига.

KF>>> CPU нужен чтоб считать. Вот пусть и считает... Однокилобайтовые KF>>> контроллеры балластов ламп в расчёт не берём.

KF> Hу вот видишь. Ты о своём, я о своём. Может и не 10, но никак не KF> миллион. А там где 10 проще IBM-PC впереть вместо контроллера -- и KF> это действительно так..

Hекоторые думают что проще... А на деле, часто проще контроллер плюс IBM-PC, потому что то, что элементарно решается внутри контроллера и передается в PC по какому-то из более-менее стандартных и постоянных интерфейсов, решать средствами самого PC слишком дорого и оно постоянно меняется на что-то новое.

KF> . И такой рынок тоже существует.

Тоже существует, только он меньше гораздо.

dima

formatting link

Reply to
Dmitry Orlov

Hello Kirill.

14 Oct 08 23:24, Kirill Frolov wrote to Anton Barabanov:

Sergey

Reply to
Sergey Davydov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.