22.04.2013, 10:09
|
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от tempora
|
... лучше прочитать, как свои языки отрекомендовали их авторы, там очень хорошо эта разница заметна...
|
+1
Собственно Pascal объявлен как язык более высокого уровня. Это предполагает более жёсткий контроль типов, выходы за границы массива ну и так далее. Таким образом с железом работать на нём несколько сложнее.
Я начинал с F-IV, потом PL/I, F-77, Pascal, C. Мне С больше всего нравится. Лаконичный в записи, нет контроля, что даёт некоторые преимущества, битовые структуры, удобнее и нагляднее работа с указателями, стройнее работа со строками, проще и прозрачнее циклы и структура локальных/ глобальных переменных, проще и прозрачнее работа с процедурами, стройная структура проектов.
Из недостатков я бы отметил какой-то некрасивый ввод/вывод, ну и переход к C++, по сравнению с Pascal-›Delfi(object) тоже не очень красивый.
Понятно, что всё это личное восприятие. Но перечисленное уже говорит о том, что для МК Си имеет преимущества. История это подтвердила.
|
|
|
|
22.04.2013, 11:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от SasaVitebsk
|
Из недостатков я бы отметил какой-то некрасивый ввод/вывод,...
|
В языке Си нет ввода/вывода - он реализован библиотекой. Не нравится - используем другую библиотеку и всех делов.
__________________
There's always more than one way to skin a cat.
|
|
|
|
22.04.2013, 12:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,529
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Каждый пользует тот инструмент, какой больше нравиться. Или проще и удобнее. Я много лет писал на Дельфи, еще с первых версий. Пробовал Билдер - не пошло... Паскаль меня всегда радовал именно своей жесткостью. Проще ошибки искать
И как удобно и приятно работать со строками... Но после того, как Борланд продался - непривычно, некомфортно стало. Закрутился с МК - все... Нужен С. И теперь под винду - C#. Но как же он, падла, потокобезопасностью достает... На каждый чих делегата писать... А вот когда небольшая программка на VBA под офис начинает катастрофически разрастаться - перехожу на VB.NET Мне же проще кусок кода выдрать и чуток подправить. Последние пара программок немного разрослись... Почти 8000 строк каждая... Но бесит, что нельзя написать i++ и не надо точку с запятой в конце строки ставить. Хочу C for Applications.
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
|
|
|
|
22.04.2013, 13:48
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
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 ...
__________________
Осторожно , злой кот
|
|
|
|
22.04.2013, 14:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от dosikus
|
В чем тайный смысл ?
|
А в чём заключается "тайность" смысла? На первый взгляд, всё явно... Или смущает отсуствие хотя бы второго члена в union'е?
А хэ-цэ-8 - это кто? MPLAB?
__________________
There's always more than one way to skin a cat.
Последний раз редактировалось tempora; 22.04.2013 в 14:40.
|
|
|
|
22.04.2013, 14:47
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от tempora
|
Или смущает отсуствие хотя бы второго члена в union'е?
А хэ-цэ-8 - это кто? MPLAB?
|
Угу , и на первое и на второе... Только MPLAB X
__________________
Осторожно , злой кот
|
|
|
|
22.04.2013, 14:53
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Ну, по такому маленькому кусочку фиг поймёшь... Может - это они для единообразия так написали, может - очепятка, а может это такой регистр хитрый, с которым только побитно можно работать.
Надо бы еще посмотреть - не используется ли PORTCbits_t, как элемент ещё одного объединения, оборачивающего всё это хозяйство ещё одним ненужным слоем.
_________________________
А с "оптимальным стартом" это как соотносится - готовишь сюрприз?
__________________
There's always more than one way to skin a cat.
|
|
|
|
22.04.2013, 15:02
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от tempora
|
Ну, по такому маленькому кусочку фиг поймёшь... Может - это они для единообразия так написали, может - очепятка, а может это такой регистр хитрый, с которым только побитно можно работать.
Надо бы еще посмотреть - не используется ли PORTCbits_t, как элемент ещё одного объединения, оборачивающего всё это хозяйство ещё одним ненужным слоем.
|
Да все просмотрел , больше не встречается .
Думается ляп, копипаст ...
Цитата:
|
_________________________
А с "оптимальным стартом" это как соотносится - готовишь сюрприз?
|
Да ну , просто новички сразу утыкаются - почему именно так писано?
__________________
Осторожно , злой кот
|
|
|
|
22.04.2013, 15:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от dosikus
|
Думается ляп, копипаст
|
Да, пожалуй, другого разумного объяснения не видно...
____________________________________
А может это они с большого бодуна писали, иначе зачем это? :
"unsigned RC :8;"
__________________
There's always more than one way to skin a cat.
Последний раз редактировалось tempora; 22.04.2013 в 15:25.
|
|
|
|
22.04.2013, 17:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Не уверен, что правильно понял вопрос. Но этот тип данных используется при организации битового доступа.
Типа так:
Или так:
Код:
|
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
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:25.
|
|