Работаем на Паскале. Первые шаги.

Saahov
Offline
Зарегистрирован: 27.08.2015

Весь сознательный трудовой народ работает на Си, лишь еденицы, к которым относятся и я, прозябают на Паскале :)

Прошу помощи в простейшем вопросе. Конфигурацию опишу поподробнее.

На Windows 7 установил старенький mikroPasscal версии 4.6, т.к. под нее нашлась нормальная лечилка.
К компу через USB подключил обычный Arduino UNO с Atmega328P-PU на борту.
Устройство виндой обнаружилось, дрова для него успешно устновились из пакета IDE ARDUINO 1.6.5.

Далее начал ваять классику жанра "Hello, world!" :-)
Получилось следующее:

program UNO_LED_Blinking;
begin
  { Мигание LED на выводе B.5 }
   DDRB := %00100000; 
   PORTB := %00100000;
   while(1) do
   begin
      PORTB.B5 := not PORTB.B5;
      Delay_ms(1000);
   end;
end.

Прога успешно скомпилировалась.
Далее, если правильно понимаю, чтобы исполняемый код поместить в UNO для выполнения, в меню "Build" микроПаскаля нужно выбрать "Build+Program".
Выбираю, но в ответ получаю:

"MCU ATMEGA328P is not supported in AVR Flash programmer"

Понятно, что Паскаль староват, поэтому не поддерживается.
И что можно сделать, если новее нет, есть ли какой другой способ засунуть полученный код в UNO ?

Saahov
Offline
Зарегистрирован: 27.08.2015

> Как залить в уно? да как в любой МК AVR =подключить MISO, MOSI и другие конекторы программатора и залить.

Это что значит, нужно еще какое-то обрудование? У меня есть ПК, оригинальная плата UNO и USB-кабель между ними - этого недостаточно?

 

PS. Насчет другой среды думать бесполезно, тыщу раз брался за C, и он так и остался загадкой с непонятными закорючками.

Тоже самое будет с Java и другим языками с сишной семантикой.

Думаете, почему я парюсь с Паскалем? Поскольку это единственный язык, который вписывается в мой менталитет.

Ну не рожден я летать на Си-подобных языках, оспаривать прекрасные возможности которых не собираюсь, мой удел - Pascal и только Pascal, мне понятен его синтаксис и семантика. Могла быть еще Modula, но ее никто для Arduaino не делал и делать вряд ли будет.

Господа, поэтому просьба: давайте не будем холиварить и офтопить здесь тему о других языках, а будем обсуждать здесь только о невезучем  mikroPascal, ок? :)

 

Saahov
Offline
Зарегистрирован: 27.08.2015

Достали вы меня этими Си! Просил же: не холиварить, а давать советы по существу темы.

Ну что ж, сами напросились: этот ваш Си хуже горькой редьки, а придумал его один мудак по фамилии Деннис Ритчи, который был по натуре настолько ленивым, что старался набор на клавиатуре сократить до минимума, в идеале до 2-3-х нажатий. А теперь посмотрите на синтаксис Си - он ничего вам своими закорючками не напоминает? Античеловечный, по сути своей неструктурированный и не-модульный язык со всеми отсюда вытекающими, если вы что-то в этом понимаете. Это потом Borland и другие улучшили его потребительские свойства, но сути это не поменяло. Посмотрите на свой же сишный текст через пару-тройку лет - вы что-то поймете?

Позже положение исправил дедушка Никлаус Вирт своим гениальным Паскалем, но увы, было уже поздно: Си получил распространение по всему миру как короста, и истребить его тепер невозможно. Учтите, Си сочинил какой-то хипстер чисто случайно, мимоходом, качающийся на стуле и ковыряющийся в носу в перерывах между другими делами, у которого не было даже проекта по созданию языка, и операторы он придумывал наобум, по мере потребности, стараясь лишь в одном: чтобы они были покороче. При таком подходе может получиться нормальный язык? Не смешите мои тапочки!

Паскаль же создал профессор с мировым именем и академическим вдумчивым и взвешенным подходом к решению серьезных проектов. Интернет, кстати, тоже придумали не болваны вроде Ритчи, а академическая среда, хотя и в недрах Пентагона.

