Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Дэниил Измайлов
0 / 0 / 0
Регистрация: 13.07.2019
Сообщений: 3
1

Нет достаточного напряжение на ножки микроконтроллера

13.07.2019, 05:59. Просмотров 1720. Ответов 5
Метки нет (Все метки)

Наконец-то решил таки впервые в своей жизни поморгать светодиодом, а не тут то было. Имея в распоряжении STM32F103RCT6 (не на доске, а просто "голый" МК), приобретя программатор ST-Link V2, мне каким-то чудом (а первый опыт — определённо и есть чудо) удалось практически беспроблемно занести программу на МК. Всё казалось бы хорошо, хотя мне было в это сложно поверить, и перед подключением светодиода я решил удостоверится, какое же напряжение на выходе выдаёт микроконтроллер. Сам же МК я, естественно, питал 3.3V по даташиту от программатора.
Итак, я увидел, что максимальное выходное напряжение 1-1.1V, ток же вовсе мизерный, исчисляющийся в мкА, а не в мА.
Собственно, вопрос к тем, кто, в отличии от меня, имеет опыт в работе с МК и знает, как поступать в данной ситуации. Гуглить пытался, запрос как-то корректно я составить не сумел, подобных тем не нашёл, где у людей выходное напряжение меньше 3.3V.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2019, 05:59
Ответы с готовыми решениями:

Как подогнуть ножки у микроконтроллера для посадки?
Доброго времени суток! :) Имеется панелька на плату под микроконтроллер с корпусом DIP20....

Почему нет вакуума, Нет достаточного вакуума
Добрый день Прошу помочь специалистов проанализировать причину недостаточного вакуума или...

Нет одной ножки VCC какие могут быть последствия?
Всем привет. Есть мат. плата Asrock H67M SI. Нечаянно отломал одну ножку, скрин приложил. на...

Нет передачи по UART с одного микроконтроллера на другой ATmega 8535
Написали код для передачи данных с АЦП одного микроконтроллера и приема данных на другом. При...

Битовый сдвиг - вывод достаточного количества нулей
Вопрос конечно лаймерский, но все же как сделать, что бы в консоли вместо 101 было 00000101, и...

5
ValeryS
Модератор
7783 / 5786 / 754
Регистрация: 14.02.2011
Сообщений: 19,791
Завершенные тесты: 1
13.07.2019, 07:04 2
Цитата Сообщение от Дэниил Измайлов Посмотреть сообщение
что максимальное выходное напряжение 1-1.1V, ток же вовсе мизерный,
как ножку сконфигурировал?
0
Дэниил Измайлов
0 / 0 / 0
Регистрация: 13.07.2019
Сообщений: 3
13.07.2019, 18:45  [ТС] 3
Вот такие настройки задал для ноги PC9

C
1
2
3
4
5
6
7
  // Enable clock for GPIOC
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
  // Configure PC9 as push-pull output
  GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9;
  GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOC, &GPIO_InitStruct);
0
ValeryS
Модератор
7783 / 5786 / 754
Регистрация: 14.02.2011
Сообщений: 19,791
Завершенные тесты: 1
13.07.2019, 20:06 4
конфигурация правильная. А как подаешь 0 и 1 на ножку?
смотри так же замыкания на соседние ножки, а так же на землю
0
Дэниил Измайлов
0 / 0 / 0
Регистрация: 13.07.2019
Сообщений: 3
14.07.2019, 01:07  [ТС] 5
На всякий случай решил переписать программу под пин PC6, всё работает. Скорее всего что-то не совсем нормально пропаяно. Итак, теперь следующий вопрос, с вашего позволения, в той же теме. Я решил сделать попеременно зажигающиеся диоды. Так вот при добавлении ещё одного диода почему-то не работает ничего. Гуглил "configuring several pins stm32", однако поиск результатов особых не дал.
Так я прописал второй пин
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
int main(void)
{
  // Enable clock for GPIOC
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
  // Configure PC6 as push-pull output
  GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6;
  GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; 
  GPIO_Init(GPIOC, &GPIO_InitStruct);
    // Configure PC1 as push-pull output
  GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1;
  GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOC, &GPIO_InitStruct); 
  while (1)
 {
  // Turn on LED on PC6
  GPIO_ResetBits(GPIOC, GPIO_Pin_6);
  delay(250000);
  // Turn off LED on PC6
  GPIO_SetBits(GPIOC, GPIO_Pin_6);
  delay(250000);  
    // Turn on LED on PC1
  GPIO_ResetBits(GPIOC, GPIO_Pin_1);
  delay(250000);
  // Turn off LED on PC1
  GPIO_SetBits(GPIOC, GPIO_Pin_1);
  delay(250000);
 }
}
P.S. Имеет смысл выносить в отдельную тему? Тогда удастся помочь таким же профанам, как я, найти ответ на их вопрос
0
ValeryS
Модератор
7783 / 5786 / 754
Регистрация: 14.02.2011
Сообщений: 19,791
Завершенные тесты: 1
14.07.2019, 06:43 6
Цитата Сообщение от Дэниил Измайлов Посмотреть сообщение
Имеет смысл выносить в отдельную тему?
имеет
один вопрос одна тема, правила п 5.15
Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
и выделяйте код тэгами
для языка Си технология примерно такая
набрать листинг
выделить его
и на шапке ответа нажать на кнопочку "С"
теперь по поводу вопроса
Цитата Сообщение от Дэниил Измайлов Посмотреть сообщение
не работает ничего.
смущает меня вот эта функция
Цитата Сообщение от Дэниил Измайлов Посмотреть сообщение
delay(250000);
где она определена? какой у неё аргумент? и в чем измеряется задержка?
обычно в милисекундах, тогда 250000 это 250 секунд, 4 с лишним минуты может просто не дождался переключения?
0
14.07.2019, 06:43
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2019, 06:43

Определить наименьшее количество комнат, достаточного для размещения участников олимпиады
Олимпиада ***На олимпиаду по информатике прибыли n команд , каждая из которых состоит из ai...

напряжение плавно понижается на 15% от текущего каждую минуту. Через сколько минут напряжение упадет до уровня 5в?
При включении реостата в электрическую цепь напряжение плавно понижается на 15% от текущего каждую...

Видеоплата NVIDIA не получет достаточного питания. Поэтому производительность видеоплаты снижается до безопасного для её работы уровня
Всем,привет! Для устранения проблемы подключите к видеоплате NVIDIA дополнительный разъём...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru