Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


Ответ
Опции темы

Оптимальный старт в программировании МК на С

Непрочитано 22.04.2013, 10:09   #221
SasaVitebsk
Гражданин KAZUS.RUN
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от tempora Посмотреть сообщение
... лучше прочитать, как свои языки отрекомендовали их авторы, там очень хорошо эта разница заметна...
+1
Собственно Pascal объявлен как язык более высокого уровня. Это предполагает более жёсткий контроль типов, выходы за границы массива ну и так далее. Таким образом с железом работать на нём несколько сложнее.

Я начинал с F-IV, потом PL/I, F-77, Pascal, C. Мне С больше всего нравится. Лаконичный в записи, нет контроля, что даёт некоторые преимущества, битовые структуры, удобнее и нагляднее работа с указателями, стройнее работа со строками, проще и прозрачнее циклы и структура локальных/ глобальных переменных, проще и прозрачнее работа с процедурами, стройная структура проектов.
Из недостатков я бы отметил какой-то некрасивый ввод/вывод, ну и переход к C++, по сравнению с Pascal-›Delfi(object) тоже не очень красивый.

Понятно, что всё это личное восприятие. Но перечисленное уже говорит о том, что для МК Си имеет преимущества. История это подтвердила.
Реклама:
SasaVitebsk вне форума   Ответить с цитированием
Непрочитано 22.04.2013, 11:31   #222
tempora
Почётный гражданин KAZUS.RUN
 
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от SasaVitebsk Посмотреть сообщение
Из недостатков я бы отметил какой-то некрасивый ввод/вывод,...
В языке Си нет ввода/вывода - он реализован библиотекой. Не нравится - используем другую библиотеку и всех делов.
__________________
There's always more than one way to skin a cat.
tempora вне форума   Ответить с цитированием
Непрочитано 22.04.2013, 12:43   #223
DK
Почётный гражданин KAZUS.RUN
 
Аватар для DK
 
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,480
Сказал спасибо: 734
Сказали Спасибо 1,899 раз(а) в 777 сообщении(ях)
DK на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Каждый пользует тот инструмент, какой больше нравиться. Или проще и удобнее. Я много лет писал на Дельфи, еще с первых версий. Пробовал Билдер - не пошло... Паскаль меня всегда радовал именно своей жесткостью. Проще ошибки искать
И как удобно и приятно работать со строками... Но после того, как Борланд продался - непривычно, некомфортно стало. Закрутился с МК - все... Нужен С. И теперь под винду - C#. Но как же он, падла, потокобезопасностью достает... На каждый чих делегата писать... А вот когда небольшая программка на VBA под офис начинает катастрофически разрастаться - перехожу на VB.NET Мне же проще кусок кода выдрать и чуток подправить. Последние пара программок немного разрослись... Почти 8000 строк каждая... Но бесит, что нельзя написать i++ и не надо точку с запятой в конце строки ставить. Хочу C for Applications.
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
DK вне форума   Ответить с цитированием
Непрочитано 22.04.2013, 13:48   #224
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Отвлеку от холливара.

В чем тайный смысл ? -

Код:
// bitfield definitions
typedef union {
    struct {
        unsigned RC0                    :1;
        unsigned RC1                    :1;
        unsigned RC2                    :1;
        unsigned RC3                    :1;
        unsigned RC4                    :1;
        unsigned RC5                    :1;
        unsigned RC6                    :1;
        unsigned RC7                    :1;
    };
} PORTCbits_t;
extern volatile PORTCbits_t PORTCbits @ 0x007;
Хэдер от XC8 ...
__________________
Осторожно , злой кот
dosikus вне форума   Ответить с цитированием
Непрочитано 22.04.2013, 14:30   #225
tempora
Почётный гражданин KAZUS.RUN
 
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от dosikus Посмотреть сообщение
В чем тайный смысл ?
А в чём заключается "тайность" смысла? На первый взгляд, всё явно... Или смущает отсуствие хотя бы второго члена в union'е?

А хэ-цэ-8 - это кто? MPLAB?
__________________
There's always more than one way to skin a cat.

Последний раз редактировалось tempora; 22.04.2013 в 14:40.
tempora вне форума   Ответить с цитированием
Непрочитано 22.04.2013, 14:47   #226
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от tempora Посмотреть сообщение
Или смущает отсуствие хотя бы второго члена в union'е?
А хэ-цэ-8 - это кто? MPLAB?
Угу , и на первое и на второе... Только MPLABX
__________________
Осторожно , злой кот
dosikus вне форума   Ответить с цитированием
Непрочитано 22.04.2013, 14:53   #227
tempora
Почётный гражданин KAZUS.RUN
 
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

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

_________________________
А с "оптимальным стартом" это как соотносится - готовишь сюрприз?
__________________
There's always more than one way to skin a cat.
tempora вне форума   Ответить с цитированием
Непрочитано 22.04.2013, 15:02   #228
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

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

Цитата:
_________________________
А с "оптимальным стартом" это как соотносится - готовишь сюрприз?
Да ну , просто новички сразу утыкаются - почему именно так писано?
__________________
Осторожно , злой кот
dosikus вне форума   Ответить с цитированием
Непрочитано 22.04.2013, 15:09   #229
tempora
Почётный гражданин KAZUS.RUN
 
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от dosikus Посмотреть сообщение
Думается ляп, копипаст
Да, пожалуй, другого разумного объяснения не видно...
____________________________________
А может это они с большого бодуна писали, иначе зачем это? :

"unsigned RC :8;"
__________________
There's always more than one way to skin a cat.

Последний раз редактировалось tempora; 22.04.2013 в 15:25.
tempora вне форума   Ответить с цитированием
Непрочитано 22.04.2013, 17:20   #230
ut1wpr
Почётный гражданин KAZUS.RUN
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Не уверен, что правильно понял вопрос. Но этот тип данных используется при организации битового доступа.
Типа так:
Код:
PORTCbits.RC3
Или так:
Код:
    EECON1bits.EEPGD= 0; // 0 = Access data EEPROM memory
    EECON1bits.CFGS = 0; // 0 = Access Flash program or DATA EEPROM memory
    EECON1bits.WREN = 1; // enable writes to internal EEPROM
Предварительно создав тип данных EECON1bits_t, в котором каждый элемент структуры имеет то имя, которое фигурирует в описании битового поля данного регистра в доке производителя.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума   Ответить с цитированием
Ответ


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимальный лазерник для ЛУТ Kabron Делимся опытом 187 31.05.2016 10:51
Оптимальный привод тележки весом 200кг d-f-m Производственное оборудование 18 12.07.2010 00:29
[Решено] Оптимальный коттеджный домофон LAVR12 Автоматика и аппаратура связи 0 22.04.2010 20:17
О программировании AVR на C++ neiver Микроконтроллеры, АЦП, память и т.д 55 24.03.2010 19:33
Оптимальный ламинатор для ЛУТ snakesoft Делимся опытом 7 13.01.2010 22:41


Часовой пояс GMT +4, время: 16:42.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.