STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Открыл глаза
Сообщения: 63
Зарегистрирован: Пт июн 26, 2020 16:33:29

Сообщение Питание »

Поскольку СТМ берут дешевизной, то остальное - приходится допиливать руками счастливых покупателей. А с тех пор, как в ST понабрали кучу индусов (в прямом смысле слова), сопровождение СТМов стало вообще просто ужасным. И чем новее МК, тем меньше выбора остается...
Я тоже в свое время бы удивлен - почему не вписали макросы битбандинга. Ведь написали же бесполезные макросы SET_BIT и особенно READ_REG... В принципе, я вписал макрос битбандинга в этот же заголовочник, как раз под теми макросами.
Почти все плюсы в свою карму и в рейтинги сообщения поставил себе сам, своими же созданными для этих целей клонами. aen
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

Питание, по крайней мере, хотя бы заголовочные файлы с расписанными регистрами есть!
А вот для STM8 мне пришлось ручками все писать по мере продвижения...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25864
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Питание",url="/forum/viewtopic.php?p=3869561#p3869561"]Поскольку СТМ берут дешевизной[/uquote]
СТМ ни разу не дешев - обычные цены соответствующие уровню чипа (точнее его площади). Дешевыми являются китайские клоны.
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

КРАМ писал(а):СТМ ни разу не дешев - обычные цены соответствующие уровню чипа (точнее его площади).
Видимо имелось в виду цена/производительность/возможности.
К примеру STM32 можно купить по той же цене что AVR8, но при этом у STM32 производительность выше, периферия функциональнее, есть отладка и т. д.
КРАМ писал(а):Дешевыми являются китайские клоны.
Они появились недавно и не для всех МК, в то время как мощный STM32H750VBT6 в Китае стоит около 3.5$.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 25864
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Мурик",url="/forum/viewtopic.php?p=3870888#p3870888"]Они появились недавно и не для всех МК, в то время как мощный STM32H750VBT6 в Китае стоит около 3.5$.[/uquote]
Если учесть, что цена у производителя в партиях 10К+ составляет $3,62 , то возникает вопрос о происхождении розничной цены в Китае...
Клоны, это не только дженерики, это еще и сверхтиражный выпуск и просто копии.
Ставить такое в серийную продукцию ни один уважающий себя разработчик не будет.
Сравнивать STM32 с допотопными Мегами не по-пацански.
По современным меркам ниша мощных СТМ32 - телематические терминалы и прочая аналогичная по функционалу продукция. Младшие СТМ32 ничем особенным на фоне современных чипов других производителей не выделяются.
Реклама
Родился
Сообщения: 2
Зарегистрирован: Чт июл 30, 2020 23:12:27

Сообщение B_Oleg »

Здравствуйте. Подскажите кто сталкивался. Прислали китайцы STM32F107, ревизия "А".
Гугль ничего про такую не знает, ST-Link ее не видит. Тестером соответстующие ноги питания между собой не прозваниваются, в отличии от ревизии Z.

Посмотрел, корме обычных "Z" у китайцев есть разные ревизии - "A", "X", "1".
Что за ерунда такая? Чем они отличаются от ревизии Z?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4906
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Может быть, фейк, и просто кристалла внутри нет?
Контактная информация:
Родился
Сообщения: 2
Зарегистрирован: Чт июл 30, 2020 23:12:27

Сообщение B_Oleg »

Внутри что-то есть, ноги тестером прозваниваются, возможно это защитные диоды.
Когда я покупал на али, там был только один отзыв, - все хорошо и все работает. Цена в районе 100р. С этим китайцем пока не связывался.
Раньше я на али несколько таких брал (ревизия Z), тоже в районе 100р, все было нормально. С виду как новые, но из разных партий и внутри прошивка. Значит откуда-то выпаяли.
Были мысли, что теперь пришли какие-то другие микросхемы, перемаркированные.
Но тогда возникают вопросы - зачем маркировать "А", а не "Z"? и где взять на столько дешевую в таком же корпусе, что бы был смысл перемаркировать и продать за 100 рублей?
Там же, на алике, нет в подобном корпусе дешевле 100р.
Вот и возникают у меня сомнения, может все-таки это не фейк.

Наверное, можно как-то вскрыть корпус и под микроскопом посмотреть на кристалл, но эта задача не по мне.
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="B_Oleg",url="/forum/viewtopic.php?p=3873365#p3873365"]Но тогда возникают вопросы - зачем маркировать "А", а не "Z"?[/uquote]
Писали, что перемаркировывают F303, причем ревизия вообще не проставлена, а по ID определяются как F0 или F1, там даже ноги питания не всегда совпадают...
Потрогал лапой паяльник
Сообщения: 315
Зарегистрирован: Пт янв 29, 2010 19:42:27

Сообщение 12val12 »

del
ух ты.... показывает
Опытный кот
Аватара пользователя
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Сообщение baghear »

Добрый день, Keil переменные в watch обновляются только при остановке программы. Подскажите как это решается.
Мучитель микросхем
Аватара пользователя
Сообщения: 450
Зарегистрирован: Вс янв 09, 2011 23:05:37
Откуда: СССР

Сообщение Myp3ik »

View - Periodic Window Update
Иван Сусанин - первый полупроводник :solder:
Опытный кот
Аватара пользователя
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Сообщение baghear »

Спасибо!!
Друг Кота
Аватара пользователя
Сообщения: 25864
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

В порядке обмена опытом для тех, кто не сталкивался.
Нынче работаю проект с F407 и опытным путем обнаружил следующее:
1. При работе передатчика USART на шину RS485 необходимо формировать сигнал управления передатчиком драйвера (у меня ADM489). При использовании DMA с USART Tx включение передатчика драйвера не вызывает вопросов и происходит перед запуском DMA. А вот выключение драйвера на передачу требует завершения последнего символа пакета. То есть в прерывании от DMA (TC), в отличии от PIC24/dsPIC33, на передачу в очереди будет стоять ДВА СИМВОЛА, а не один. Один в сдвиговом регистре и один в буфере. То есть нужно увеличить пакет не на один, а на два фиктивных символа, которые будут вырезаны из передаваемого пакета в шине сигналом управления передатчиком драйвера, который мы выключим в обработчике DMA.
2. Тут я вероятнее всего тупо не нашел в рефмануале ... :)))
Реквесты DMA должны быть выбраны таким образом, чтобы периферия обслуживаемая этим потоком DMA и периферия генерирующая реквесты для этого потока были расположены на одной шине (APB1 или APB2). То есть, например, нельзя реквестить USART6 таймером TIM5, поскольку первый сидит на APB2, а второй на APB1. Обычно это не замечаешь, ибо не слишком часто требуется реквестить один периферийный модуль от другого...

Как то так...
Извините, если написал баян...
:)
Друг Кота
Аватара пользователя
Сообщения: 7042
Зарегистрирован: Сб янв 28, 2006 22:47:24

Сообщение Asmodey »

При попытке подключить к проекту библиотеку для управления OLED дисплеем получил от IAR следующие сообщения:
Error[Pe020]: identifier "uint16_t" is undefined C:\STM32\A\libssd1306\ssd1306.h 5
и
Error[Pe020]: identifier "uint8_t" is undefined C:\STM32\A\libssd1306\ssd1306.h 5

Я так понял, что IAR по умолчанию не понимает типов данных uint16_t и unit8_t и требует подключения библиотечного файла с описанием этих типов. Очевидно, это файл stdint.h. В файле main.с дописал #include "stdint.h", не помогло. Изменил на #include <stdint.h>, бесполезно. Нашел файл stdint.h в директории IAR в Programm Files и скопировал его в папку с проектом и через Add>Add Files добавил этот файл в проект. И ничего, все те же сообщения об ошибках... Что я делаю не так?

P.S. только написал, и тут же сам допер. Нужно было подключить библиотечный файл stdint.h в файлах самой библиотеки ssd1306.h и ssd1306.c.

Одно непонятно, это что же теперь, в каждом подключаемом к проекту файле нужно дописывать #include "stdint.h" если там присутствуют uint8_t или что-то подобное?
Астролябия-сама меряет, было бы что мерять!!!
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Не туда подключаете. Где нехватает, туда и подключать. main.c то причём? И кто учил .h в проект добавлять?
Друг Кота
Аватара пользователя
Сообщения: 7042
Зарегистрирован: Сб янв 28, 2006 22:47:24

Сообщение Asmodey »

В конечном итоге я нашел куда подключать.

Но, неужели нельзя сделать так, чтобы ничего никуда не подключать, а все типы данных определялись как-то сами по себе, и файл stdint.h автоматически подключался везде, где есть в нем необходимость? Может в настройках компилятора что-то подшаманить?
Астролябия-сама меряет, было бы что мерять!!!
Друг Кота
Аватара пользователя
Сообщения: 25864
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Asmodey",url="/forum/viewtopic.php?p=3883695#p3883695"]Может в настройках компилятора что-то подшаманить?[/uquote]
И сделать проект прибитым намертво гвоздями к среде и компилятору...
Причем на уровне исходника.
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Asmodey",url="/forum/viewtopic.php?p=3883695#p3883695"]Но, неужели нельзя сделать так, чтобы ничего никуда не подключать, а все типы данных определялись как-то сами по себе[/uquote]Есть старинный русский способ! По щучьему велению, по моему хотению, а ну ка код пишись сам! :)
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку

Сообщение Zhuk72 »

[uquote="Asmodey",url="/forum/viewtopic.php?p=3883695#p3883695"]Но, неужели нельзя сделать так, чтобы ничего никуда не подключать, а все типы данных определялись как-то сами по себе...[/uquote]
Можете через typedef определить эти уинты.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Контактная информация:
Ответить

Вернуться в «ARM»