Jump to content

Проблемы с STM8S903K3T6C


Recommended Posts

Здравствуйте! Решил я попробовать STM8. Ардуино программирую хорошо, а вот STM что-то новое. Приобрел этот мк, сделал отладочную плату сам. Фото приклеплю. Установил STVD, STVP, Cosmic C и SPL. Добавил src и inc файлы, которые этому мк можно засунуть. Те файлы на которые ругалось при компиляции я удалил, нет такой периферии у мк. Пробую сделать простую мигалку как блинк на ардуино. Вот мой код main.c

Спойлер

/* MAIN.C file
 * 
 * Copyright (c) 2002-2005 STMicroelectronics
 */
#include "STM8S.h"

main()
{
    GPIO_DeInit(GPIOB); // prepare Port B for working 
    GPIO_Init (GPIOB, GPIO_PIN_7, GPIO_MODE_OUT_PP_LOW_SLOW);
    GPIO_WriteHigh(GPIOB, GPIO_PIN_7);
    while (1);
}

Компилятор ругался на одну особенность. Сам не разобрался, в примерах в интернете нашел, что можно в файле stm8s_conf.h нужно закомментировать строку "#define USE_FULL_ASSERT    (1) ", так и сделал. В результате скомпилировалось все, прошил. Люди в интернете тоже так делали и работало. Но вот никакие мои светодиоды не мигают, ничего. Пробовал и другие выводы. Тоже ничего.Мерял мультиметром что там на выходе пина. То 0,2В, то 1,5В, то 2В, странно, микроконтроллер будто не работает.Что я делаю не так? В примерах и видео из интернета люди делают и у них все работает. Я за ними повторяю, ничего не работает. Пробовал разное делать, не помогло( У меня два таких мк, второму сделал минимальную обвязку, без светодиодов. Он себя так само ведет. :wall::wall::wall::wall::wall::help:

 

dev_board.jpg

sch.png

Link to comment
Share on other sites

1 час назад, mckay сказал:

Но вот никакие мои светодиоды не мигают, ничего

У SMD светодиодов обычно зелёный торец - анод. У Вас же они припаяны как будто развёрнутыми. GND к светодиодам точно приходит?

Link to comment
Share on other sites

MORNSUN – это не только модули. Собственные микросхемы известного производителя ИП
Производитель популярных модулей электропитания MORNSUN помимо них предлагает также микросхемы ШИМ-контроллеров для AC/DC и DC/DC, микросхемы запуска (стартеры) для этих ШИМ-контроллеров, драйверы интерфейсов RS-485 и CAN и микросхемы изоляторов для гальванической развязки интерфейсов и цифровых сигнальных линий. В некоторых случаях эти изделия превосходят по характеристикам изделия европейских и американских производителей.

Читать статью >>
 

2 часа назад, mckay сказал:

STVD, STVP, Cosmic C и SPL

Установите IAR и избавьтесь от SPL. После этого сразу же все заработает. А еще научитесь пользоваться отладчиком и даташитом, тогда сразу будет видно где и что настроено неправильно.

Link to comment
Share on other sites

Приглашаем на вебинар «Актуальные вопросы о продукции и планах MEAN WELL в России»(13/10/2022)

Приглашаем 13 октября всех желающих присоединиться к вебинару, который будет проводить компания КОМПЭЛ совместно с представителями бренда MEAN WELL. 

Вебинар будет посвящен новинкам продукции, планам MEAN WELL на следующий год, аналогам продукции ушедших из РФ брендов, особенностям работы в текущих условиях, возможностях субдистрибьюции и другим вопросам. Мероприятие пройдет в формате живого диалога.  Подробнее>>

2 часа назад, DedLogoped сказал:

У SMD светодиодов обычно зелёный торец - анод. 

Первый раз про такое слышу.
Обычно - как раз катод (-).

Link to comment
Share on other sites

Литиевые батарейки FANSO EVE Energy для потребительской электроники
В электронных устройствах потребительского сегмента широко применяются различные литиевые батарейки. Наиболее востребованными являются дисковые и цилиндрические элементы питания, а также батареи типа «Крона». Практически любой подобный источник тока можно найти в номенклатуре компании FANSO EVE Energy.

Читать подробнее>>

@_abk_ и @LiVit, поверьте на слово - у меня светодиоды 0805, одни куплены на алиэкспресс, два других цвета куплены на Митинском, у всех зелёная полоска - анод!

Ниже попытался сфоткать пруф, неудобной одной рукой щупами тыкать, а другой телефоном щёлкать:

 

Спойлер

IMG_20220804_131102.thumb.jpg.abb4d61a59141298c624629c217c3535.jpgIMG_20220804_131107.thumb.jpg.8477d602acac917fc43029fc9f3a4ce3.jpg

 

Link to comment
Share on other sites

На макетке земля светодиодов висит на земле конденсаторов с кварца? Если да, то так лучше не делать, перережте дорогу и заземлите в другом месте.

Link to comment
Share on other sites

Значит верить никому нельзя) Припоминаю что то подобное мне попадалось с полоской у анода. 

