Hamulus

STM32F407ZGT6: ошибка 43 при подключении к USB

39 сообщений в этой теме

BARS_    734
Только что, Hamulus сказал:

только от чипа?

Естественно. Питание у него 3.3В, значит и на выходе он даст 3,3В. Но на вход МК можно давать и 5В, и выводы толерантные к 5В указаны в даташите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
elki    78
2 часа назад, Hamulus сказал:

а если питание будет через USB?

На плате стоит регулятор, он 5 вольт с юсб опустит для питания чипа до 3.3 вольта

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    734
Только что, Hamulus сказал:

получить невозможно

Ох уж эти ардуинщики, не читающие даташиты! Нет, нельзя, только через схему согласования. Только на кой там получать 5В, если USB-UART адаптеры спокойно работают и с 3,3В?!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Hamulus    0

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

http://ali.onl/Cd5

и оно работает только на 5В

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    734
Только что, Hamulus сказал:

и оно работает только на 5В

Да что ты! А вот даташит утверждает обратное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Hamulus    0

чето не догадался, спасибо:)

Изменено пользователем Hamulus

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    734

Подавай на питание своей платы 5В и она будет нормально воспринимать уровни 3,3В с МК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 407

у меня CP2102 прекрасно пережовывает любые уровни. Сначала мудрил с перемычкой 3,3 - 5 вольт, потом забил. Она жрет все

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Hamulus    0

еще сразу попутный вопрос подключил через ST-Link V2,

нарыл вот такой код для тестового блинка отсюда

http://alex2772.ru/stm32f4discovery-урок-0-выбор-ide-и-светодиодная-моргал/

/* Инклюды */
#include "stm32f4xx.h"
#include "stm32f4xx_gpio.h"
#include "stm32f4xx_rcc.h"


void delay(volatile long t) {
    while (t--);
}

int main(){
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE); // Тактирование

    /* Инициализация портов ввода-вывода */
    GPIO_InitTypeDef ioInit;
    ioInit.GPIO_Mode = GPIO_Mode_OUT; // Направление - выход
    ioInit.GPIO_OType = GPIO_OType_PP; // Двухтактный выход
    ioInit.GPIO_PuPd = GPIO_PuPd_NOPULL; // Без подтяжки
    ioInit.GPIO_Pin = 26; // В оргинале тут стояло значение GPIO_Pin_13
    ioInit.GPIO_Speed = GPIO_Speed_2MHz; // Низкая скорость, ибо больше не надо

    GPIO_Init(GPIOD, &ioInit); // Инициализация порта D

    /* Бесконечный цикл */
    while (1) {
        GPIO_ToggleBits(GPIOD, 26); // Включает светодиод, если не горит, и наоборот // В оргинале тут стояло значение GPIO_Pin_13
        delay(2000000); // Ждём

    }

    return 0;
}

код залился и работает, но мигает не тот светодиод

то есть если смотреть на схему, выданную продавцом, то на 26 ноге стоит LED1, а мигает почему-то LED2

если же установить значение 117, то вообще ничего не мигает

при этом прозвонкой я установил, что светодиоды установлены как на приложенной схеме, т.е. на 26 ноге (выход PC0) именно LED1, а на 117 (выход PD3) LED2

чего я не понимаю?

Schematic.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    734
2 минуты назад, Hamulus сказал:

при этом прозвонкой я установил, что светодиоды установлены как на приложенной схеме, т.е. на 26 ноге (выход PC0) именно LED1, а на 117 (выход PD3) LED2

Может по тому, что в коде указан порт D? И может уже начать читать даташиты и писать нормальный код, а не пытаться запустить чужие выкидыши?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Hamulus    0

вообще-то изучение любого языка начинается с Hello world, без него мотивация падает:) вот я и хочу чтобы хотя бы Hello world в виде блинка получился... я же собираюсь спрашивать каждую мелочь, но если не нравятся мои вопросы - не отвечайте:)
просто у STM32 нет своего Hello World (понятное дело, что это не язык, а микроконтроллер, но всё же)... что вот делать?:)

про порт D понял, но не не понял почему я могу получить мигание LED2 на нем при значении 26?

по логике то вообще на каждом порту от 0 до 15 должно быть значение, т.е. LED 2 должен мигать при значении 3 (раз он на PD)

а Led1 должен мигать на PORTC и выводе 0

