[Решенные] Проблемы с Blue Pill Board Serial1, Serial2, Serial3

Kushal4269
Солнце 07 октября 2018 г. 12:15
Привет, ребята, как вы можете видеть, я новичок в этом четырех.
Я хочу, чтобы доска STM32F103C (Blue Pill) для общения с модулями ESP8266-12E и NEO 6M GPS с синей таблеткой. И я использовал этот модуль раньше с Arduino Uno и Mega и получает взыскание результатов. Но когда я использовал синюю таблетку для общения с ESP8266-12E, она не работает через Serial1, Serial2, Serial3 (я проверил один за другим). Поэтому я сделал простой код, который может проверить вывод Serial2 (или любой из трех).
как ниже,
#include void setup() { Wire.setSCL(1); // try alternate i2c pins - Worked! Wire.setSDA(0); Wire.begin(); // join i2c bus (address optional for master) } int got[6]; void loop() { Wire.beginTransmission(0x19); // transmit to device #0x19 Wire.write(byte(0x20)); // sets register pointer to echo CR1 Wire.endTransmission(); // stop transmitting // read back Wire.requestFrom(0x19, 1); // request 2 bytes from slave device #112 // receive reading if (Wire.available() >= 1) { // if byte received got[0] = Wire.read(); // receive } // Write new data Wire.beginTransmission(0x19); // transmit to device 0x19 Wire.write(byte(0x20)); // sets register pointer to the command register 1 (0x20) Wire.write(byte(0x57)); // Send arbitrary, acceptable, and recognizable data Wire.endTransmission(); // stop transmitting Wire.beginTransmission(0x19); // transmit to device #0x19 Wire.write(byte(0x20)); // sets register pointer to echo CR1 Wire.endTransmission(); // stop transmitting Wire.requestFrom(0x19, 1); if (Wire.available() >= 1) { // if byte received got[1] = Wire.read(); // receive high byte (overwrites previous reading) // NOTE: 0x57 reads back as 87 (decimal). !! } }

Pareidolialjebus
Пн, 8 октября 2018 г. 5:06 утра
Какое ядро ​​вы используете?

Быстрый поиск на форуме даст вам довольно много версий этого - у меня были похожие проблемы, но быстро их решил, прочитав последние темы.
При использовании ядра STM: ViewTopic.PHP?f = 3&t = 4200
При использовании ядра Libmaple (.k.а. Ядро Роджера) сериал работает из коробки.
Если вы используете общее ядро, вы самостоятельно, а не подсказка - я сначала попробовал его, понял, что проект не активен и сбросил его.

Мой совет, если я использую Arduino для STM32, состоит в том, чтобы прочитать основы здесь, прежде чем делать что -то еще:

ViewTopic.PHP?f = 2&t = 3111 "*** Пожалуйста, прочтите это первое ****"

ViewTopic.PHP?F = 55&T = 2465 "Какая доска STM32 вы должны купить"
http: // wiki.STM32duino.com/index.PHP?title = api "API"
ViewTopic.PHP?F = 55&t = 2471 "FAQ и ссылки"

Chismicro
Пн, 8 октября 2018 г., 5:50 утра
Если вы используете общее ядро, вы самостоятельно, а не подсказка - я сначала попробовал его, понял, что проект не активен и сбросил его. Наверное, это может помочь:
https: // danieleff.GitHub.io/stm32generic/uart/

Mrburnette
Пн, 8 октября 2018 г. 12:52
Обычно пользователи Bluepill используют Ядро Роджера И тогда эта страница имеет смысл: http: // wiki.STM32duino.com/index.PHP?title = api

Я сделал проект GPS с MM здесь.

Я подключил чертежи с малиновым пи здесь. (та же концепция, что и ESP8266/ESP32)

Луча
uint8_t sreg = SREG; cli(); // critical region SREG = sreg;

Стивестронг
Пн, 8 октября 2018 г., 14:12
Если вы загружаете через сериал, у вас нет USB -серийного определения по умолчанию.
Это означает, что
Serial == usart1 и serial2 == usart3.
Примите это во внимание при выборе булавок для подключения серийного интерфейса.

