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

 
 
35 страниц V  « < 28 29 30 31 32 > »   
Reply to this topicStart new topic
> Pascal для AVR
Огурцов
сообщение Dec 15 2008, 21:41
Сообщение #436


Гуру
******

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



Цитата(733259 @ Dec 15 2008, 04:34) *
Так же, через asm (asm volatile).

Пример, да ?

Цитата(733259 @ Dec 15 2008, 04:34) *
Там точно нет какой нибудь галочки, "включить оптимизацию"?

Не вижу. Все включено(с)
Go to the top of the page
 
+Quote Post
733259
сообщение Dec 16 2008, 04:17
Сообщение #437


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146



Цитата
Пример, да ?
Да пожалуйста!
Преварительно скажу, что писать "lsl" в си вообще нет необходимости, это соответствует "Test_byte <<= 1;", так же нет необходимости писать и "lds", "sts" и явно указывать "r16" - загрузку, сохранение, распределение регистров компилятор осуществляет самостоятельно. Т.е.
Код
    asm("lsl %0":"+r"(Test_byte));
    Test_byte <<= 1;
, где Test_byte - глобальная переменная, компилятор преобразует в
Код
   asm("lsl %0":"+r"(Test_byte));
6fc:    80 91 60 00     lds    r24, 0x0060
700:    88 0f           add    r24, r24
    Test_byte <<= 1;
702:    88 0f           add    r24, r24
704:    80 93 60 00     sts    0x0060, r24
Напомню, что "lsl" - синоним "add rX, rX", в случае регистровой переменной "lds", "sts" просто не будет.
Если у Вас есть еще неясности по поводу AVR-ассемблера в gcc - рекомендую GCC-AVR Inline Assembler Cookbook
Цитата
Не вижу. Все включено(с)
Ну что же, значит паскаль реально не пригоден для программирования AVR.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 16 2008, 04:46
Сообщение #438


Знающий
****

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



знаю что не по теме, но душу греет smile.gif smile.gif smile.gif

Код
V:

Свет озарил во тьме мой длинный хобот,
Нет, путь к немерлу был совсем недолог.
Бред, считать сишарп пригодным для больших программ.
Я делегаты буду долго помнить вам.

Мой тяжкий крест — вас всех немерлу обучать.
Я вас заставлю мои макросы понять.
Слоненок розовый с проклятьем на челе,
Я никогда не отступлюсь от немерле.

И после смерти вам не обрести покой.
И в ад и в рай поскачет с вами образ мой.

N:

Рай, обещают рай мне замыканья,
Дай мне надежду, о мое призванье,
Знай: утиных типов не страшна слепая власть,
Безумец, прежде я не знал, что значит страсть.

Теперь сишарпом словно бесом одержим,
Этюды дерзкие мою сгубили жизнь.
Жаль, в MS работать был я просто обречен,
Теперь вот в рясу от сишарпа облачен.

И после смерти, мне не обрести покой:
Сперва аппостол пусть решит "этюдик" мой.

E:

D. Светлых плюсов сон от цифромарса,
D. Грешных плюсов стон от цифромарса.
И? — Отбился с рук и покатился камнем вниз.
Разбились грезы ожиданий D release.

SObjectizer, ты не в силах тут помочь.
Сплошную бету не дано D превозмочь.
Стой! Не покидай меня нативная среда!
Рабом дотнета я не стану никогда!

И после смерти мне не обрести покой,
Я хоть в раю узнаю день релиза твой?

V, N и E, хором:

И днем и ночью только код передо мной.
Нативный, сложный, управляемый, простой...
Стой! Не покидай меня безумная мечта!
Найти бы пулю из святого серебра...

И после смерти, мне не обрести покой.
Я душу дъяволу продам за код простой.

За код простой...


автор kochetkov.vladimir
http://www.rsdn.ru/Forum/message/3215532.aspx


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


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



C детства программирую на паскале. А для PC - только на паскале.
И вот пришлось освоить Си.
И что интересно. Двоеточие после равно я ставить отучился, а ставить двойное равно - нет.

И еще количество круглых скобок в Си напрягает. Просто безумие какое-то. Либо постоянно иметь ввиду очень странное старшинство операций. Либо скобки изо всех сил ставить.
if (B==A&3) чисто понятно чего я хочу, а работать не будет.
В итоге if (B==(A&3)) ... Уж лучше бегин энд, чем лазить с шифтом наверх клавы постоянно.

