Вт мар 05, 2013 10:46:44
Goldsmith писал(а):Ох и дофигища получилось...
Вт мар 05, 2013 10:49:58
Goldsmith писал(а):Основные навыки, которыми должен владеть специалист в области программной инженерии, весьма четко определены в SWEBOK. IEEE Computer Society - достаточно авторитетная организация, чтобы хотя бы обратить внимание на ее образовательный стандарт, да и участие в его разработке таких фирм, как Boeing, Rational, SAP, Construx Software и других кое-о чем говорит.
Вт мар 05, 2013 11:56:57
Вт мар 05, 2013 18:21:32
(именно такая пропорция вытекает из соотношения "80% аппаратура / 20% код, не так ли?)
Вт мар 05, 2013 23:17:30
Увы, не открывается... Возможно, временные трудности. Не подскажете автора и точное название? Может, у меня уже есть такая, я их давно собираю.
This is a textbook that I have written to support my high school students learning using the AVR for their technology projects. We have 300 students who learn to program the AVR and some do neat things.
The book is no charge, its almost 1000 pages of learning.
It starts with Bascom and does some C and C++
(I am interested in any C++ gurus feedback on what I have written)
The complementary software I have written is also free.
And there are a lot of students projects on my website as well.
Bill
Auckland
New Zealand
http://www.techideas.co.nz
Вт мар 05, 2013 23:43:58
Интересная ситуация - в этом случае возникает соблазн перехватить все ексепшены и погасить их внутри. Как бы наверх ничего показываться не будет, но хорошо ли это ? Не думаю.
// Пространство ClassLogger.
function ClassLogger() {
// Метод getTimeStamp().
this.getTimeStamp = function( date ) {
var Day = date.getDate();
var Month = date.getMonth();
var Year = date.getYear();
var Hour = date.getHours();
var Minutes = date.getMinutes();
var Seconds = date.getSeconds();
return ( ( Day > 9 ) ? Day : "0" + Day ) + "." +
( ( Month > 9 ) ? Month : "0" + Month )+ "." +
Year + " " +
( ( Hour > 9 ) ? Hour : "0" + Hour ) + ":" +
( ( Minutes > 9 ) ? Minutes : "0" + Minutes ) + ":" +
( ( Seconds > 9 ) ? Seconds : "0" + Seconds ) + "." +
date.getMilliseconds();
}
// Метод info().
this.info = function( str ) {
WScript.StdOut.WriteLine( this.getTimeStamp( new Date() ) + " [INFO ]: " + str );
}
// Метод error().
this.error = function( str ) {
WScript.StdOut.WriteLine( this.getTimeStamp( new Date() ) + " [ERROR]: " + str );
}
}
Ср мар 06, 2013 00:07:20
Давайте все же говорить о художниках, которые умеют рисовать. Хотя бы буквы. А то мы как-то все больше о всякой мелочи для дошколят - дребезг, резисторы подтяжки, корпуса... Максимум два дня помотаем, но потом ведь как пить дать выкинут.
Ср мар 06, 2013 08:16:39
То есть, если я правильно понял, основная задача труъ эмбеддера в данном случае - припаять MOSI к MOSI, MISO к MISO ("и смотри не перепутай, Кутузов!" (С)), затем свистнуть программера, дать ему пример в пять строчек из даташита, как с этим интерфейсом работать, и на этом все? И пока тот будет корпеть над кодом, на досуге жаловаться всем вокруг, как тот тупит со своими double'ами и printf'ами, которые бездумно сует куда ни попадя?YS писал(а):Возвращаясь к приведенному Вами примеру, можно пояснить, что мне вряд ли придет в голову браться за написание самой обработки звука, зато я смогу разработать и вывести в производство железо, а также дать программисту-прикладнику HAL API для чтения того же АЦП и вывода в ЦАП, написать каркас, обеспечивающий работу аппаратуры и вызов функций из модуля обработки, написанного программистом.
Эмммм... как бы это помягче выразиться... Я уже читал "Windows для чайников", представляю, что такое "файл" и как с ним работать. И pdf'ы ранее уже читал, честное слово.uni писал(а):Я же специально указал размер pdf - 26 Мб, перед открытием он должен закачаться.
(выделение мое - Goldsmith)uni писал(а):Это мануал, по которому обучает школьников(!) и студентов один товарищ из Новой Зеландии
Ср мар 06, 2013 08:45:40
Ссылка нерабочая, выдает Error 404. Знание, что там лежит (точнее, когда-то лежало) 26 Мб, лишь умножает скорбь, но никак не помогает в деле.
Когда (если вообще когда-нибудь) дорасту до уровня школьника из Новой Зеландии...
как на самом деле сложна проблема дребезга контактов и как сильно программирование микропроцессора в одном ящике с периферией (сиречь микроконтроллера) отличается от программирования другого микропроцессора, засунутого в жестяную коробку побольше и называемого ПК.
Ср мар 06, 2013 10:35:09
Goldsmith писал(а):Когда (если вообще когда-нибудь) дорасту до уровня школьника из Новой Зеландии, возможно, пойму, как на самом деле сложна проблема дребезга контактов и как сильно программирование микропроцессора в одном ящике с периферией (сиречь микроконтроллера) отличается от программирования другого микропроцессора, засунутого в жестяную коробку побольше и называемого ПК. Хотя, учитывая ориентацию на Bascom, возможно, автор действительно прав, а я заблуждаюсь.
Ср мар 06, 2013 14:09:38
Не увидел логической связи. То есть в процессорах с архитектурой 80x86, на которых строятся PC, обработка исключений изначально присутствует, а на МК ее не может быть, потому что не может быть никогда?uni писал(а):Самое банальное отличие - на МК нет соглашений по обработке исключений (ошибок). Это очень, очень большое отличие от программирования на любых больших ПК
Ну как сказать... На Tiny все-таки свет клином не сошелся, есть модели и пожирнее, да и задачи, которые требуют именно таких кристаллов, тоже существуют. Я бы не рискнул утверждать, что отказ от RTOS в тех случаях, когда она уместна, - это очень уж нормально (и разумно). Каждый раз организовывать многопоточность, управление потоками и обмен сообщениями между ними вручную - удовольствие ниже среднего, по крайней мере для меня. А программировать в один поток реактивное приложение - тоже задача на большого любителя. Так что тоже аргумент слабоват.uni писал(а):я уж не говорю про то, что отсутствие ОС - это тоже нормальное явление.
Ср мар 06, 2013 15:15:45
Goldsmith писал(а):Мне эти отличия не представляются столь убедительными, за исключением самых младших моделей МК, где и сама возможность программирования на C под большим вопросом...
Ср мар 06, 2013 16:10:48
Ср мар 06, 2013 16:55:36
try
{
if (!registrator.GetCount())
throw new CLazyException(_T("delete"));
if (strDictionaryID.IsEmpty())
throw new CLazyException(_T("delete"));
}
catch (CException* e)
{
e->GetErrorMessage(m_strError.GetBuffer(MAX_PATH), MAX_PATH);
m_strError.ReleaseBuffer();
e->Delete();
return FALSE; //RESULT_ERROR;
}
//----------
TRY
{
n = cfile.Read(buf,(int)st.m_size);
}
CATCH(CFileException, pEx)
{
cfile.Close();
LOG ("не могу открыть файл base.ini!");
strBuffer.ReleaseBuffer();
return FALSE;
}
END_CATCH
//----------
try
{
ADOX::_CatalogPtr m_pCatalog = NULL;
m_pCatalog.CreateInstance(__uuidof (ADOX::Catalog));
strTest.Format(ConnectData.Defaul_cs,ConnectData.Defaul_path);
m_pCatalog->Create(_bstr_t(strTest));
dbReport->Open(strTest,"admin");
}
catch(CADOException& e)
{
strError=e.GetErrorMessage();
LOG(strError);
}
//----------
Ср мар 06, 2013 19:50:53
То есть, если я правильно понял, основная задача труъ эмбеддера в данном случае - припаять MOSI к MOSI, MISO к MISO ("и смотри не перепутай, Кутузов!" (С)), затем свистнуть программера, дать ему пример в пять строчек из даташита, как с этим интерфейсом работать, и на этом все? И пока тот будет корпеть над кодом, на досуге жаловаться всем вокруг, как тот тупит со своими double'ами и printf'ами, которые бездумно сует куда ни попадя?
Если да, тогда я тоже хочу такую работу, где эти волшебные вакансии?
Ср мар 06, 2013 21:57:58
Наоборот - отвечу на любые вопросы, на какие смогу. Но часто даже спросить ленятся.uni писал(а):Стандарт Си вроде не вчера придумали? Вы что-то от нас скрываете?
Я не могу ответить за Гугл, могу лишь высказать свое предположение.uni писал(а):Так где те проекты на C, который должен выдавать Гугл при запросе об этом подходе? У меня практика критерий и в этом сила
Совершенно верно. Но только я его целенаправленно искал, чтобы решать эту и подобные проблемы, он был мне реально нужен, равно как и прочие перечисленные инструменты. Без них я вообще не взялся за программирования МК, поскольку основная работа у меня на противоположном "полюсе" - разработка распределенных многосерверных систем, а к комфорту быстро привыкаешь, и аскетизм стандартного C сильно напрягает. Оказалось, для эмбеддинга тоже есть все необходимое, нужно только хорошенько поискать (разумеется, не запросом "хочу всего побольше и сразу" в Гугле, это заняло некоторое время.uni писал(а):Очевидно, что я не первый, кто это заметил, иначе бы этот CException и не появился, так ведь?
Вы ведь только что своими собственными глазами увидели обратное - есть, причем именно в общем случае (ANSI C частным решением назвать трудно). Лежит себе-полеживает в интернете, доступный всем желающим безвозмездно, то есть даром. Более корректный ответ на самом деле другой:uni писал(а):На больших ПК есть ресурсы для поддержки работы с исключениями, на МК в общем случае их нет.
Но это скорее субъективная причина. Теперь знаете.uni писал(а):Goldsmith, интересный подход, я такого не знал.
Кто указывает-то? Вроде в нашей беседе таких нравоучений пока еще не проскакивало. И еще немаловажно: откуда конкретно указывают? Если из болота, я вежливо, но твердо откажусь от этого радушного приглашения. Я вряд ли впишусь в тамошнюю экосистему.uni писал(а):Вам правильно указывают спуститься с небес на землю.
Ср мар 06, 2013 22:12:26
Ну само собой, это была лишь шутка. Но в ней, как и в любой другой, лишь некоторая доля шутки, скажем так, любимые нами 80% (а может, даже и 20%).YS писал(а):Ну, во-первых, думаю, Вы в курсе, что разработка и выведение в серию железа реальной системы не заканчивается припаиванием четырех ножек.
Чт мар 07, 2013 04:47:45
Чт мар 07, 2013 09:23:08
ОтноситЬся лучше философски, с учетом того, что ресурсы сети бывают-таки временно недоступны, и в этот момент даже Тим Бернерс-Ли вряд ли что-нибудь скачает, да и ссылка на тот момент была единственной. Сегодня файл доступен, проверил из спортивного интереса (мало ли, а вдруг и правда разучился?). Другое дело, что теперь я доподлинно знаю, что там находится, и необходимость в скачивании отпала.uni писал(а):Мда, столько мудрствований, а простой pdf по двум разным ссылкам скачать не можете. И как после этого ко всему этому написанному относится? Может начнёте с простого - скачивания файлов из сети?
"Может, начнете с простого (C)" - к примеру, скачаете (Вы ведь умеете, не так ли?) и прочтете документацию, которую разработчики предоставляют вместе с продуктом?uni писал(а):Потом, к примеру, расскажите о минусах этого подхода с CException. Можно ли этот блок использовать в ISR? Да, нет, почему?
Скорее всего, необходимость в импровизированной лекции тут же отпадет.When you download the package, you also get some docs and some tests that we have used to verify that everything is working peachy.
Чт мар 07, 2013 19:28:00
идеальное соотношение для эмбеддера должно быть иным: 100% схемотехники / 100% программирования.