Всвое время  доводилось программировать для 8-битовых процессоров на макроассемблере. Трудоемкость такого программирования для меня была невысокой. Но когда позже попробовал Си, то пришел в ужас от его синтаксиса, и вернулся на асм - для меня он был намного легче. Некоторое время поработал на Turbo Pascal - это была просто сказочная страна! Потом вообще ушел из программирования, из-за более интересных в плане дохода дел и к этому времени все забыл. Ну разве что, кроме begin end и repeat key pressed :)

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

Поэтому еще раз призываю: давайте прекратим офтопить в теме о Паскале  насчет ваших Сей, Жав и прочей живности.

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

По делу, т.е. по теме, конкретно есть что сказать полезное? Исключая "погуглить" и т.п.

PS. Извиняюсь за несколько раздраженный стиль, но просил же неоднократно НЕ офотопить, сами меня же и втянули в совершенно бессмысленный спор.

Saahov
Offline
Зарегистрирован: 27.08.2015

Эх, где вы раньше только были... Представьте, именно до этого, т.е. до avrdude я и сам дошел, за ночь. Но ни в одном из т.н. "Уроков по Паскалю" ни одна сволочь не упомянула о программном прошивальщике, а мне-то откуда знать с первых дней, как эти IDE внутри устроены, думал, что они интегрированы а IDE настолько, что отдельно не существуют. А поди ж ты, оказывается..

Ну ничего, уже сам разобрался, перебрал уже XLoader, ArduinoUploader, AvrOspII, решил остановится таки на Avrdude, только подберу к нему гуишную морду к нему попроще, потому его огромадные возможности для банальной заливки файла в ардуину и нафиг не нужны.

А что вы намекнули насчет Паскаля на винде, в каком аспекте? Вы где-то видели mikroPascal на Linux? Потому что под Linux хватает Паскалей, но заточенных под AVR, насколько знаю, всего один, от Mikroeletronics.

Saahov
Offline
Зарегистрирован: 27.08.2015

Буду продолжать свой минидневник по запуску mikroPASCAL, может, пригодится тому, кто впервые столкнется с ним.

bwn пишет:
Почитайте  здесь   , а куда ваш Паскаль хексы укладывает, вам лучше знать.
И лично мое убеждение, что программирование состоит из правильного алгоритма, а не слов которыми он записан. ИМХО.

"Здесь" уже давно прочитано, только на другом сайте, но это неважно.

Результат: "оно", т.е.  ARP Uploader, не работает. Да, я в курсе насчет хитростей со скоростями порта, выставлял их всякие - от 57600 до всяких других, как в настройках компа, так и утилиты. Причем заливка вроде начинается, поскольку начинают помигивать светодиоды RX или TX, но заканчивается всегда одним и тем же - консольным окном с сообщением, что нет синхронизации. К тому же в списке дивайсов там всего 4 МК, проект заброшен и не развивается.

Другие утилиты, которые перебирал, требовали либо .NET, либо Java. Не хотелось захламлять чистый комп этими приблудами, поэтому искал другие прошивальщики, попроще, но пока не нашел, придется апдейтиться.

Насчет правильного алгоритма: разве кто-то об этом спорит?

nevkon пишет:
Поверьте я сам пользуюсь обычно лазарусом (бесплатный делфи) и для меня нереально изучить С в любом виде. Среда ардуино от истинного С отличается как небо и земля и на нем можно точно такую же структуру создать как и в Паскале. Видимо вы используете только линейное программирование без процедур что вам Паскаль ближе что не есть хорошо. Любая нормальная программа содержит процедуры и функции, причем я разношу еще и по разным файлам. Кстати может сравним итоги при программировании в МикроПаскале и Ардуино? Какой результат будет эффективней если алгоритм будет единый? А то может есть смысл перейти на МикроПаскаль?

PASCAL является сугубо процедурным языком, чем он в свое время меня и привлек. Без них ну никак, поскольку без них программа превращается в длиннющее неразборчивое месиво. Ну и строгий контроль типов, и т.д., и т.п. Насчет сравнения конечных результатов между Arduino IDE и mikroPascal: это сделали уже до нас, Паскаль дает в среднем раза в полтора больший код. Пока для меня это не самый существенный фактор, тем более в mikroPascal есть разные оптимизаторы. Но я не против сравнить с вами результаты после того, как подберу для себя наиболее оптимальный прошивальщик.

Клапауций 070
Offline
Зарегистрирован: 26.09.2015

Saahov пишет:

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

ну, смотри - тыжепрограммист!

лог прошивки хекса в плату в Дуино ИДЕ

\arduino-1.6.5-r5\hardware\tools\avr/bin/avrdude -CD:\Program Files mini\arduino-1.6.5-r5\hardware\tools\avr/etc/avrdude.conf -v -patmega168 -carduino -PCOM1 -b19200 -D -Uflash:w:C:\temp\build3628292042564509384.tmp/sketch_oct15a.cpp.hex:i 

скопируй свой и исполни в командной строке - случится чудо

Saahov
Offline
Зарегистрирован: 27.08.2015

Щас, минуточку, понаставляю минусов тем, кто опять офтопит своим сраным Си, и приступим к нашему, Паскальному делу.

Хм, странно, нету таких :) Хотя art100 попытался объяснить, что Си тоже процедурный язык... но что ж, простим ему невнимательность и непонимание. Но и объяснять ему его заблуждения тоже не будем, дабы снова не скатываться в паскальной теме в офтоп и холивары.

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

Итак, поставил на чистую до недавнего "семерку" всякие .NET фреймворки, и после этого крооооохотная такая програмка под типичным скандинавским именем XLoader завелась с полоборота.

И вот с ней меня ждал полный триумф! :) Во-первых, в ее в списках ее дивайсов нашлась Atmega328, которая в UNO, а во-вторых, с ее помощью эта самая UNO наконец прошилась с пол-оборота! "Hello, world" мигает, и теперь можно приступить, наконец, к реализации своих планов.

Saahov
Offline
Зарегистрирован: 27.08.2015

Я лишь ответил симметрично тем апологетам Си, которые считают Паскаль таким же сраным и первыми подняли здесь вопли о нем. Как говорится - не я первый начал.

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

В дальнейшем я никак не буду реагировать на выпады сишников, и отвечать только тем, кого интересует mikroPASCAL.

Спасибо здесь всем тем, кто по мере возможностей пытался помочь с решением проблем, свзанных с прошивкой кода от mikroPASCAL.

 

Клапауций 070 пишет:
я, вообще, нихуя не понимаю, что за пиздец тут происходит.

Я тебе уже давал совет: http://arduino.ru/forum/programmirovanie/rabotaem-na-paskale-pervye-shagi#comment-142529 но до тебя, видимо, доходит как до жирафа - на третьи сутки.

Saahov
Offline
Зарегистрирован: 27.08.2015

Цитата:
я ему пытаюсь объяснить, как прошить хекс дудкой в плату дуино.
В отличие от тебя, я это давно понял, и если бы ты умел внимательно читать чужие посты, то увидел, что я уже подбирал морду для дудки (чисто для удобства), но тут вдруг заработала XLoader, и я пока оставил занятия с дудкой. Зачем она мне, если и так все работает? Вот если XLoader какие-то МК не сможет прошивать, тогда вернусь к занятиям с дудкой.

Кроме того - у тебя набор на клавиатуре опережает мой, и я не успеваю за твоими вбросами. Сказал же - проблему решил, так, как мне нравится - путем наименьших затрат. Ты в самом деле не читаешь чужие посты, только свои?

Цитата:
Я вас не спрашивал  на чем вы работаете. Я вам пытаюсь сказать , что вы не на том форуме ищите поклонников и почитателей Вашего таланта.
Тут с вам полностью согласен. Во всей этой теме нашелся только один человек, который проявил некоторый интерес к Паскалю - это nevkon. Боюсь, что теперь вы и его запинаете.

Ладно, спасибо за внимание, и еще раз спасибо тем, кто по мере сил помогал решить эту проблему.

art100
Offline
Зарегистрирован: 09.03.2014

Итак

Васик веселится

Паскакаль скачет

Посикать получается

http://art1.by/micropascal/

Саахов у тебя получилсоь подломить ;) ВизуалТФТ ? С ВизуалГЛД проблем не увидел. А вот про какие-то не копирование 4-ех цифр не прокатило. :-?

А чехи молодцы стараются. Мнея правдо этот стил кодинга не втыкал раньше но посмотрим. За нескоглко лет ух как маханули на все акутальненькое. Только надо разобраться загручик ардуин херится или нет. Ты прошиванием игрался ?

C:\AVRFLASH\AVRFLASH.exe

 Содержимое папки C:\AVRFLASH
17.11.2010  11:19         5 813 760 AVRFLASH.exe
27.05.2010  11:57            47 575 MCU Settings.INI
18.10.2015  08:22           161 775 Uninstall.exe
 
Или какая утебя платка для тестов? Я так понимаю на микрушке от атмела? Какая конкретно схемка?
 
 
art100
Offline
Зарегистрирован: 09.03.2014

Все понятно. Автоматизация летит в тар тарары.

 

Итак вопрос повторяю. 

Товарищ Саахов. Какая у тебя электрическая схема ?

 

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

art100 пишет:

Только надо разобраться загручик ардуин херится или нет.

если заливаешь загрузчиком, то с чего бы ему хериться?

art100
Offline
Зарегистрирован: 09.03.2014

Подчистил эмоции оставил только аналитику. 

Аналитика такая какие мы.

Итак проект пытается покрыть несколько популярных микропроцессоров и несколько популярных языков. Код написания ближе к аппаратному чем к человеческому. Проект разворачивается на Windows7 32 бита без проблем за деньги. Проект очень обьемный.

art100
Offline
Зарегистрирован: 09.03.2014

Клапауций 911 пишет:

art100 пишет:

Только надо разобраться загручик ардуин херится или нет.

если заливаешь загрузчиком, то с чего бы ему хериться?

Ты же не балбес а фусы остающиеся враскосяк?

Или я слишком много информации перелопатил и затупил?

Лично тебе если надо выложу и дам ссыль на 300 мегов с кряками и лягушками. Вместе потыкаем. У меня вопрос макетки нет

а херить рабочие ардуины не хочу.

Я пока тут шапргалки себе выкладываю http://art1.by/micropascal/ Да и вообще надо идти машину к зиме готовить. У нас уже рассвело. Что-то на под машиной увижу.

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

art100 пишет:

Ты же не балбес а фусы остающиеся враскосяк?

ты с товарищем Сааховым сговорился?

он тоже постоянно повторяет, Как залить в уно?Как залить в уно?

 

art100 пишет:
а херить рабочие ардуины не хочу.

не нужно ничего херить - всё уже похерили за тебя.

 

кароче.

1. паскальная халабуда творит хекс.

2. заливаешь хекс ардуиновским загрузчиком посредством дудки - в пень AVRFLASH.

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

*где логическая ошибка в моём плане?

 

 

art100
Offline
Зарегистрирован: 09.03.2014

Клапауций 911 пишет:

art100 пишет:

Ты же не балбес а фусы остающиеся враскосяк?

ты с товарищем Сааховым сговорился?

он тоже постоянно повторяет, Как залить в уно?Как залить в уно?

 

art100 пишет:
а херить рабочие ардуины не хочу.

не нужно ничего херить - всё уже похерили за тебя.

 

кароче.

1. паскальная халабуда творит хекс.

2. заливаешь хекс ардуиновским загрузчиком посредством дудки - в пень AVRFLASH.

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

*где логическая ошибка в моём плане?

 

 

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

 Содержимое папки D:\workarduino\HID\HIDkeyjoy\arduino-unojoy\20140530joystickarduinounor3windows7\arduinounor3hex

18.10.2015  10:20    <DIR>          .
18.10.2015  10:20    <DIR>          ..
18.10.2015  10:20                 0 1.txt
28.05.2012  07:41            11 444 Arduino-usbserial-uno.hex
30.05.2014  17:13               748 ArduinoHex.bat
28.05.2012  07:41           147 456 batchisp.exe
30.05.2014  17:23               729 JoystickHex.bat
12.01.2013  23:27             7 844 UnoJoy.hex
@rem art100 to write 20140530
cls
batchisp -device atmega16u2 -hardware usb -operation erase f memory flash blankcheck loadbuffer "Arduino-usbserial-uno.hex" program verify start reset 0
@echo off
if %errorlevel% NEQ 0 (
    echo %errorlevel%
    echo The firmware was NOT loaded...
    echo 1.Did you install the Atmel FLIP program? - Flip Installer - 3.4.7.112.exe
    echo 2.Is the Arduino plugged in?
    echo 3.Is is it in 'Arduino UNO DFU' mode press reset pin on atmega16u2?
    echo Press any key to exit..
    goto EXIT
) else (
    goto SUCCESS
)