Кстати, самые ярые сишники в нашей конторе, когда требуется быстро что-то сделать - врубают дельфи без стеснения. И на едкие замечания - не реагируют.

Сообщение отредактировал DpInRock - Dec 16 2008, 06:02


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
733259
сообщение Dec 16 2008, 06:09
Сообщение #440


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146



Цитата
Двоеточие после равно я ставить отучился, а ставить двойное равно - нет.
Если постоянно путаете = и ==, заведите привычку писать не i == 0, а 0 == i - тогда будет ошибка при просто =.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 16 2008, 06:52
Сообщение #441


Знающий
****

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



Цитата(DpInRock @ Dec 16 2008, 10:51) *
И что интересно. Двоеточие после равно я ставить отучился, а ставить двойное равно - нет.

И еще количество круглых скобок в Си напрягает. Просто безумие какое-то. Либо постоянно иметь ввиду очень странное старшинство операций. Либо скобки изо всех сил ставить.
if (B==A&3) чисто понятно чего я хочу, а работать не будет.
В итоге if (B==(A&3)) ... Уж лучше бегин энд, чем лазить с шифтом наверх клавы постоянно.

smile.gif Детские болезни.
Не стоить так беспокоиться, с возрастом обычно они у многих проходят. Не у всех, правда. Не все люди одинаковые. Многие так и остаются в розовом детстве.
Взрослейте и будем счастье!

Цитата
Кстати, самые ярые сишники в нашей конторе, когда требуется быстро что-то сделать - врубают дельфи без стеснения. И на едкие замечания - не реагируют.

Ага. Это правда. И я видел как один художник рисовывал картину на стене (своего) гаража. А когда приперло быстро подготовить еще одну стену, он тупо взял валик и ведро грунтовки. Не едкие замечания не реагировал. Собака!

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

Какие проблемы? А может просто "Вы их не умеете готовить?" (С)


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


Гуру
******

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



Цитата(DpInRock @ Dec 16 2008, 08:51) *
И что интересно. Двоеточие после равно я ставить отучился, а ставить двойное равно - нет.

Ну и только честно, нафига было в Паскале делать =: для присвоения sad.gif, как наиболее частой и к тому же естественной "привычной с детства" арифметической операции а зато односимвольную и более редкую = валить в одну кучу со всякими <>. Ответ такой-же, как и данный ниже - для рекламных целей - за 15 обзорки рисовалась на доске некая хрень в которой НИЧЕГО не вычислялось, зато псевдоанглийский if else then end пару названий переменных цифр и if A = B присутствовали, ибо рассказывали не как вычислять - калькулятором не удивишь. При таком галопе объяснения разницы между = и =: было лишним sad.gif.
Цитата
И еще количество круглых скобок в Си напрягает. Просто безумие какое-то. Либо постоянно иметь ввиду очень странное старшинство операций. Либо скобки изо всех сил ставить.

Большинство массовых приоритетов покрываются "естественными". А кроме того, наличие большого количества мнгоуровневых приоритетов по сравнению с ОТСУТСТВИЕМ может ухуждшить ну разве только чтение лицом их незнающим, но никак не НАПИСАНИЕ - количестово скобок, как привычно, а отнюдь не "изо всех сил ставить".
Цитата
Кстати, самые ярые сишники в нашей конторе, когда требуется быстро что-то сделать - врубают дельфи без стеснения.

Абсолютно не верю, при наличии аналогичной мути для изготовления уродцев - Builder, да и MVC вполне бездумно и быстро слепить позволяет....
Цитата
Уж лучше бегин энд

Увы, это хоть и избитый повод для разговоров, но эти два слова полный бред созданный исключительно из-за вешания лапши на уши - смотрите это на английском написано! Какой прелесный "понятный" язык! В общем для 15 минутной лекции перед "домохозяйками" (к коим в 60x относились почти все sad.gif ) очень хороший ход. Для удобства компилятора - явные длинные ключевые слова. Но никак не для удобства реальных людей, ибо всякие скобки во всех применениях служили и служат человечеству ровно для той-же цели - выделения некоего блока.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 16 2008, 08:51
Сообщение #443


Знающий
****

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



Цитата(zltigo @ Dec 16 2008, 12:47) *
... да и VS вполне бездумно и быстро слепить позволяет....

При все уважении, не могу согласится.

Как минимум у меня это в VS легко и быстро не получается.
Все зависит от "тяжести" создаваемой проги.