Link to comment
Share on other sites

1 час назад, DedLogoped сказал:

@_abk_ и @LiVit, поверьте на слово - у меня светодиоды 0805, одни куплены на алиэкспресс, два других цвета куплены на Митинском, у всех зелёная полоска - анод!

Стоп-стоп-стоп, уважаемый!
Вы путаете мягкое с тёплым.
Полоска на торце указывает минус.
А у вас на фотке полоска снизу. Если видим "Т" снизу, то надо смотреть даташит, но скорее всего "пипка" показывает на минус.
На фотке ТС-а вы не можете видеть низ, только торец.
Да и странно это - ориентироваться по знакам снизу светодиода, которые после монтажа просто так не увидишь.

На моей фотке - два одинаковых светодиода, катод у обоих слева.

image.png.a35e569f8f7f531d7a85d0f043ddecb0.png

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

Edited by LiVit
Link to comment
Share on other sites

6 часов назад, DedLogoped сказал:

GND к светодиодам точно приходит?

Так я правильно светодиоды запаял. Мультиметром прозвонил, Зелёная полоска с верху должны быть к минусу.

6 часов назад, BARS_ сказал:

Установите IAR и избавьтесь от SPL

IAR может и установлю сегодня. А вот почему избавиться от SPL? Программировать на уровне регистров?

6 часов назад, _abk_ сказал:

Конденсаторы точно 12 пФ?

Маркировка на конденсаторах 120, должно быть 12 пФ, но перед запайкой не измерял. Второй чип я пытался запустить без кварца и конденсаторов, ведет себя так же. Та и тактирование я не настраивал, в примерах из интернета работало без него. А такое чувство, будто мк не запустился просто. На портах какой-то бардак, нет лог 0 или лог 1, плавает туда сюда. 

Вот тут только питание подключил (конденсатора нет), swim, vcap 1uF и reset через 10К на плюс питания. Прошивается, Но ведёт себя так же как и первый. Поставил лог 1 на выводе, а там каша.

IMG_20220804_151434.jpg

Link to comment
Share on other sites

3 минуты назад, mckay сказал:

А вот почему избавиться от SPL?

Глючно, тормознуто, плохо отслеживаемо под отладкой, плохо проверяемо по даташиту.

 

3 минуты назад, mckay сказал:

Программировать на уровне регистров?

Именно так. Настройки у STM элементарные, буквально несколько строк кода.

Например, пот настройка выводов порта и управление ими.

GPIOC->DDR |= 1<<3 | 1<<4;
GPIOC->CR1 |= 1<<3 | 1<<4;

#define OUT1_H GPIOC->ODR |= 1<<3
#define OUT2_H GPIOC->ODR |= 1<<4

#define OUT1_L GPIOC->ODR &= ~(1<<3)
#define OUT2_L GPIOC->ODR &= ~(1<<4)

Можно открыть даташит и легко понять, что именно в портах настроено.

image.png.ee83d7d6e7eb5551e5cadd9784768cad.png

Как видите, все очень просто. Причем даташит у STM очень понятный, наверное лучший, среди МК. А что там ваши SPL понастраивали - вообще неочевидно.

 

4 минуты назад, mckay сказал:

А такое чувство, будто мк не запустился просто.

Что при этом говорит отладчик?

 

4 минуты назад, mckay сказал:

На портах какой-то бардак, нет лог 0 или лог 1, плавает туда сюда. 

Это называется Z-state.

 

P.S.

