Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Микроконтроллеры, робототехника, схемотехника, 3D принтеры
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2011, 23:15   #11
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

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

Последний раз редактировалось Tronix; 02.12.2011 в 23:21.
Tronix вне форума Ответить с цитированием
Старый 03.12.2011, 00:49   #12
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

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

Последний раз редактировалось Levsha100; 03.12.2011 в 00:52.
Levsha100 вне форума Ответить с цитированием
Старый 03.12.2011, 04:01   #13
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

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

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

Там совсем другая логика в программировании...и синтаксис другой.....и для меня слова ассемблер и JK-триггер прямо таки как острый нож в серце.... Вы посмотрите в Интернете пример программы светофора или сигнализации на входную дверь и попробуйте его осилить в собственной интрепретации для какого-нибудь ATmega 128 на ассемблер симуляторе.....Я думаю, Вы поймете, что это не так легко и просто, как Вам кажется..... А светофор и сигнализация это так, фантики, детские игрушки по сравнению с тем, что придется писать в универе на подобной специальности. Ассемблер он вообще очень специфичный.... его надо спинным мозгом чувствовать.
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan

Последний раз редактировалось Blondy; 03.12.2011 в 04:03.
Blondy вне форума Ответить с цитированием
Старый 03.12.2011, 10:14   #14
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Не вижу ничего сложного. Вот код программы которую я писал для КМ1816ВЕ48:
Код:
;++++++++++++++++++++++++++++++++++++++++++++++++;
;+++++ BLOCK THAT MAKES A CHECK-MATE TEST  ++++++;
;++++++++++++++++++++++++++++++++++++++++++++++++;
;
CHTEST: MOV     R0,#3H  ; MASK    REGISTER........
        CLR     A       ;
        MOVX    @R0,A   ; DISABLE     ALLL.......!
        EN      I       ;
        MOV     R0,#2H  ; CONTROL REGISTER........
        MOV     A,#5CH  ; TURN ON THE "PF"-MOTOR !
        MOVX    @R0,A   ; TURN O-O-O-O-ON  !!!!!!!
;=======================;------------------------;
        CALL    DELAY   ; WAIT 10 sec.
;=======================;------------------------;
        MOV     R1,#LOWCN
        MOV     @R1,#195; PUT 255 EMPTY  SPACES .;
        INC     R1      ;
        MOV     @R1,#00 ;
        ;---------------;
        MOV     A,#44H  ; ENABLE SYNCHROLINE OUTPUT,
        MOVX    @R0,A   ; & RIBBON MOVING.
        ;---------------;
        CALL    DELLAY  ; WAIT FOR 5 sec.
        ;---------------;
        MOV     R1,#CHNSYM
        MOV     @R1,#55H; CODE FOR CHECK-MATE TEST.
        MOV     R1,#LOWCN
        MOV     @R1,#00 ;
        INC     R1      ;
        MOV     @R1,#01 ; 1024 C.- M. SYMBOLS --> TO RIB.
        MOV     A,#40H  ; + ENABLE DATA OUTPUT !
        MOVX    @R0,A   ;
        ;...............;
        CALL    PERFO   ;
        ;...............;
        MOV     R1,#LOWCN
        MOV     @R1,#195;
        INC     R1      ;
        MOV     @R1,#00 ;
        MOV     A,#44H  ;
        MOVX    @R0,A   ;
        ;...............;
        CALL    DELLAY  ;
        ;===============;
        MOV     R0,#2H  ; CONTROL REGISTER.
        MOV     A,#7CH  ; TURN OFF THE MOTOR & OTHERS...
        MOVX    @R0,A   ;
        DIS     I       ;
        JMP     NEWCOM  ; O.K.! NEXT COMMAND !!! .......
;=======================;
;=======END-OF-BLOCK====;
;=======================;
;
;-------P-E-R-F-O-------;
;--S-U-B-R-O-U-T-I-N-E--;-------->
;-------S-U-P-E-R-------;
;
PERFO:  MOV     R1,#FLAGPF
        CLR     A       ;
        MOV     @R1,A   ; DOWN PF FLAG.
TSTLOP: MOV     R1,#CHNSYM
        MOV     A,@R1   ;
        CPL     A       ;
        MOV     @R1,A   ;
        ;---------------;
        MOV     FLAG,#00; DOWN  THE   INTERRUPT   FLAG.
        MOV     A,#04   ; MASK OF THE PF     READINESS.
        MOV     R1,#MASK; VAR. THAT KEEPS CURRENT MASK.
        MOV     @R1,A   ; KEEP IT !!!!!!
        MOV     R1,#3   ; MASK REGISTER.
        MOVX    @R1,A   ; UNMASK THE BIT "PF IS READY".
        ;...............;
WAITRD: MOV     A,FLAG  ;
        ANL     A,#04H  ;
        JZ      WAITRD  ;
        ;...............;
        MOV     R1,#LOWCN
        MOV     A,@R1   ; DECREMENT OF THE COUNTER.....
        ADD     A,#0FFH ;
        MOV     @R1,A   ;
        INC     R1      ;
        MOV     A,@R1   ;
        ADDC    A,#0FFH ;
        MOV     @R1,A   ;
        DEC     R1      ;
        ORL     A,@R1   ; ENOUGH ???
        JNZ     TSTLOP  ;
        ;...............;
        MOV     R1,#CHNSYM
        MOV     @R1,#1aH;
LSD:    MOV     Flag,#0 ;
        MOV     Flag,#0 ;
        NOP             ;
        ;---------------;
LAST_1A:MOV     A,Flag  ;
        ANL     A,#4    ;
        JZ      LAST_1A ;
        ;---------------;
        MOV     R1,#FLAGPF
        MOV     A,@R1   ;
        JZ      DO_LAST ;
        MOV     R1,#1   ;
        MOV     A,#0FFH ;
        MOVX    @R1,A   ;
        RET             ;
        ;...............;
DO_LAST:MOV     @R1,#0FFH
        MOV     R1,#CHNSYM
        MOV     @R1,#0  ;
        JMP     LSD     ;
;***********************;
--------------------;
;-------D-E-L-A-Y-------;
;----WAITS FOR 10 SEC---;
;-----------------------
        MOV     @R1,#87H;
        INC     R1      ;
        MOV     @R1,#01 ; 782 = 030EH
DELLAY: MOV     A,#060H ; 10 SEC = A0H (IN [A]) + 390*256 (IN COUNTER).
        MOV     T,A     ; LOAD THE TIMER
;-------------------->
        MOV     R1,#FLAGT;
        MOV     @R1,#255; THIS FLAG GETS 0-VALUE WHEN TIME-OUT IS OVER.
        STRT    T;
        EN      TCNTI   ;
        ;---------------;
AGAIN:  MOV     A,@R1   ; TEST THE TIME-OUT FLAG ;
        JNZ     AGAIN   ;
        ;...............;
        STOP    TCNT    ; "... THE SONG IS OVER" ;
        DIS     TCNTI   ; NOW YOU CAN WORK WITH PERFORATOR===-->
        RET             ;