:SUCCESS
echo Now, you need to unplug the Arduino and plug it back in,
echo and it'll show back up as an Arduino. Press any key to exit....
goto EXIT

:EXIT
pause > nul

Или это я джойстик так решал? Что-то подзабыл.

А вспомнил это я откатывал загрузки ардуиновский по быстрому.

Дай дудковскую готовую строку. тут что-то много лишнего

\arduino-1.6.5-r5\hardware\tools\avr/bin/avrdude -CD:\Program Files mini\arduino-1.6.5-r5\hardware\tools\avr/etc/avrdude.conf -v -patmega168 -carduino -PCOM1 -b19200 -D -Uflash:w:C:\temp\build3628292042564509384.tmp/sketch_oct15a.cpp.hex:i 

 

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

art100 пишет:

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

смотри. врубаешь загрузку скетча в уно.

нужный тебе кусок лога

\arduino-1.6.5-r5\hardware\tools\avr/bin/avrdude -CD:\Program Files mini\arduino-1.6.5-r5\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM1 -b115200 -D -Uflash:w:C:\temp\build1219866899427948462.tmp/sketch_oct18a.cpp.hex:i 

т.е.

\arduino-1.6.5-r5\hardware\tools\avr/bin/avrdude // путь к avrdude.exe
-CD:\Program Files mini\arduino-1.6.5-r5\hardware\tools\avr/etc/avrdude.conf // путь к avrdude.conf
-v // подробный вывод инфы
-patmega328p // тип МК
-carduino // протокол загрузки флеша
-PCOM1 // номер компорта
-b115200 // скорость компорта
-D // не помню
-Uflash:w:C:\temp\build1219866899427948462.tmp/sketch_oct18a.cpp.hex:i // путь к хексу

складывай ехе файл конфигурации и ехе дудки и хекс в удобное место и активируй загрузчик и запускай командную строку - всё.

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

art100 пишет:

Дай дудковскую готовую строку. тут что-то много лишнего

\arduino-1.6.5-r5\hardware\tools\avr/bin/avrdude -CD:\Program Files mini\arduino-1.6.5-r5\hardware\tools\avr/etc/avrdude.conf -v -patmega168 -carduino -PCOM1 -b19200 -D -Uflash:w:C:\temp\build3628292042564509384.tmp/sketch_oct15a.cpp.hex:i 

ничего там лишнего нет - если ехе, конф дудки и хекс в одной папке, то

avrdude -v -patmega168 -carduino -PCOM1 -b19200 -D -Uflash:w:test.hex:i

 

art100
Offline
Зарегистрирован: 09.03.2014

Спасибо собрал в кучку дудку. Щас выложу.

art100
Offline
Зарегистрирован: 09.03.2014

На сегодня хватит. Смотрите здесь код Бейсик что НЕ важно. Стандартный Блинк работает в древнем микропроцессоре atmega8

http://art1.by/micropascal/

Схема стандартная. Ответ получен самостоятельно.

 

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

а, это 

1 install arduino ide

зачем?

достаточно скачать в зипе и взять нужное из архива.

art100
Offline
Зарегистрирован: 09.03.2014

Клапауций 911 пишет:

а, это 

1 install arduino ide

зачем?

достаточно скачать в зипе и взять нужное из архива.

мне лень думать есть там дрова нет -+ 200 метров ардуиноиде сходу расслабляют

уже обед а я до машины не дополз еще

лень сам напиши как считаешь нужным я проверю и на сайтике шпаргалку себе выложу

 

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

art100 пишет:

лень сам напиши как считаешь нужным я проверю и на сайтике шпаргалку себе выложу

нечего там писать - где лежит дудка и папка с дровами, сам знаешь.

