реклама на сайте
подробности

 
 
35 страниц V  « < 31 32 33 34 35 >  
Reply to this topicStart new topic
> Pascal для AVR
zhevak
сообщение Dec 17 2008, 11:09
Сообщение #481


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(Огурцов @ Dec 17 2008, 14:40) *
Вот-вот, если одним пальцем, то разницы и нет что begin, что скобки. А вот если набираете десятью, то шифты со скобками - это как булыжник на скоростной трассе.

похоже на то, что Вы не подумали, что сказали, ибо
1. Скобки набираются за одно нажати Шифта { }, потом делается "шаг назад" клавишей курсора, и заполняется содержимое скобок без задних мыслей, что количество открывающихся скобок не будет равно количеству закрывающихся. Вы _сосредотачиваетесь_ на бизнес-процессе, а не на соблюдении правил языка.
2. А как Вы сам черз такие булыжники ездишь(-те), как $ @ ^ ( ). А как Вы преодалеваете ситуацию, когда нужно вставить комментарии на русском?

Ну ей Богу, детский лепет! И я на него реагирую.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
ReAl
сообщение Dec 17 2008, 11:11
Сообщение #482


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



upd: avr-gcc 3.3.0 (WinAVR-20021209 - больше шести лет) тоже успешно скушал именованные аргументы асм-вставок.
Лень по логам рыться - начиная с какой версии GCC это работает.
Я это не использую (во вставках на десяток команд на три-четрые аргумента без этого можно обойтись), поэтому тяжело вспомнить - это было с avr-gcc 3.0 или уже было в 2.95, с которого я начинал.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Legotron
сообщение Dec 17 2008, 12:10
Сообщение #483


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Цитата(Demeny @ Dec 17 2008, 13:21) *
Добавьте в начало программы всего две строчки
Код
#define begin {
#define end }

и Ваш любимый С-компилятор начнёт собирать и паскалевские исходники.
yeah.gif

Изврат..
Нифига он не начнет, ибо есть еще море различий..
А вот когда так делают в С-программах, которые предназначены для чтения не только для одного себя любимого это сильно бесит smile.gif
ИМХО Чем меньше дефайнов, которые не жизненно важны тем лучше!
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 17 2008, 12:11
Сообщение #484


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(_Pasha @ Dec 17 2008, 15:28) *
Цитата

и Ваш любимый С-компилятор начнёт собирать и паскалевские исходники.

Очень умнО ! crying.gif Если приходим к такому выводу на 10^6 посте темы, то это действительно диалог слепо-глухонемых.

Не-не, совсем не туда!
Скорее всего Demeny имел ввиду, что если уж так сильно программера колбасит набирать фигурные скобки, то он может сделать замену скобок на begin-end указанным способом. При этом надо себе отдавать отчет, что получится падонкаффский стиль, который на практике никто не будет использовать. Вас просто пошлют лесом с таким стилем, и правильно сделают -- кесарю-кесарево, Паскалю-Паскалево.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 17 2008, 13:00
Сообщение #485


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SasaVitebsk @ Dec 17 2008, 12:49) *
Если вас не затруднит, пришлите проект, который у вас падает. Я бога ради не собираюсь вас поучать/ поправлять/ или что-то там аналогичное. Это чисто для себя. Мне просто любопытно. У меня действительно ничего не падает.

Ставите эту приблуду и запихиваете в нее присланное Огурцовым. Единственное отступление я ее ставил не в Program Files.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Dec 17 2008, 20:43
Сообщение #486


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Rst7 @ Dec 17 2008, 13:50) *
Это, видать, камень в мой огород (я тут страниц 10 назад жаловался)? Ну так можете мои посты почитать, у меня всегда сначала поиск граблей у себя, потом еще раз у себя, и еще раз у себя, а потом уже у других. Так что можете довериться мне в этом вопросе smile.gif

Да не в ваш. И не хочу я никого обидеть.
уже доверился вам. smile.gif

При крупном проекте придётся VC пользоваться наверное. Но там такой пакет нехилый.
Я уже устал что-то новое изучать непрерывно. Так влом. Хочется заниматься своим делом, а не изучением разных пакетов. smile.gif

Порой бывает хорошо, когда нет выбора. smile.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 17 2008, 21:20
Сообщение #487


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Ну вы, блин, даете. Пытаетесь убедить меня, что вот эта пурга:
Цитата(ReAl @ Dec 17 2008, 10:32) *
"lsl %[_b]": [_b] "+r" (Test_byte));[/code]

читается лучше, чем вот это ?:
ld r16, Test_byte

Хотя спасибо таки скажу, теперь можно? будет писать так:
lsl %[_Test_byte] : [_Test_byte] +r Test_byte lol.gif


Цитата(zhevak @ Dec 17 2008, 11:09) *
похоже на то, что Вы не подумали, что сказали, ибо
1. Скобки набираются за одно нажати Шифта { }

Похоже на то, что Вы не подумали, ибо begin end; набираются так же. И даже курсор не нужно назад "двигать".

Цитата(zhevak @ Dec 17 2008, 11:09) *
2. А как Вы сам черз такие булыжники ездишь