Mrburnette
Пн, 8 октября 2018 г., 14:32
Я связан с вики -страницей, но с учетом того, насколько это важно (спасибо, Стив), я собираюсь извлечь информацию в вики здесь:
Сериал & USB -сериал
Последовательный USB включен для всех плат F103 при загрузке с использованием загрузчика, он также доступен при загрузке с помощью ST-Link (SWD) в этих случаях:

Сериал.Печать ("Привет, мир"); будет печатать через серийный USB (CDC).
Отпечатки Serial1 на оборудование USART 1
Отпечатки Serial2 на оборудование USART 2
и т. д
При загрузке через «серийный» (внешний USB -последовательный адаптер, подключенный к PA9 и PA10 (USART1) на STM32):

Сериал.Печать ("Привет, мир"); будет печатать на оборудование USART1 (тот, который был загружен с использованием)
Отпечатки Serial1 на оборудование USART 2
и т. д
Примечание. Некоторые доски, e.глин. Nucleo F103RB имеет специальное последовательное картирование, потому что эти платы должны иметь аппаратные модификации, чтобы сделать серийные использование.

Сериал <-> Картирование USART определено в файле «Варианты/<board_name>/доска.CPP ".
Все участники:
Это третий раз, когда я или кто -то другой ответил почти идентичные «серийные» вопросы за последние несколько дней. Я раздражен, потому что поиск на форуме/Google быстро вернет информацию. При использовании Google против сайта используйте <условия> Сайт: Stm32duino.компонент

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

Луча

Kushal4269
Пн, 8 октября 2018 г., 16:52
Спасибо за ваше предложение ,
Это сработало для меня.

Chismicro
Пн, 8 октября 2018 г., 17:06
[Pareidolialjebus - Пн, 8 октября 2018 г. 5:06] - .. Общее ядро ....,- Я попробовал это сначала, понял, что проект не активен, и сбросил его.
КСТАТИ.: Это неправильно. А Huaweixx Branch Вероятно, филиал, где происходит наибольшее развитие.

Но ... По какой -то причине это не работает на моем компьютере ....

Асмаллри
Пн, 8 октября 2018 г., 21:22
Наверное, потому что вы не купили свой компьютер у Supermicro или Apple. По сообщениям, у них есть особый китайский чип :-)

Pareidolialjebus
Пн, 8 октября 2018 г., 21:30
[Chismicro - Пн, 8 октября 2018 г., 17:06] -
[Pareidolialjebus - Пн, 8 октября 2018 г. 5:06] - .. Общее ядро ....,- Я попробовал это сначала, понял, что проект не активен, и сбросил его.
КСТАТИ.: Это неправильно. А Huaweixx Branch Вероятно, филиал, где происходит наибольшее развитие.

Но ... По какой -то причине это не работает на моем компьютере ....
Приятно знать - я взял свою информацию отсюда: ViewTopic.PHP?f = 2&t = 3111

"3. Альтернативный общий ядро: * Устарел больше не разрабатывается * Отредактировано: 23.08.2013
https: // github.com/danieleff/stm32generic"

Mrburnette
Пн, 8 октября 2018 г., 22:24
[Pareidolialjebus - Пн, 8 октября 2018 г., 21:30] -
[Chismicro - Пн, 8 октября 2018 г., 17:06] -
[Pareidolialjebus - Пн, 8 октября 2018 г. 5:06] - .. Общее ядро ....,- Я попробовал это сначала, понял, что проект не активен, и сбросил его.
КСТАТИ.: Это неправильно. А Huaweixx Branch Вероятно, филиал, где происходит наибольшее развитие.

Но ... По какой -то причине это не работает на моем компьютере ....
Приятно знать - я взял свою информацию отсюда: ViewTopic.PHP?f = 2&t = 3111



Предмет № 3 верен... Уход и поиск некоторого не члена, аналогичное ядро ​​на GitHub не означает, что оно является заменой ядра Даниэля - ядро, которое в основном является оберткой вокруг HAL. Теперь, когда у STM есть хорошо развитое официальное ядро, на самом деле есть только два (2) активно поддерживаемые ядра с этой точки зрения форума - отклонитесь, если хотите, но вы будете в самостоятельных водах.

Луча

Scrackx и Firmata