В том числе библиотеки, экспериментируйте с обучением

Gbulmer
Пн, 03 апреля 2017 г. 13:28
Я думаю о эксперименте по обучению студентам программированию. Друг сделал такие вещи в 80 -х годах, и это работало довольно хорошо. Я думаю, что мог бы попробовать это на «текущем поколении».

Идея состоит в том, чтобы научить программированию, используя один проект на Arduino или STM32. Часть идеи состоит в том, чтобы позволить им разрабатывать и экспериментировать с более сложным проектом в начале курса.

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

Мне интересно, как это сделать в Arduino Ide. Его обычный режим - иметь весь исходный код, но это победит мою цель.

Я полагаю, я мог бы создать кучу альтернативных сборки «целевой доски», но есть ли более простой способ? Любые предложения?

ГБ-)

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

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

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

ZMEMW16
Пн, 03 апреля 2017 г., 21:00
Если вы используете программу, которая функционирует в AVR Arduino, а затем также в STM32 Arduino, с соответствующими библиотечными изменениями, это позволило бы ввести «портирование» на платформу в качестве темы?
Возможно, объясняя конструкции #IF (для меня ;) )?
Также Nasties, как аппаратные таймеры, интерфейс DHTNN ?
Стивен

Gbulmer
Вт 11 апреля 2017 г. 2:03
ZMEMW16 написал:Если вы используете программу, которая функционирует в AVR Arduino, а затем также в STM32 Arduino, с соответствующими библиотечными изменениями, это позволило бы ввести «портирование» на платформу в качестве темы?
Возможно, объясняя конструкции #IF (для меня ;) )?
Также Nasties, как аппаратные таймеры, интерфейс DHTNN ?
Стивен

ZMEMW16
Вт 11 апреля 2017 г. 3:06 утра
Я бы не был таким жестоким, однако представил их в STM32 и ограничил их, чтобы использовать AVR, также ударяет жестокость :)
Стивен

Mrburnette
Ср 12 апреля 2017 г. 12:51
Гбулмер написал: <...>
Мне интересно, как это сделать в Arduino Ide. Его обычный режим - иметь весь исходный код, но это победит мою цель.

Я полагаю, я мог бы создать кучу альтернативных сборки «целевой доски», но есть ли более простой способ? Любые предложения?
<...>

Беннебой
Ср 12 апреля 2017 г. 8:28
Я обнаружил, что когда я использовал Notepad ++ и плагин Nppexec для запуска компилятора командной строки IDE, можно было бы установить путь сборки, а затем сохранился код объекта....

Есть подробности о том, как настроить NP ++ на форумах здесь, но конкретная командная строка была:

"C: \ Program Files (x86) \ arduino \ arduino_debug.exe " -Pref Build.path = "$ (current_directory)/build" -verify "$ (full_current_path)"

$ (Current_directory) & $ (Full_current_path) расширения, сделанные NP++

Gbulmer
Чт 13 апреля 2017 г. 1:43
Mrburnette написал:Гбулмер написал: <...>
Мне интересно, как это сделать в Arduino Ide. Его обычный режим - иметь весь исходный код, но это победит мою цель.

Я полагаю, я мог бы создать кучу альтернативных сборки «целевой доски», но есть ли более простой способ? Любые предложения?
<...>

Gbulmer
Чт 13 апреля 2017 г. 1:52
Bennehboy ​​написал:Я обнаружил, что когда я использовал Notepad ++ и плагин Nppexec для запуска компилятора командной строки IDE, можно было бы установить путь сборки, а затем сохранился код объекта....

Есть подробности о том, как настроить NP ++ на форумах здесь, но конкретная командная строка была:

"C: \ Program Files (x86) \ arduino \ arduino_debug.exe " -Pref Build.path = "$ (current_directory)/build" -verify "$ (full_current_path)"

$ (Current_directory) & $ (Full_current_path) расширения, сделанные NP++

Gbulmer
Чт 13 апреля 2017 г. 1:55 утра
Гбулмер написал:Bennehboy ​​написал:Я обнаружил, что когда я использовал Notepad ++ и плагин Nppexec для запуска компилятора командной строки IDE, можно было бы установить путь сборки, а затем сохранился код объекта....

Есть подробности о том, как настроить NP ++ на форумах здесь, но конкретная командная строка была:

"C: \ Program Files (x86) \ arduino \ arduino_debug.exe " -Pref Build.path = "$ (current_directory)/build" -verify "$ (full_current_path)"

$ (Current_directory) & $ (Full_current_path) расширения, сделанные NP++

Gbulmer
Чт 13 апреля 2017 г. 1:58 утра
Bennehboy ​​написал:Я обнаружил, что когда я использовал Notepad ++ и плагин Nppexec для запуска компилятора командной строки IDE, можно было бы установить путь сборки, а затем сохранился код объекта....

Есть подробности о том, как настроить NP ++ на форумах здесь, но конкретная командная строка была:

"C: \ Program Files (x86) \ arduino \ arduino_debug.exe " -Pref Build.path = "$ (current_directory)/build" -verify "$ (full_current_path)"

$ (Current_directory) & $ (Full_current_path) расширения, сделанные NP++

Gbulmer
Чт 13 апреля 2017 г. 2:02
ZMEMW16 написал:Я бы не был таким жестоким, однако представил их в STM32 и ограничил их, чтобы использовать AVR, также ударяет жестокость :)
Стивен

Gbulmer
Пн, 1 мая 2017 г. 13:48
Я думал немного больше об этом.

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

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

Чтобы заставить линкера работать, я думаю, что у массивов нужно либо иметь те же имена, что и имена функций, либо все .o Файл должен быть в пределах массива. Я не знаю, что будет более вероятным подходом.

Кто -нибудь когда -либо пытался встроить код, используя инициализированные данные и изящное использование директив компилятора?

Ганс Леутольд
Чт 18 мая 2017 г., 21:38
Привет, Гбулмер,
Я только что взял урок в колледже Кабрильо в Санта -Круз, штат Калифорния, на Ардуино -Уно на базе C++

Вот ссылка https: // сайты.Google.com/a/cabrillo.эду ... 7/график

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

Ганс