Притормаживаю на кочках точках.


Цитата(Legotron @ Dec 17 2008, 12:10) *
Нифига он не начнет, ибо есть еще море различий..

В общем-то чел не так далек от истины, как может показаться на первый взгляд.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 17 2008, 21:50
Сообщение #488


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Огурцов @ Dec 18 2008, 00:20) *
читается лучше, чем вот это ?:

Позволяет компилятору работать лучше с такими вставками, но похоже Вам это не дано понять sad.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ReAl
сообщение Dec 17 2008, 21:52
Сообщение #489


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Огурцов @ Dec 17 2008, 23:20) *
Ну вы, блин, даете. Пытаетесь убедить меня, что вот эта пурга:

читается лучше, чем вот это ?:
ld r16, Test_byte

Хотя спасибо таки скажу, теперь можно? будет писать так:
lsl %[_Test_byte] : [_Test_byte] +r Test_byte lol.gif
А оно и делает больше, чем ld r16, Test_byte
Более того, если Test_byte вдруг окажется автоматической переменной, то будет ldd r16, Y+что_надо/lsl r16/std Y+что_надо, r16 и т.п.
Тупую работу сделает компилятор.
Код
unsigned char lsl(unsigned char data)
{
    asm("lsl %[_b]": [_b] "+r"(data));
    return data;
}

unsigned char arr[256];

void moo(unsigned char index)
{
    asm("lsl %[_b]": [_b] "+r"(arr[index]));
}

struct sss {
    unsigned char a, b;
};

void foo(struct sss *ps)
{
    asm("lsl %[_b]": [_b] "+r"(ps->b));
}



Код
lsl:
/* #APP */
    lsl r24
/* #NOAPP */
    ldi r25,lo8(0)
    ret

moo:
    ldi r30,lo8(arr)
    ldi r31,hi8(arr)
    add r30,r24
    adc r31,__zero_reg__
    ld r24,Z
/* #APP */
    lsl r24
/* #NOAPP */
    st Z,r24
    ret

foo:
    movw r30,r24
    ldd r24,Z+1
/* #APP */
    lsl r24
/* #NOAPP */
    std Z+1,r24
    ret


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 17 2008, 21:57
Сообщение #490


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(SasaVitebsk @ Dec 18 2008, 01:43) *
Я уже устал что-то новое изучать непрерывно. Так влом. Хочется заниматься своим делом, а не изучением разных пакетов. smile.gif

У меня те же проблемы. Я просто иногда упадаю в депрессию, когда в очередной раз происходит "расщепление" технологии. И уже вроде как надо отслеживать и ту, и другую веточку распавшейся технологии, но на все времени всегда нехватает...

Сейчас Мелкософт начала поднимать линейку продуктов WPF, LINQ и что-то там еще. Я просто одуреваю, от скорости их развития. По WPF еще пытаюсь удержаться на плаву, прикупил пару книжечек (одну от Петзольда, другую от Мак-Дональда) по вечерам почитываю. Иногда. А вот забить на SilverLight и LINQ пришлось. (Немного не в тему. Год назад я набрался наглости и типа поздравил Ч.Петзольда с Миэри-Кристмас. Написан ему благодарственную оду, типа ты молоток, ты много сделал для нас -- программеров, и не смотря на свой возраст еще что-то там пытаешься творить. Респект и уэлкэм тебе, ну и т.п. Гы-ы! Чувак оказался абсолютно без комплексов. К моему удивлению прислал ответ smile.gif Так, к чему это я? А к тому, что он тоже жалуется, что ни хрена не успевает за развитием технологий.


to Огурцов
Цитата
(zhevak @ Dec 17 2008, 11:09)
похоже на то, что Вы не подумали, что сказали, ибо
1. Скобки набираются за одно нажати Шифта { }

Похоже на то, что Вы не подумали, ибо begin end; набираются так же. И даже курсор не нужно назад "двигать".

Дак как так-же? Как это не надо двигать курсор назад?

Я ведь так понимаю, что набрав слово end, чтобы попасть обратно в пространство между begin и end, Вам нужно нажать на "стрелку курсора влево" три раза (мне -- один раз, т.к. скобка -- это один символ). Или я что-то не так понимаю?

Вот как это делаю я:
Я нажимаю пимпочки на клаве в такой последовательности
- за один заход набираю синтенцию типа int myfunc(int param), или while (flag), или еще что;
- нажиаю Enter;
- утапливаю Шифт;
- за один заход набираю обе скобки -- { } ;
- отпускаю Шифт;
- клавишу курсора влево;
- дважды Интер;
- курсор вверх;
- сейчас нахожусь в пространстве между скобок и набираю тело;

Автоматическо выранивание расставляет отступы. Все получается карсиво и очень быстро. Описание занимает больше времени, чем эти действия. И никаких пассов мышой, ибо попеременная работа то мышью, то клавой снижает производительность.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 17 2008, 22:04
Сообщение #491


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(zhevak @ Dec 18 2008, 00:57) *
Я нажимаю пимпочки на клаве в такой последовательности
- за один заход набираю синтенцию типа int myfunc(int param), или while (flag), или еще что;
- нажиаю Enter;
- утапливаю Шифт;
- за один заход набираю обе скобки -- { } ;
- отпускаю Шифт;
- клавишу курсора влево;
- дважды Интер;
- курсор вверх;
- сейчас нахожусь в пространстве между скобок и набираю тело;

Усложняете smile.gif
1. Shift и {
2. Alt + Space
Простой template и все. Если что-то типа while,то еще проще


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 17 2008, 22:22
Сообщение #492


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(zhevak @ Dec 17 2008, 21:57) *
Дак как так-же? Как это не надо двигать курсор назад?

Ну вот жеж видите, паскаль лучше )))

Ок, мальчиши-плохиши. C P-2-C вроде бы разобрались, есть такие проги и что-то там конвертят. Но вот задачка на сообразительность С-2-C (это вам не паскаль в си конвертить))) ) Вот исходник (да простит меня автор) на СИ (IAR) http://electronix.ru/forum/index.php?act=A...st&id=27251 Сколько вам нужно времени, чтобы собрать его (тоже!) под СИ (GCC) ? Да, можете еще раз спеть нам песенку про "стандарты" в СИ biggrin.gif


Да, программка, надо сказать малюсенькая, все же не сотня мегабайт исходников, а всего лишь сотня килобайт.


Цитата(ReAl @ Dec 17 2008, 21:52) *
Тупую работу сделает компилятор.

А ломать закорючками голову - это, конечно, нетупая работа.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 17 2008, 22:26
Сообщение #493


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Огурцов @ Dec 18 2008, 01:16) *
Да, программка, надо сказать малюсенькая, все же не сотня мегабайт исходников, а всего лишь сотня килобайт.

До двух часов.


Цитата(Огурцов @ Dec 18 2008, 01:22) *
Ну вот жеж видите, паскаль лучше )))

Вы можете бездумно, безпричинно повторять эту мантру бесконечно, но выглядит это с каджым повторением все дебильнее sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ReAl
сообщение Dec 17 2008, 23:54
Сообщение #494


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Огурцов @ Dec 18 2008, 00:22) *
А ломать закорючками голову - это, конечно, нетупая работа.
А надо что-то такое же простое в освоении, как материнская грудь?
Неплохо написано было однажды умным человеком - примером правильного интерфейса является карандаш. Да, никаких "easy to use", учатся полноценному его применению до школы и в школе несколько лет. Зато можно потом сделать очень много.

Конечно, ладошкой какашки по пелёночке проще гораздо, да и учиться не надо... Но то, что можно сделать карандашиком на бумажке - ладошкой на пелёночке не сделать.



Цитата(zltigo @ Dec 18 2008, 00:26) *
До двух часов.
Пробежался по диагонали - на свежую голову где-то тако, собых излишеств нет. Пробежаться по __eeprom да __flash переменным и почти всё. Ну атрибут __attribute__((section(".init7"))) дать на __low_level_init(), __enable_interrupt() на sei() заменить, включить нужные #include да #pragma inline на просто inline заменить, ISR() вместо #pragma interrupt. Так на первый взгляд всё, но это работы на первый час максимум, а то и на минут сорок (ну с этим "пробежался по диагонали" вместе - на час).

Если бы она исходно была написана на avr-gcc на таком же уровне (т.е. без ассемблерных вставок по телу программы), то перевод на IAR был бы ещё проще, хватило бы включить заголовочник на один экран из строк типа
Код
typedef char __flash prog_char;
#define PROGMEM __flash
#define pgm_read_byte(a) *((__flash unsigned char*)(a))
#define pgm_write_byte(a,b) *((__flash unsigned char*)(a))=(b)


Кстати, там некоторые мысли возникли по дороге (время на них, по большому счёту, надо вычесть из указанного времени на "пробежался"), но это может с автором и свяжусь.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 18 2008, 00:17
Сообщение #495


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(zltigo @ Dec 18 2008, 03:04) *
Усложняете smile.gif
1. Shift и {
2. Alt + Space
Простой template и все. Если что-то типа while,то еще проще

э-э... а мы про какую среду говорим?
Я интенсивно использую три с половиной среды, и в каждой свои правила. Поэтому я везде текст набираю руками и не заморачиваюсь на темплейты. (Куда уж далее отупляться, если не знать или испытывать трудности при наборе какого-нибудь do-while или switch-case-default!)

* В IAR-e темплейты настроены на Ctrl-Shift-Space.
* В VS 6.0 там на этой комбинации висит подсказка о параметрах функции. Щаблоны вообще не знаю где они там есть sad.gif
* В VS 2005 там своя кухня.
* В CodeVision темплейты можно только вставлять в текст только с помошью хомячка, что далеко не фонтан. Я уже об этом писал ранее.

Да это вообще непроблема -- шаблоны ручками набирать. Это только у начинающит клинит. Но мы-то -- "слава тебе, Хоспади-и!" -- да-авно уже не начинающие.

Сообщение отредактировал zhevak - Dec 18 2008, 00:18


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post

35 страниц V  « < 31 32 33 34 35 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 1st August 2025 - 20:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01502 секунд с 7
ELECTRONIX ©2004-2016