Не, я конечно тоже могу за полддня слепить что-то типа AVR-килькулятора или за 5 минут "Драствуймир" или за полчаса решение квадратного уравнения с прибамбасами. Но когда дело касается како-то мощной системы (например, како-нибудь навороченный анализатор входных сигналов, получаемых с объекта через USB или TCP/IP), то сначала обдумывается архитектура, обдумываются классы/объекты; кто с кем и как будет взаимодействовать, кто на кого будет влиять; какие будут результаты, куда и как их будем писать; что будет делать прога в тех или иных случаях, что будет видеть юзер, в какие моменты подновлять фэйс проги, сколько потоков и когда создавать и т.д. и т.п.

Т.е при всем желании, если ничего этого в голове нет, писать код толку мало -- VS все равно не даст продвинутся дальше интефейса. Зато когда это все в голове устаканится, код пишется легко и быстро. Непринужденно.

Помятуя свой прошлый опыт Делфей (и аналогично -- Вижуал-Васика), утверждаю, что в этих средах/языках существует очень большой соблазн начать проект сразу, с горяча. С того, что на форму накидываются компонеты и затем их не задумываясь соединяют. Простые проги так можно создавать. У больших проектов при таком безбашенном подходе после какого-то времени разработки/развития начинают вылезать сначала мелкие нестыковочки, потом больше и больше, и т.д. по экспоненте. Потом начинаешь понимать, что основная масса времени идет не на создание продукта, а борьбу с окучиванием компонет, которых поначалу накидал не думая, соблазнившись RIDical perfomance © Borland.

Т.е. что я хочу сказать. Я хочу сказать, если предстоит построить быстро небольшой проектик (само собой -- некоммерческий!), можно взять то, что позволяет быстро сделать тяп-ляп и как-получится, не взирая ни на объемы ехе-шника, ни на скорость исполнения, ни на возможные падения ("Программа совершила недопустимую операцию и будет..."). Но если стоит задача получить на рынке денег за продукт, и не опарофиниться перед клиентом после поставки, то Делфийская Рэпид-технология отдыхает на Канарах.

Вот смотрите: общее время создания готового продукта, начаная от возникновения идеи создать продукт, состоит из обдумывания архитектуры решения, из практического создания (написания кода, расстановки компонент на форме) и отладки.

Обдумывание архитектуры и отладка занимают на порядок больше времени, чем расстановка компонет на форме и их логическое связывание. Когда знаешь что делать, текст проги набрать не долго. Если уж так надо экономить время то, наверно это делать надо не тех операциях, которые и так не имеют большого веса (времени). Конечно, если "программист" испытывает проблемы при наборе текста программы... , не знает клавиатуру... то, да-а. Тут можно и нужно использовать Рэпид-инструменты. Как правило, такие "программисты" и не создают сложных программ.

Пластилиновый софт создается быстро. Но ... пластилин, он и есть пластилин!

PS
Только что пришло письмо с books.ru.

Никогда не задумывался на тему, что "свои" книжки я покупаю так дорого:
* Макконнелл "Совершенный код" -- 803 рубля
* Руссинович, Соломон "Внутреннее устройство Венды" -- примерно 1000 (мне достался бесплатно, из "Боекомплекта разработчика")
* Рихтер "Windows via C/C++" -- 1245 рублей,
* Бовет "Ядро Linux" -- 680 рябчиков,
ну и т.д. У многих они есть. Не в этом дело.

Я сходил по предложенной в письме ссылке. И там мне предлагают тако-ое..., ну тако-ое... =8-0
http://www.books.ru/shop/books/717
Это ж как надо было опустить продукт! Что если еще чуть дешевле, то уже только даром!

Дайте две!

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


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


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
что на форму накидываются компонеты и затем их не задумываясь соединяют.
хм, получается что в VS мозги работают, а в Delphi - отключаются ?
как раз возможность набросать за полчаса 10 вариантов GUI и выбрать подходящий - очень болшой +.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Dec 16 2008, 09:39
Сообщение #445


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(zltigo @ Dec 16 2008, 11:47) *
Ну и только честно, нафига было в Паскале делать =: для присвоения sad.gif, как наиболее частой и к тому же естественной "привычной с детства" арифметической операции а зато односимвольную и более редкую = валить в одну кучу со всякими <>.

Ну не знаю, знак присвоения := мне казался абсолютно логичным (кстати, именно так, а не =: )
Более того, на этапе ассемлера 8080 этот же знак использовался в блок-схемах алгоритмов.
Наверняка из какого-то старинного идет.
А != ну явный бред! Я до сих пор чаще использую !( a==B ). И то более логично получается.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 16 2008, 09:47
Сообщение #446


