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

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

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

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

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

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


 
Опции темы
Непрочитано 22.04.2013, 10:09  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 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  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

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

Каждый пользует тот инструмент, какой больше нравиться. Или проще и удобнее. Я много лет писал на Дельфи, еще с первых версий. Пробовал Билдер - не пошло... Паскаль меня всегда радовал именно своей жесткостью. Проще ошибки искать
И как удобно и приятно работать со строками... Но после того, как Борланд продался - непривычно, некомфортно стало. Закрутился с МК - все... Нужен С. И теперь под винду - C#. Но как же он, падла, потокобезопасностью достает... На каждый чих делегата писать... А вот когда небольшая программка на VBA под офис начинает катастрофически разрастаться - перехожу на VB.NET Мне же проще кусок кода выдрать и чуток подправить. Последние пара программок немного разрослись... Почти 8000 строк каждая... Но бесит, что нельзя написать i++ и не надо точку с запятой в конце строки ставить. Хочу C for Applications.
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
DK вне форума  
Непрочитано 22.04.2013, 13:48  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
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  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 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  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

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

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

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

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

Цитата:
_________________________
А с "оптимальным стартом" это как соотносится - готовишь сюрприз?
Да ну , просто новички сразу утыкаются - почему именно так писано?
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 22.04.2013, 15:09  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 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  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 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, время: 07:25.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot