• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!
Hamulus

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

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

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

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

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

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
elki    65
2 часа назад, Hamulus сказал:

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

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

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


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

то есть выход на 5v для TX получить невозможно?

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


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

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

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

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


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

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

http://ali.onl/Cd5

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

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

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


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

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

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

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


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

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

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

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


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

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

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


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

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

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


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

У КМОПов граница 0/1 примерно половина питания, то есть для 5 В - 2.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_    573
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_    573
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 смайлов.

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

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

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

Загрузка...

  • Сообщения

    • не понимаю на усилитель подается 32 в , перемычку на реле кидаешь, и ни чего не происходит, музыка ни как не играет, до этого хоть как то звучало. небольшой щелчок в колонках и все..  
    • А что тут подсказывать. Обычный трансформатор на 12 вольт на нужную мощность  без всяких заморочек. И зачем получать постоянное 12 вольт чтобы его потом опять сделать переменным. Лишний геморой
    • @RIMUS1989i цобель у Вас на плате уся стоит?
    • @Гость Нет Значит это был совет по ремонту, а не описание заводской конструкции. Давно это читал, просто сам факт запомнился.
    •       Да запросто, ребята. Нет проблем.
      Для начинающего – однозначно «транзистор - тестер». Смотреть с 8 минут 10 секунд.

      Далее Е7-15, хотя и староват уже. Стационарный. Цена большая, но терпимая. Он измеряет на частотах 100Гц и 1кГц. Плюс у него есть возможность подавать напряжение смещения. Постоянная составляющая важна для проверки оксидных конденсаторов, чтобы не было переполюсовки, а также для оценки барьерной емкости диодов (импульсный, выпрямительный или варикап).

      Более современный – АКИП-6108. Цену даже не смотрите. Цена большая, почти как у цифрового осциллографа. (Вроде бы, какой-то русифицированный Hantek, не помню точно). Переносной, на  аккумуляторах. Он измеряет на частотах 100Гц, 120Гц, 1кГц, 10кГц и 100кГц.
      Или его упрощенная версия – АКИП6109 с частотами измерения 100Гц, 120Гц, 1кГц и 10кГц.
      Диапазон частот у АКИП-6108 и АКИП-6109 довольно большой, но они серьезно уступают даже устаревшему Е7-15, т.к. не могут подавать постоянное напряжение смещения.
    • Я почему вспомнил, когда пришел в часть, был там старослужащий сержант Гриша Бойчак, тоже телемеханик, и он решил проверить меня на гипотетическую неисправность - перегорание этого резистора. А на учебе, когда кто-то делал неисправность, а другой ее потом искал, самым жестоким дефектом (который так никто и не смог найти и за который я чуть было не был бит) было, когда я разобрал ламповую панельку и откусил у контакта "лиру". Хотя неконтакт в панельке вроде бы  обычная неисправность. 
    • Найти в магазине, индуктивность 2,2 микроГенри, Ампера на 2. Размер должен быть примерно такой же.
      Если осколки не потерялись, можно попробовать склеить секундным клеем - гелем.