Знающий
****

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



Цитата(ukpyr @ Dec 16 2008, 14:11) *
хм, получается что в VS мозги работают, а в Delphi - отключаются ?
как раз возможность набросать за полчаса 10 вариантов GUI и выбрать подходящий - очень болшой +.

Конечно плюс. А разве это всегда самое главное?

На сколько я понимаю, все зависит от назначения программы. Если прога предназначена чисто для работы (для зарабтывания денег), то всякие лишние пикалки-пукалки и фантики-бантики тут только вредят. Окно проги должно быть предельно аскетично, Элементы, к которым осуществляется нечастый и не оперативнгый доступ не должны торчать на ворме. И наоборот, если прога связана со сферой развлечения, то наоборот, излишняя функциональность и навороченность внутренней логики будет отпугивать потенциальных юзеров.

И есть еще один аспект. Очень часто приходится видеть, когда функциональность проги и значимость цели, для которой эта прога пишется, не очень, разработчик, если не лентяй, перекладывает все внимание ее интерфейсу. Навешивает розовые бантики, лепит звуки и анимацию.


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


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(zhevak @ Dec 16 2008, 12:51) *
Потом начинаешь понимать, что основная масса времени идет не на создание продукта, а борьбу с окучиванием компонет

Ух, я когда-то еще с Turbo Vision... В общем объект TEditor, для неокрепших умов - куча кода, хз как работает. Что-то более-менее добавить из функционала - невозможно. Проще с нуля переписать самостоятельно. При попытке красивого расширения наталкиваешься на специально заложенные грабельки, для "сдерживания роста юзера" - это не просто числа вместо констант, или какие-то упрощения, шитые белыми нитками - это нерасширяемая и глубоко продуманная концепция. Поэтому или прогер учится создавать свои компоненты, или борется с абстиненцией при недостатке борландячих - существенно расширить их не удастся.
Go to the top of the page
 
+Quote Post
Жека
сообщение Dec 16 2008, 10:07
Сообщение #448


Знающий
****

Группа: Участник
Сообщений: 672
Регистрация: 6-01-06
Из: Петербург
Пользователь №: 12 870



Цитата(zhevak @ Dec 16 2008, 12:47) *
И есть еще один аспект. Очень часто приходится видеть, когда функциональность проги и значимость цели, для которой эта прога пишется, не очень, разработчик, если не лентяй, перекладывает все внимание ее интерфейсу. Навешивает розовые бантики, лепит звуки и анимацию.

biggrin.gif
Суровые парни вообще не заморачиваются интерфейсом. Все идет через командную строку


--------------------
Льва Абалкина больше нет. Забудь о нем. На нас идет автомат Странников!
Go to the top of the page
 
+Quote Post
733259
сообщение Dec 16 2008, 10:08
Сообщение #449


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146



Цитата
Я до сих пор чаще использую !( a==B ).
Ужасно!!!
Как же у людей мозги "испорчены" этим паскалем!
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 16 2008, 10:19
Сообщение #450


Знающий
****

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



Цитата(Dog Pawlowa @ Dec 16 2008, 14:39) *
Ну не знаю, знак присвоения := мне казался абсолютно логичным (кстати, именно так, а не =: )
Более того, на этапе ассемлера 8080 этот же знак использовался в блок-схемах алгоритмов.
Наверняка из какого-то старинного идет.
А != ну явный бред! Я до сих пор чаще использую !( a==B ). И то более логично получается.

Вы знаете, у меня все тоже самое, но с точностью до наоборот!
Прывычка -- очень серьезное дело.

Вспомните детство. Лицо Ваше матери казалось Вам красивым и абсолютно правильным. И в тоже время лица чужих теток Вам были неприятны. Просто у Вас была матерью именно эта женщина, а не какая-то другая. Так и с языками, мы привыкли считать правильным только то, на чем удалось добиться наибольших успехов.

Я легко выцепляю в "овсянке" кодов комбинации символов !=, ->, ::, { }, null. И меня также цепляют заусенки типа BEGIN-END-FUNCTION-PROCEDURE, :=, NOT, nill. Но это ничего не значит.

Кому-то без разницы -- как классифицируется блок кода, а кто-то заостряетсвое внимание и говорит, что это есть очень большая, т.е. _принципиальная_ разница: процедура это или функция. На столько большая, что это надо особо выделять. И выделяют. И ничего, живут.

Это не бред. Это -- религия!


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

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 05:44
Рейтинг@Mail.ru


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