Есть ли компиляторы, "заточенные" для работы с AVR на паскале?
Или вообще любой компилятор для МК на паскале?
Привычнее он как-то...
Думаю, с этим поможет гугл и торренты.где скачать можно?
http://we.easyelectronics.ru/AVR/mikrop ... azyka.htmlа порты/прерывания/регистры?
Вы таки не поверите - полностью понимаю.Ну, к паскалю я просто привык.
Изменится, если уйдете дальше мигалок и бегущих огней.Не отрицаю, возможно мое мнение изменится в вопросе языка для МК
Для прикладного программирования, на самом деле, пофиг на чем писать. И возможно Delphi для ПК даже удобнее.Сейчас активно пишу на Delphi...
Код: Выделить всё
var
х : Real;
у : array[1..3] of Integer absolute x;
begin
х := pi;
WriteLn(y[1]);
end.
Код: Выделить всё
#include <stdio.h>
#include <math.h>
float x;
void main(void)
{
x=M_PI;
printf("%i",((int*)(&x))[0]);
}
До тех пор, пока не лезете к железу, ее и не будет.Разницы между си и паскалем особой не чувствую.
Ну не, на PC Паскаль вполне конкурирует с Си. На нем даже GUI Скайпа написан, есличо.Да и другие языки- компиляторы часто считаются детскими, разрабатываются и ведуться побочной линией и сопровождаются не очень серьезно.
Да? А я думал на Qt...YS писал(а): Ну не, на PC Паскаль вполне конкурирует с Си. На нем даже GUI Скайпа написан, есличо.
http://www.ginktage.com/2010/08/skype-a ... th-delphi/Да? А я думал на Qt...
Ну, для таких целей МК мне не нужен.Изменится, если уйдете дальше мигалок и бегущих огней.
На паскале есть аналогичная функция, правда, не приходилось ей пользоваться, ни разу не возникала потребность. Кстати, она в синтаксисе попроще немного... Насчет наличия её в оригинальном паскале не уверен, но во всех ООП версиях языка она есть.printf("%i",((int*)(&x))[0]);
Это с какой стороны посмотретьYS писал(а): Но для эмбеда Паскаль подходит плохо. Он слишком академичен (разрабатывался-то изначально для обучения), и потому многое из того, что на С делается естесственно, на нем необходимо делать с костылями.
Не, я не про функцию. Я про вот такой доступ:На паскале есть аналогичная функция
Код: Выделить всё
float x;
int y;
...
y=((int*)(&x))[0];
...
Даже MISRA C не особо ограничивает программера. Си по своей природе гораздо свободнее.Ну и теперь для критичных применений классический вольный Си не применяют. Городят всякие спецификации типа MISRA C
Эм... Как бы сказать. Я понятия не имею, что делает эта конструкция на СиНе, я не про функцию. Я про вот такой доступ:
У раздолбаев такое распространено не только в эмбеддидеYS писал(а): Причем задачи с подобным доступом достаточно распространены в эмбеде.
Даже мне как заядлому сишнику страшно на это смотреть )))))))))))))YS писал(а): y=((int*)(&x))[0];
Я бы сказал, это очень удобно для леньтяев и раздолбаев (и сам так порой делаю. взгляните правде в лицо), которым лениво/не умеют изящно описывать типы, структуры данных.BCluster писал(а): На самом деле касты и мощная работа с указателями это очень важно для эмбеда.