;=======================;
;
Ну и чё тут сложного? Правда, что-бы понять что этот код делает, нужно знать принципиальную схему устройства. Т.е. нужно быть не только программистоми, но и электронщиком. И знать внутреннюю структуру микропроцессора (программную).
Цитата:
Сообщение от Blondy Посмотреть сообщение
Ассемблер он вообще очень специфичный.... его надо спинным мозгом чувствовать.
Блонди +++
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 03.12.2011 в 10:22.
Smitt&Wesson вне форума Ответить с цитированием
Старый 03.12.2011, 10:40   #15
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Blondy Посмотреть сообщение
Это профессия будущего. Прекрасные перспективы и практически нулевая конкуренция, так как таких специалистов (действительно спецов ) очень не хватает, поэтому я даже не удивлюсь, если зарплата программиста для икропроцессоров и контроллеров будет выше, чем у программиста в другой распространенной области.
Действительно спецов и в бухгалтерии не хватает. На рынке труда ушлёпки сейчас преобладают в любой области.
Цитата:
Сообщение от Blondy Посмотреть сообщение
Там совсем другая логика в программировании...и синтаксис другой.....и для меня слова ассемблер и JK-триггер прямо таки как острый нож в серце....
Основы те же. Синтаксис - он и на Си сейчас пишется, а не только на родном для устройства асма. Также есть всякие isagraf с кучей вариантов разработки (вплоть до графического). Микроконтроллеры то они разные и средства разработки под них отличаются.
Цитата:
Сообщение от Blondy Посмотреть сообщение
Вы посмотрите в Интернете пример программы светофора или сигнализации на входную дверь и попробуйте его осилить в собственной интрепретации для какого-нибудь ATmega 128 на ассемблер симуляторе.....Я думаю, Вы поймете, что это не так легко и просто, как Вам кажется..... А светофор и сигнализация это так, фантики, детские игрушки по сравнению с тем, что придется писать в универе на подобной специальности.
Новые лифты нам недавно поставили и их, видимо двоечник программировал. Так коряво они работают... То оба стоят, то один ездит всех по этажам собирает, а другой отдыхает на 16 этаже, потом подумает и уже оба лифта наперегонки вниз едут.
Цитата:
Сообщение от Blondy Посмотреть сообщение
Ассемблер он вообще очень специфичный.... его надо спинным мозгом чувствовать.
Железо развивается, дешевеет и асм с каждым годом требуется всё меньше и меньше. Под мощные чипы можно даже на шарпе писать посредством .Net Micro Framework.
Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Они просто не взаимосвязаны. У каждого свой, не зависимый от другого, контроллер. Двоечники их устанавливали, а не разрабатывали. Просто не захотели париться со связкой в единую систему.
Ну, не знаю... кнопка вызова одна на два лифта, значит что-то распределяет задания между ними, значит таки есть что-то их связывающее

Последний раз редактировалось pu4koff; 03.12.2011 в 11:40.
pu4koff вне форума Ответить с цитированием
Старый 03.12.2011, 10:53   #16
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Новые лифты нам недавно поставили и их, видимо двоечник программировал. Так коряво они работают... То оба стоят, то один ездит всех по этажам собирает, а другой отдыхает на 16 этаже, потом подумает и уже оба лифта наперегонки вниз едут.
Они просто не взаимосвязаны. У каждого свой, не зависимый от другого, контроллер. Двоечники их устанавливали, а не разрабатывали. Просто не захотели париться со связкой в единую систему.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 03.12.2011, 11:04   #17
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

инженер-программист )
p51x вне форума Ответить с цитированием
Старый 03.12.2011, 13:27   #18
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

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

Опять таки все будет зависить от того, кто будет преподавать и как преподавать. Но попробовать безусловно надо заранее, чтобы почувствовать что это такое. И мне кажется пробовать надо пока на симуляторе, без железа - по крайней мере можно будет выбирать порты без привязки к реальности.....светофор вместе с железом меня просто убил наповал. И мне эот park-tronic потом долго снился в кошмарах.
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Blondy вне форума Ответить с цитированием
Старый 03.12.2011, 13:35   #19
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Blondy Посмотреть сообщение
светофор вместе с железом меня просто убил наповал. И мне эот park-tronic потом долго снился в кошмарах.
А что. Притащили бы светофор в комнату. Поставили в уголок. И пусть себе мигает
И детишкам польза. Пусть ПДД изучают.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 04.12.2011, 20:39   #20
WebbMan
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 168
По умолчанию

Цитата:
Хотите изучать программирование для микроконтроллеров? Тогда вам нужно изучать что-нибудь про АСУ ТП.
И еще почитайте вот это и вот это. Для начала, самое то.
не надо постить тупость, твой ответ умник совсем не по теме...
WebbMan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование как профессия Zhen'k@ Свободное общение 7 14.09.2011 21:28
программирование микроконтроллеров alex(21) Свободное общение 5 30.11.2010 18:39
программирование микроконтроллеров фамил Свободное общение 9 30.10.2010 16:02
Программирование микроконтроллеров - пакет начинающего Ivan_32 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 27.08.2009 16:37