http://downloads.arduino.cc/arduino-1.6.5-r5-windows.zip

если тебе нужно прошить загрузчик на голый камень, то так же не нужно ничего инсталлить - распаковываешь зип и юзаешь Дуино ИДЕ. всё.

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

art100, поясни мне, что здесь происходит?

rem art100 to write 20151018 restore stanart boot arduino
cls
avrdude -v -patmega8 -carduino -PCOM19 -b19200 -D -Uflash:w:Arduino-usbserial-uno.hex:i // а, это что занах? загрузчиком шьёшь загрузчик? 
rem avrdude -v -patmega8 -carduino -PCOM19 -b19200 -D -Uflash:w:LEDBLINKING.hex:i // здесь шьётся хекс.

 

art100
Offline
Зарегистрирован: 09.03.2014

Клапауций 911 пишет:

art100, поясни мне, что здесь происходит?

rem art100 to write 20151018 restore stanart boot arduino
cls
avrdude -v -patmega8 -carduino -PCOM19 -b19200 -D -Uflash:w:Arduino-usbserial-uno.hex:i // а, это что занах? загрузчиком шьёшь загрузчик? 

если похерена ардуина технология надо восстанавливать загрузчик

или не так?

Saahov
Offline
Зарегистрирован: 27.08.2015

Ну что вы, болезные, тут переполошились? :)) Не получаеца? Ну, так оно должно и быть, ведь это галимый Пасцаль, который вы оплевали со всех своих нашестов. Нафига он вам? Вы же сианисты, его и юзайте, свой непревзойденный Си.

Паскаль будет работать только у тех, кто его любит. Вот поэтому у мну всё работает  :)))

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

:)-
удачи....

art100
Offline
Зарегистрирован: 09.03.2014

Saahov пишет:
... Не получаеца?...

Я уже устал. Но еще что-то сообрапжаю. Это у кого не плучается? http://art1.by/micropascal/

А теперь по делу. Удалось подломить ВизуалТФТ ? У вас схема платка какая?

 

 

 

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

art100 пишет:

если похерена ардуина технология надо восстанавливать загрузчик

или не так?

ок. предположим, что-то сломано и нужно востановить зазрузчик - предположим.
тогда, эта строка у тебя не будет работать - загрузчика то нет! или есть?

avrdude -v -patmega8 -carduino -PCOM19 -b19200 -D -Uflash:w:Arduino-usbserial-uno.hex:i

эта строка записывает хекс загрузчика с помощью загрузчика, который запущен из Boot Flash Section в Application Flash Section, т.е. происходит запись второй копии загрузчика в область Application Flash Section - и, оно возможно как-то будет работать, но зачем.

 

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

Saahov пишет:

Ну что вы, болезные, тут переполошились? :)) Не получаеца? Ну, так оно должно и быть, ведь это галимый Пасцаль, который вы оплевали со всех своих нашестов. Нафига он вам? Вы же сианисты, его и юзайте, свой непревзойденный Си.

Паскаль будет работать только у тех, кто его любит. Вот поэтому у мну всё работает  :)))

угомонись - мы с загрузчиком хекса разбираемся. загрузчику пофиг - паскаль-маскаль-си.

Клапауций 911
Offline
Зарегистрирован: 18.10.2015
avrdude -v -patmega8 -carduino -PCOM1 -b19200 -D -Uflash:w:test.hex:i

достаточно этой строки.

если не работает, то подключаешь программатор к Атмега8 и заливаешь загрузчик посредством Дуино ИДЕ, выбрав плату Arduino NG or older и МК Атмега8 "Записать загрузчик" - всё.

Shurik
Offline
Зарегистрирован: 27.02.2016

Тоже начал осваивать этот супер-Паскаль, кое-что уже получается, но вот с ШИМ засада.

Непонятно, как указывать нужный пин для вывода ШИМ.

Если в Си все просто и понятно, даже инициализации не требуется -

analogWrite(pin, value)

то в хелпе Паскаля идет отдельно  инициализация ШИМ и отдельно вывод данных

procedure PWM2_Init(wave_mode : byte; prescaler : byte; inverted : byte; duty : byte);

procedure PWM2_Set_Duty(duty : byte);

но. пин нигде не указывается. Как же так? А если надо, как быть?
 

 

Jatixo
Offline
Зарегистрирован: 13.01.2016

Это не СИ, это специально для ардуино упрощенный вариант, ищи по словам ШИМ atmega pwm avr и т.п., а не arduino, и найдешь на СИ.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Shurik, то что вам в СИ всё понятно заслуга совсем не  СИ, а ардуиновской  функции analogWrite . теоритически ничего не мешает написать на Паскале точно такую же.  Функция PWM2  делает нечто аналогичное, но не настолько просто и удобно как ардуиновская. Из названия следует что она под таймер2, у которого выходы на 3 и 11 пин ардуино. Выводить на один или два канала выбирается в другой функции. http://www.mikroe.com/download/eng/documents/compilers/mikropascal/pro/a...

Shurik
Offline
Зарегистрирован: 27.02.2016

Извиняюсь за мою терминологию, но эта ардуиновская среда очень напоминает Си.

Цитата:
  Из названия следует что она под таймер2, у которого выходы на 3 и 11 пин ардуино. Выводить на один или два канала выбирается в другой функции. http://www.mikroe.com/download/eng/documents/compilers/mikropascal/pro/a...

Просмотрел эту страницку, впрочем ее видел и раньше, прямо в хелпе Паскаля, но все равно не понял, как мне выбрать конкретный вывод для ШИМ.

Задумка выводить цифровые сигналы на линии 1-6, а 7-й использовать как вывод ШИМ, и мой конкретный фрагмент инициализации линий порта B:

  DDB0_bit := 0;       // вход
  DDB3_bit := 1;       // выход
  DDB4_bit := 1;       // выход
  DDB5_bit := 1;       // выход
  DDB6_bit := 1;       // выход
  DDRB.7   := 1;       // выход ШИМ

сама инициализация ШИМ

 PWM2_INIT(_PWM2_FAST_MODE,_PWM2_PRESCALER_1024,_PWM2_NON_INVERTED,0); 

и попытка вывода ШИМ

PWM2_set_duty(100);

И вот как ни бился, ШИМ почему-то выводится только на DDB3

Где же я ошибаюсь??

 

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Shurik пишет:

И вот как ни бился, ШИМ почему-то выводится только на DDB3

Выходы таймера2 называются OC2A и OC2B, зайдите сюда, найдите их на микросхеме. Думаю после этого станет понятно чему они не там, где вам этого хочется. Произвольно вывод выбрать нельзя. Нужно выбрать таймер, затем нужный выход функциями PWMx_Init  PWM_xn_Init

Shurik
Offline
Зарегистрирован: 27.02.2016

dimax: спасибо за столь дельные советы! Кажется, кое-что стало проясняться ;)

Только удивляет, почему в "сишном" операторе analogWrite(pin, value)  синтаксического ограничения на pin вроде нету, задавай какой-хочешь.

Или в случае неправильного выбора pin будет выдана ошибка наподобие runtime error?

Впрочем, меня больше интересует этот пупер-Паскаль. Я использую старую версию 4.60, для более новой ключиков увы,  не нашлось.

Так вот в этой версии инструкции PWMx_Init и  PWM_xn_Init к сожалению, отсуствуют, вероятно, они появились в более свежих версиях.

Для 4.60 есть упомянутая  PWM2_INIT(_PWM2_FAST_MODE,_PWM2_PRESCALER,_PWM2_NON_INVERTED,0); 

в которой, как уже говорилось, выбор нужного pin или нужного выхода таймера не задается.

И как тут быть?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Shurik пишет:

Для 4.60 есть упомянутая  PWM2_INIT(_PWM2_FAST_MODE,_PWM2_PRESCALER,_PWM2_NON_INVERTED,0); 

в которой, как уже говорилось, выбор нужного pin или нужного выхода таймера не задается.

И как тут быть?

Приехали... все давно сидят на  6.1.0, качайте и ставьте актуальный компилятор http://www.mikroe.com/mikropascal/avr/

Shurik
Offline
Зарегистрирован: 27.02.2016

Цитата:
Приехали... все давно сидят на  6.1.0

Эх, я бы тоже перешел бы, если бы нашел кейген или ключик к 6-й. Однако почти месяц усиленных поисков не дал никакого улова.

