Пример Blinkncount

Гтор
Сб 2 мая 2015 г., 21:14
Привет,

У меня есть одна из красных общих досок с большим LDO на дне. Я пытаюсь получить пример Mrburnette's Blinkncount. Когда я подключаю любую из трех досок, которые у меня есть в машину разработки Win7pro, которую я использую, я получаю USB -устройство, не распознаваемое, поэтому я пытаюсь использовать Stlink для загрузки SW. Когда я выбираю «STM32F103C8 - без загрузки» из меню досок, я получаю возможность использовать STLINK, и я могу успешно скомпилировать и загружать пример «мигай» на эти доски. Однако, когда я пытаюсь собрать пример Blinkncount, который использует серийные функции, я получаю ошибку -
«Класс Hardwareserial» не имеет члена "Isconnected". Если я выберу плату, чтобы быть «универсальным STM32F103C» из меню «Доски», я получаю бесплатную компиляцию, но нет возможности использовать Stlink. Любые мысли?

Спасибо,
Ген

Гтор
Сб 2 мая 2015 г., 21:22
Извините за это, пример компилируется только тогда, когда я устанавливаю плату на «Leaf Labs Maple Mini Rev2, чтобы Flash». Оба предыдущих выбора дают ошибку.

Ген

Mrburnette
Солнце 3 мая 2015 г. 1:18
@gtoner:

Очевидно, что мне нужно обновить некоторые примеры, поскольку Роджер взломал некоторые из кленовых функций Leaflab.

1) для Board_led_pin Вам нужно сделать #define hy Led Pin Pin # выше Setup ()

2) Toggled () был удален из ядра (вы можете написать свою собственную функцию, отслеживая состояние светодиода включено/выкл... Если светодиод включен, выключите привести. Вы также можете прочитать состояние светодиодной булавки и отрицать его.)

3) Самая большая проблема: вы не используете Maple Mini - поэтому вам нужно редактировать Сериал. к Serial1. Как вы будете работать над физическим последовательным портом. Роджер работал над предоставлением USB -сериала для общих досок - так что это может работать сейчас. Re: ViewTopic.PHP?F = 32&T = 31#P260

4) Без USB -сериала этот раздел кода не требуется: // wait for serial monitor to be connected. while (!(Serial.isConnected() && (Serial.getDTR() || Serial.getRTS()))) { toggleLED(); delay(100); // fast blink }

Рик Кимбалл
Солнце 3 мая 2015 г. 2:06 утра
Fwiw: ... У меня есть общий STM32F103C8T6 .. светодиод на PC13 .. Я понятия не имею, что такое PIN #, поскольку номера PIN -код не имеют смысла для моей доски *

Чтобы заставить его работать, я сделал 2 изменения:

1) PIN 33 до PC13
2) Я прокомментировал цикл Whe While с методами, которых не существует для обычного сериала без USB
// пока (!(Сериал.isconnected () && (Сериал.getDtr () || Сериал.getrts ()))))

Сериал для меня на PA9 и P10 (USART1)

Rogerclark
Солнце 03 мая 2015 г. 5:14 утра
Ребята,

Re: Аппаратные серийные проблемы.

Проблема не в том, что я добавил, потому что Leaflabs добавили некоторые функции API не Arduino в свою кодовую базу, которые работают только со встроенным USB -сериалом.

В частности, efconnected, getdtr. и Getrts

эн.G Если вы попытаетесь скомпилировать этот пример для Uno, он дает те же ошибки

Я думаю, что нам нужно переименовать примеры Mrburnette в примерах «Maple Mini», поскольку некоторые из них работают только на мини -досках Maple и Maple (или, возможно, если нам удастся получить USB -сериал, работая на универсальных досках)

КСТАТИ.
Я удалил некоторые другие нестандартные API-материалы, которые создали Efflabs E.глин. Serialusb был заменен сериалом, так как это делает Arduino Due и Leonardo, I.e Их «сериал» проходит через бортовое USB -соединение.



Re: Номера пин -штифтов

Номер PIN -кода, указанный в примерах Arduino E.глин. PIN 33 для светодиода на клене не имеет смысла на общих досках

Все общие платы используют нативное имя/номер PIN -кода, который находится в формате порта/Pinnumber E.глин. PA5 = порт GPIO A, бит 5

Каждый порт GPIO обычно имеет 16 контактов E.глин. PA0 до PA15. Маленькие чипы, такие как F103C8 и CB, имеют только порты A B и C, и я думаю, что у порта C не есть 2 или 3 бита, поэтому PC13 может быть последним доступным битом в этом чипе.
Главная ссылка на это

http: // www.ул.com/web/en/resource/techn ... 171190.PDF