Кстати, питается МК через стабилизатор на 3,3В. Этот самый стабилизатор, случайно, не с али заказан?

Link to comment
Share on other sites

44 минуты назад, LiVit сказал:

Полоска на торце указывает минус.
А у вас на фотке полоска снизу

Возможно, спорить не буду. Не сталкивался со светодиодами с маркировкой торца.

26 минут назад, mckay сказал:

Так я правильно светодиоды запаял. Мультиметром прозвонил

Значит мои подозрения отпадают :)

Link to comment
Share on other sites

1 час назад, BARS_ сказал:

Кстати, питается МК через стабилизатор на 3,3В. Этот самый стабилизатор, случайно, не с али заказан?

СТабилизаторы да с али, но очень хорошо себя показали уже в нескольких других устройствах (один и тот же заказ), кристал я не вскрывал не смотрел. Но питание по другому сейчас. Я взял с программатора 3,3В, на разъем программирования, который на плате сделал. Это напряжение идет на VDD микроконтроллера. А еще получается, что оно из разъема идет на выход 3,3В стабилизатора. Может плохо сделал, но получается что можно и 3,3В питать от разъема программирования и когда от микро юсб, будет 3,3В на мк подаваться (и на контакте раъема программирования будет дополнительный контакт 3,3В).

Я тут что подумал, была у меня проблема с мк ESP8266, когда я брал напряжение 3,3В напрямую со стабилизатора. Там стабилизатор был крошечный и все писали что он не справляется, поэтому я брал 5В напрямую и понижал до 3,3В тем же стабилизатором из китая. Это я к чему. Может попробовать на программаторе взять 5В, но подать его через стабилизатор, чтобы было 3,3В? Но вообще этот МК и от 5В может.

1 час назад, BARS_ сказал:

Что при этом говорит отладчик?

Еще не делал отладку. Я только вчера сел программировать. В интернете то все просто, а когда сам начинаешь делать, то оказывается что не все так просто как ты думал

Link to comment
Share on other sites

@vavaav Статья хорошая, только компилятор другой, среда разработки другая, надеюсь разберусь. Жду продолжения! Когда продолжение?) И какая программа будет? Может блинк как на ардуино?) Стандартно и банально, но как тут еще легким способом понять, что твоя программа работает и с микроконтроллером все в порядке

Link to comment
Share on other sites

@mckay Блинк будет в нескольких вариациях для сравнения. Отладчик будет, можно будет посмотреть как отрабатывает программа. Вот чего небудет так это ардуино, только C

Edited by vavaav
Link to comment
Share on other sites

15 часов назад, mckay сказал:

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

Значит повезло, у меня ода партия выдавала на выходе пилу и МК работать что-то не хотел:D

 

15 часов назад, mckay сказал:

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

Да если 3,3В стабильные, то можно их и оставить. Кстати, на С8 напряжение появляется?

 

15 часов назад, mckay сказал:

Еще не делал отладку.

А с нее как раз и надо начать. В отличии от ардуйни тут не требуется сидеть и пол дня думать, почему что-то не работает. Можно залезть "в душу" к МК и все увидеть. А если написать вот это, то должны засветиться все 4 диода:

// Настройка портов
GPIOB->DDR |= 1<<7 | 1<<6;
GPIOB->CR1 |= 1<<7 | 1<<6;

GPIOC->DDR |= 1<<1;
GPIOC->CR1 |= 1<<1;

GPIOE->DDR |= 1<<5;
GPIOE->CR1 |= 1<<5;

// Выходы в высокое состояние
GPIOB->ODR |= 1<<7 | 1<<6;
GPIOC->ODR |= 1<<1;
GPIOE->ODR |= 1<<5;

 

Link to comment
Share on other sites

9 часов назад, _abk_ сказал:

Стесняюсь спросить: а программа в МК точно залита? Что-то ни слова об этом не было...

Да, была запрограммирована. Через STVP программировал:
 

> Programming  PROGRAM MEMORY area...
Cut Version and Revision of device: 1.2
< PROGRAM MEMORY programming completed.
> Verifying PROGRAM MEMORY area...
Cut Version and Revision of device: 1.2
< PROGRAM MEMORY successfully verified.

 

7 часов назад, BARS_ сказал:

Значит повезло, у меня ода партия выдавала на выходе пилу и МК работать что-то не хотел:D

Думаю, если я сейчас закажу новые такие, то придут плохие) А я вот не проверял что у моих на выходе, осцилограф меня покинул, ну работают нормально, некоторые даже случайные КЗ выдерживали, грелись но не умирали, потом нормально дальше работали, но я их заменял, мало ли...

7 часов назад, BARS_ сказал:

А если написать вот это, то должны засветиться все 4 диода:

Мне немного сложно с этим( Я все делал как в интернете написано (всему этому в интернете верить нельзя), там человек показывает у него работает, а у меня не работает. Один добрый человек мне сейчас помогает, но что-то у меня не выходит. Может с микроконтроллером что-то не так) Плату я сделал плохую, но попытался ее сделать лучше, питание нормальное, программируется. А вот моя программа что-то не заставляет его работать как я напрограммировал. Может у меня в коде или проекте или еще где-то ошибки, не знаю. STVD говорит 0 ошибок, 0 варнингов

Link to comment
Share on other sites

1 час назад, mckay сказал:

Может с микроконтроллером что-то не так)

Для исключения этого варианта и предназначены самые простые программы, типа помигать светодиодиком. Они позволяют проверить базу: исправность микросхемы и работоспособность программатора.

Хм, вы и пытаетесь помигать им, оказывается. Только странно пытаетесь.

1 час назад, mckay сказал:

Может у меня в коде или проекте или еще где-то ошибки, не знаю. STVD говорит 0 ошибок, 0 варнингов

Отладка - это процесс осознания программистом того, что программа работает именно так, как он написал.

Edited by Огонёк
Link to comment
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Сообщения

    • Товарищи кто то пробовал на 2184 / 2104 запитывать верхний уровень не от бестерного конденсатора а от отдельной обмотки трансформатора ?
    • Не понимаю в чём проблема, опыта никогда не было в ремонте таких вещей и с li-ion. Знакомый решил самостоятельно увеличить ёмкость аккумулятора шуруповёрта, и после этого перестало заряжать банки. Как можете видеть по пайке, это просто ужасно. Он когда мне отдал, я на него так смотрел... но ничего не сказал. Мы с другом технарем думали что он сто процентов перегрел баночки, и им хана. Но на удивление они живые, и имеют напряжение 3,56в каждая. Из-за плохой пайки один контакт как я заметил отпал, и на выходе было где-то 6в. Зачистил всё и контактной сваркой заварил. Теперь напряжение на выходе аккумулятора 10,76в. Подключил блок, все равно не заряжает, самое главное что и не греется ничего. При зарядке на выходе напряжение быстро прыгает с 12-13,5в. Выход с блока питания 22в, а должно быть 13,5. Но с нагрузкой напряжение стабильно 13,2в, то есть в норме. Заметил что на одной из банок напряжение прыгает с 5 до 6в при зарядке, думаю сейчас заменить её, но что-то ощущение что не поможет.  В чем может быть проблема? Так не хочется её разбирать полностью. Ещё проверил, и вроде он все правильно заменил, но пайка правда тихий ужас. Помогите. 
    • Если и обмотки у трансформатора  отдельные для выпрямителей, то это псевдо двойное моно, тоже неплохо, земляных петель не будет.
    • Алексей, а если наоборот, с одного источника питания идет на две моно платы, но земли больше не пересекаются, платы защиты отдельные для каждого канала своя. Выходные клеммы изолированы от корпуса. Или как вариант трансформатор один, а выпрямители отдельные и дальше каналы независимы.
    • Чем проверяли? Я вижу причину в том, что не хватает напряжения самопитания на С2, который должен подключаться к 7 ножке. Это может быть следствием недостаточной нагрузки во вторичных цепях, на что вам уже намекнули.
    • Если так все удачно что мешает проверить в proteus?
    • В схеме есть ошибки. C1 не правильно подключен, c2 тоже(что он там делает, на выходе управления затвором), на выводе питания шим нет конденсатора, зато есть на выходе драйвера, аж 47 мкФ. Схема запуска в таком включении работать не будет. Q2 во время запуска должен открыться, а после запуска( питание от обмотки самопитания)закрыться. Это думаю не все ошибки. Проверьте все подключения, поправив ошибки подключений в схеме, тогда видно будет. 
×
×
  • Create New...