Может, вы подскажите эти злачные места? ;)

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Shurik, я кажется этим лечил от жадности https://yadi.sk/d/Ah3PVwZr6vcuF

Shurik
Offline
Зарегистрирован: 27.02.2016

Вот здорово! Сейчас испробую :)

Shurik
Offline
Зарегистрирован: 27.02.2016

Ура - вылечилось! :)) Спасибо тебе огромное, dimax!

 

Shurik
Offline
Зарегистрирован: 27.02.2016

А ты, похоже, один здесь Паскалем увлекаешься?

Что-то не очень жалуют его здесь, если посмотреть по отдельным возгласам.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Shurik, увы. И я не увлекаюсь,  только на СИ пишу, в паскале почти полный ноль, около 2х лет назад я присматривался на чем учиться программировать мк, вариантов было много, поэтому бегло со всеми познакомился, (ставил софт, пробовал примеры) потом понял что большинство пишут либо на асме либо на СИ :) Ассемблер показался сложноват, поэтому остановился на СИ.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Shurik пишет:

Что-то не очень жалуют его здесь, если посмотреть по отдельным возгласам.

Почитайте статью. Ну, или, хотя бы, заголовок прочтите: http://lib.ru/ANEKDOTY/non_pas.txt

Shurik
Offline
Зарегистрирован: 27.02.2016

Просмотрел по диагонали. Но это годится как юмор, а не как серьезный анализ.

К тому же я не настоящий программист, и мне возможностей Паскаля для нехитрых домашних поделок вполне хватит.

Тем более что в школе приучили к Паскалю, и переучиваться (см. строку выше) нет никакого смысла.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

"я не настоящий программист" и "в школе паскаль учили" - отмазки такие отмазки :)  

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

Мне когда надо было, сам изучал HTML, PHP, JavaScript, SQL (ну ладно, это на работе пригодилось, хотя опять же - я не программист). Но когда мне было действительно интересно для себя (написание аддонов для космического симулятора), я освоил довольно редкий скриптовый язык LUA.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Shurik пишет:

это годится как юмор, а не как серьезный анализ.

Это в Вас говорит российская привычка - "научное обязано быть заумным". А когда человек излагает не заумно, то это "юмор". У нас и закон Паркинсона юмором считают, и принцип Питера - а это серьёзные научные работы, просто изложены живым языком, а не привычной нам нудятиной.

Была в свое время книга по Юниксу. Автора не помню, переводчиком был Владас Леонас. Так вот Владас тогда притащил мне два листочка, на мол, почитай. Это оказалось предисловие редактора перевода (тоже не помню, кто был). И этот гениальный человек написал (никогда не забуду): "Книга написана живым, образным языком, иногда в форме прямого обращения к читателю. У нас с переводчиком неоднократно возникало желание как-то пригладить текст и привести его к нормам и стандартам отечественной технической литературы, но мы не стали этого делать, чтобы не превращать стимулирующее чтение в жвачку".

По-моему. в этой фразе просто приговор стилистике нашей технической литературы.

Shurik
Offline
Зарегистрирован: 27.02.2016

Закон Паркинсона читал, согласен, серьезное исследование, хотя и в виде юмора. И даже помню одну из заключительных фраз.

Когда я разыскивал лечилку, обратил внимание, что любители Паскаля существуют, и они даже целую теорию подводят о его тотальном преимуществе.

Но я не восхвалю Паскаль и не противопоставляю его другим языкам, просто на начальном этапе он мне удобнее, а там. как говорится, посмотрим ;)

 

Alexmin
Offline
Зарегистрирован: 24.10.2016

Случайно набрел на форум и специально зарегистрировался чтобы поддержать Shurik насчет того, что

"Си хуже горькой редьки, а придумал его один мудак по фамилии Деннис Ритчи"

Совершенно сгласен. По сравнению с Паскалем, СИ - полное говно.

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Alexmin пишет:

По сравнению с Паскалем, СИ - полное говно.

Вброс засчитан!

Предлагаю перейти к обсуждению темы вентиллятора (само дерьмо неинтересно). Как будем делать вентиллятор? DC/AC? Как мощностью управлять? На какой Ардуине, кстати?