Leaflabs, Maple Mini и Maple Boards Используют пин -контакты в стиле Arduino, а не порт / PIN. Я предполагаю, что они думали, что это слишком большой скачок, чтобы люди могли отправиться на доску рук, а также иметь дело с номерами местного порта/PIN

В любом случае, мы не многое можем с этим поделать, потому что у людей, использующих Maple Mini Boards, нет простого способа узнать, как нативное имя номер PIN -кода

Я думаю, что из памяти Maple Mini Pin 33 на самом деле PB1, так что Maple Mini Ready могли бы написать это имя / номер PIN -кода, и это будет работать нормально, но, конечно, для них было бы болью использовать эту систему номеров, когда их Доска не напечатана с нативными именами булавок :-(

КСТАТИ. Поиск между местными именами и номерами кленовых штифтов находится в варианте/ваш вариант/плата/плата.он.глин.
enum { PB11, PB10, PB2, PB0, PA7, PA6, PA5, PA4, PA3, PA2, PA1, PA0, PC15, PC14, PC13, PB7, PB6, PB5, PB4, PB3, PA15, PA14, PA13, PA12, PA11, PA10, PA9, PA8, PB15, PB14, PB13, PB12, PB8, PB1 };

Гтор
Солнце 3 мая 2015 г., 15:07
Спасибо за ответы все. Я могу проработать номера PIN -код, а не проблема. Мое приложение действительно нужно использовать USB в качестве последовательного порта. Я действительно сейчас не забочусь о загрузчике, так как я считаю, что Stlink идеально подходит для этих плат с четырьмя контактами SWD. Существует ли код для последовательного устройства USB для общих плат?

Моя конечная цель - заставить GRBL работать на одной из этих досок, используя USB -порт в качестве ссылки на связь.

Рик Кимбалл
Солнце 3 мая 2015 г., 15:46
Чтобы заставить его работать, кажется, вам, возможно, придется реализовать схему, которую использовали Leaflabs для переключения USB -штифта.

http: // форумы.Leaflabs.com/тема.PHP?ID = 95

Один из постов там рассказывает о настройке одного из контактов как открытый коллекционер

"Для разъединения USB при D+ я использую подтягивание 1K5 до 3.3V и резистор 470OM, подключенный к выходному штифту CPU с открытым коллектором, чтобы вытянуть его, чтобы отключить."

Вам придется взглянуть на USB -код, который инициализирует USB -материал и посмотреть, как вписать что -то подобное в. Первым шагом было бы настройка вариантов файла/somepath/poard.h с определением для Board_usb_disc_dev и board_usb_disc_bit Вы планируете использовать в качестве вывод.

Гтор
Солнце 03 мая 2015 г., 17:13
Только что пошел на Aliexpress и купил 5 клонов Maple Mini < 21 $ отправлено. Надеюсь, они скоро попадут сюда...

Рик Кимбалл
Солнце 3 мая 2015 г., 17:23
У меня есть один из тех советов по минимальной разработке eBay STM32F103C8T6. Быстрая проверка с многометрами на PA12 (USB_DP) показывает, что у него уже есть 1.5K тянуть до 3.3В. Я успешно использовал пример CDC-ACM CDC-ACM Libopencm3. Однако после загрузки кода вам необходимо отключить USB -кабель и подключить его обратно.

Тогда я получил приключения. Я попробовал простой тест, чтобы увидеть, смогу ли я получить его, чтобы хост перечислил его по требованию. Я открыл окно терминала и сделал хвост на /var /syslog. Затем я загрузил пример кода и нажал сбросить. Ничего не изменилось в системном журнале. На хлебной доске я подключил резистор 100OM (* то, что я лежал вокруг) на землю. Я взял перемычку из PA12 и кратко коснулся другого конца резистора. Для хоста казалось, что я только что подключил новое USB -устройство, и оно запустило свое USB -рукопожатие. В выходе из хвоста системного журнала я получаю эти сообщения:
May 3 13:19:17 kimballr-iMac kernel: [260350.605152] usb 1-3.7.2: new full-speed USB device number 58 using ehci-pci May 3 13:19:18 kimballr-iMac kernel: [260350.701027] usb 1-3.7.2: New USB device found, idVendor=0483, idProduct=5740 May 3 13:19:18 kimballr-iMac kernel: [260350.701032] usb 1-3.7.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 May 3 13:19:18 kimballr-iMac kernel: [260350.701036] usb 1-3.7.2: Product: CDC-ACM Demo May 3 13:19:18 kimballr-iMac kernel: [260350.701040] usb 1-3.7.2: Manufacturer: Black Sphere Technologies May 3 13:19:18 kimballr-iMac kernel: [260350.701043] usb 1-3.7.2: SerialNumber: DEMO May 3 13:19:18 kimballr-iMac kernel: [260350.701609] cdc_acm 1-3.7.2:1.0: This device cannot do calls on its own. It is not a modem. May 3 13:19:18 kimballr-iMac kernel: [260350.701638] cdc_acm 1-3.7.2:1.0: ttyACM1: USB ACM device

Mrburnette
Пн, 04 мая 2015 г. 1:50 утра
Гтонер написал:Только что пошел на Aliexpress и купил 5 клонов Maple Mini < 21 $ отправлено. Надеюсь, они скоро попадут сюда...

Rogerclark
Пн, 04 мая 2015 12:14
Луча

Кстати, я не удалил серийные функции специфичных клена, e.глин. ISCONNNECTED.

Просто только встроенный серийный USB может поддерживать эти функции.

Так что, если я просто переименую папку Mrbrunette в примеры Maple Mini и, возможно, добавлю readme, который объясняет некоторые примеры только на Maple Mini

Mrburnette
Пн, 04 мая 2015 г., 13:03
Rogerclark написал:Луча

Кстати, я не удалил серийные функции специфичных клена, e.глин. ISCONNNECTED.

Просто только встроенный серийный USB может поддерживать эти функции.

Так что, если я просто переименую папку Mrbrunette в примеры Maple Mini и, возможно, добавлю readme, который объясняет некоторые примеры только на Maple Mini

Гтор
Пн, 04 мая 2015 г., 15:21
Я дам всем знать.

Рик Кимбалл
Пн, 04 мая 2015 г. 15:33
Поэтому после еще некоторой игры с моим красным STM32F103C8T6 я понимаю, что это просто работает.
USBSerial nativeSerial; void setup() { nativeSerial.begin(); } void loop() { static int cnt; nativeSerial.println(cnt++); delay(1000); }

Гтор
Пн, 04 мая 2015 г., 19:23
Рик,

Можете ли вы сказать мне, какую доску вы выбрали в меню и что вы используете для загрузки кода?

Спасибо

Рик Кимбалл
Пн, 04 мая 2015 г., 19:32
Гтонер написал:Можете ли вы сказать мне, какую доску вы выбрали в меню и что вы используете для загрузки кода?

Гтор
Пн, 04 мая 2015 г., 19:52
Супер! Я, к сожалению, только что разбил разъем MicroUSB на доске, который я принес с собой (я сейчас путешествую за бизнесом), поэтому я не смогу попробовать это некоторое время. Как вы узнали, чтобы сделать Usserial Declaration? Я пришел в короткую документацию для всего этого. Newbee at the arduino withs, опытный инженер HW.

Спасибо!

Рик Кимбалл
Пн, 04 мая 2015 г., 20:23
Я трачу слишком много времени на чтение основного кода. Я начал смотреть на доски.H, чтобы выяснить, как работала PIN -код USB_DISC. Это приведет меня к Usserial Code.

Гтор
Вторник 5 мая 2015 г., 19:27
Рик,

У меня была резервная доска, отправленная мне и попробовал ваш код, и он отлично работает. Большое спасибо. Единственное, что мне нужно было сделать, это заработать на S в аборигенельной декларации.

Еще раз спасибо, теперь я могу добиться некоторого прогресса.

Ахулл
Вторник 5 мая 2015 г. 20:07
За то, что его стоит, включение варианта сборки для USB Serial, очевидно, занимает некоторые ресурсы на STM32F103

Мигание с -deserial_usb
Sketch использует 15 608 байт (14%) пространства для хранения программ. Максимум составляет 108 000 байтов.
Глобальные переменные используют 4504 байта динамической памяти.

Мигание без -deserial_usb
Sketch использует 13 868 байтов (12%) пространства для хранения программ. Максимум составляет 108 000 байтов.
Глобальные переменные используют 3872 байта динамической памяти.

Таким образом, опция использует минимум 1740 байт вспышки и 1532 байта ОЗУ. Не незначительные числа, если в вашем проекте напряженно, и вам не нужен USB Serial.

Гтор
Пн 25 мая 2015 г. 14:55
Все,

К вашему сведению, я заказал 5 клонов Mini Mini Boards через Aliexpress 5/5, и они прибыли 5/22. Семнадцать дней с использованием бесплатной доставки, не так уж и плохо!

Ген

Mrburnette
Пн 25 мая 2015 г. 15:02
Ген,

Большой. Это был мой опыт работы с подразделениями в 5 раз до 10x. 1x кажется немного медленнее в доставке.

Луча

Использование USB ?

USB-сериалы