но это не работает... почему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    734
16 минут назад, Hamulus сказал:

вообще-то изучение любого языка начинается с Hello world

Вот именно, а не с копипаста чужого кода в котором ничего не смыслишь) Забудь про SPL и HAL, пиши по человечески, через регистры, и станет понятно, что и как работает.

17 минут назад, Hamulus сказал:

по логике то вообще на каждом порту от 0 до 15 должно быть значение,

С какой радости? Там 16 бит, а не число 15. А значение там может быть от 1 до 0xFFFF. И оперировать надо именно HEX значениями, чтобы потом не путаться.

18 минут назад, Hamulus сказал:

а Led1 должен мигать на PORTC и выводе 0

Повторю еще раз, в коде вся настройка для порта D, переключение состояния на нем же. С чего тогда мигать диоду на порт C? Это не ардуйня, тут  нет идиотской сквозной нумерации всех выводов, а идет строгая привязка к конкретному порту.

21 минуту назад, Hamulus сказал:

но это не работает... почему?

Да по тому, что даташит еще не открывался и не смотрелась работа портов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Сообщения

    • Всем доброго дня! Собрал PP на 6н9с+Г-807. Корпус - сталь, полностью закрытый. Беспокоит такая ерунда: ловит помехи (детектирует) от сотового телефона. Кабель источника отключал, ничего не меняется. Только экран ламп спасет или есть какой-то метод?
    • Уважаемые Господа Досталось мне тут наследство от одного радиолюбителя. Разные блоки от танковых р/с и т.д. И вот среди всего нашел плату трансивера "Аматор-160"  Хотел бы восстановить и запустить. Но вот стоит ли? Остались ли еще те кто работает на 160 или 80м рядом со мной в Кузбассе? Послушал в интернете SDR на 80 м Новокузнецка и Красноярска. В эфире тишина Слушал естественно вечером (80-ка ночной диапазон) в 21-23 часа
    • И присесть после этого на пару - тройку лет. зы. и не надо сейчас рассказывать сказки, что при СССР такого не было потому, что у каждой помойки стоял дядя Стёпа. Просто люди были нищие, просто так ничего не выбрасывали, да и различной упаковки производилось в разы меньше, от того и мусора меньше.
    • Для чего 2-полярный стабилизатор 2х35В, если КУН-у(по приведённой/рассматриваемой схеме) необходимо и достаточно однополярного на 40? 
    • Судя по отсутсвию каких либо самостоятельных действий по диагностике, с этим и другими аппаратами, смысла действительно мало.
    • @max820 Симистор ВТА41-600, судя по даташит,   http://www.ween-semi.com/documents/BTA41-600B.pdf является 4-х квадрантным, поэтому он будет управляться во всех 4-х квадрантах обязательно. Но дело в том что максимальный ток управления в 4-м квадранте выше тока управления в 1.2 и 3 квадрантах и составляет 70 мА вместо 50 мА в других квадрантах. Судя по Вашей схеме, когда на МТ2 +, то на УЭ - , а когда на МТ2 - , то на УЭ +. Получается, что симистор работает во 2 и 4 квадрантах и возможно из за тока управления 4-го квадранта добавляется температура. Не уверен в этом, но возможно. А насчет 80-90 градусов можете не волноваться. Это для нашей руки горячо, а для симистора это вполне комфортные условия. По даташит его предельная рабочая температура 150 град. Доводить до этого конечно же не надо, но и 90 град. - это не проблема.  А попробуйте поменять условные катод и анод симистора местами на Вашей схемке (это выводы 1 и 2, переверните симистор вверх ногами) Тогда, полагаю, управление будет происходить в 1 и 3 квадрантах - это любимые квадранты симисторов. Во всяком случае, в типовых схемах симисторных регуляторов такое включение наиболее популярно. Может и греться будет меньше, но не на много. И еще. Если будете пробовать поменять терминалы местами, то добавьте обязательно резистор 1К. Это R5 на другой схемке. Этот резистор необходим для защиты от ложных срабатываний симистора. Его рекомендуется ставить, чтобы УЭ не "висел в воздухе".
    • Угу, нет никакой причины использовать отдельные модули. Пусть LM358 регулятора тока воздействует не на затвор своего полевика, а на регулирующий элемент, который стоит в стабилизаторе напряжения. По такому примерно принципу и построено большинство универсальных блоков питания.