- А как сделать. чтобы можно было обращаться из двух разных файлов к
одному экземпляру? Очевидно что через extern struct fifo_st xyz; но как вклинить в файл, чтобы не было повторных определений и не
рушилась идеология этого файла - чего-то не соображу. Dingo(10 знак., 10.03.2022 12:03, ARM, ссылка, полностью)
- не нравятся мне всякие externЫ!!! НЕ проще сделать фифо локальным и
обращаться через функции добавления и извлечения ? - Aleksey_75(11.03.2022 11:16)
- Если речь о Си... Я делаю так в каждом файле IBAH(482 знак., 10.03.2022 12:35)
- соптимизирую -> abivan(247 знак., 11.03.2022 16:16)
- Потому что определения не ставят в Н-файлы - Pитчи(11.03.2022 07:42,
)
- Правда?! - Argon(11.03.2022 09:30)
- Да. В заголовочных файлах определения типов, объявления структур.
Если надо - то определения значений параметров, например, #define
TurnOnThreshold 53 Nikolay_Po(713 знак., 11.03.2022 10:05)
- Так речь об объявлении переменных? Почему-то думал, что выделение
памяти происходит при объявлении, а определение - это #define. - Argon(11.03.2022 10:06)
- Нет, объявление - это когда указывается тип и имя, но ничего ему не
присваивается. В заголовочном файле не делается объявление с
присвоением значения. И до присвоения значения, компилятор просто
имеет ввиду, что такая переменная должна быть ему доступна, но не
выделяет для неё памяти, пока она не понадобится. P.S. определения
подстановок #define и определения типов, хотя и являются
определениями, но не приводят к выделению памяти, так как относятся
сугубо к Nikolay_Po(14 знак., 11.03.2022 10:15)
- Казалось бы, грех путаться в терминологии, но даже авторы книжек
по-разному называют сущности. Что-то подобное встретилось недавно:
в одной книге оператор, в другой - инструкция. - Argon(11.03.2022 10:10)
- А определение __MAIN_C ручками? - VLLV(10.03.2022 14:34)
- хедер заключается в POV(61 знак., 10.03.2022 12:11)
- Для этого придумали .Н-файлы. Нет? - Cкpипaч(10.03.2022 12:05)
- I2C в STM32 VLLV(413 знак., 07.03.2022 11:50, ARM, полностью)
- LwIP перползти с 1.4.1 на 2.x . Есть проект на 1.4.1, всё вроде
работает. Такое впечатление, что даже DMA использует, LAN8720. Где
взять порт под STM32F4x7 ? Dingo(493 знак., 25.02.2022 10:18, ARM, полностью)
- Есть ли знатоки ESP32? предварительно выбрал ESP32-S3, но не пойму
пока из документации, подойдет ли, требования такие в порядке
важности: NAUT(111 знак., 26.02.2022 21:14, ARM, полностью)
- usart в stm32g0xx, режим работы с fifo. Правильно ли я понимаю что
в ситуации rx overrun старые данные в fifo сохраняются а вновь
поступающие теряются ? - 3m(27.02.2022 08:38, ARM)
- Никогда не было потребности менять SYSCLK в STM32 на скаку. А тут
вдруг захотелось. Есть такой регистр RCC_CFGR. И там три бита
SW0...2. Список источников там прилагается. Достаточно биты
поменять и всё? Или надо сначала сплясать и помахать чем-то? :-) - Лaгyнoв(14.02.2022 14:52, ARM, полностью)
- вот так и всплывает все зло всяких кубов, шаг в лево, шаг в право и
сразу катастрофа )))) - Aleksey_75(14.02.2022 16:47)
- Надо сначала реф.мануал почитать, там это описано. Если кратко:
включаем новый генератор и ждём пока заведётся, если используется
PLL то тоже настраиваем и ждём её готовности, переключаем источник
тактирования. Если тактирование от PLL и нужно изменить к-нт
умножения, то ещё сложнее: переключение на другой источник
(например HSI), настройка PLL, ожидание пока заведётся,
переключение на PLL. - ЫЫyкпy(14.02.2022 15:56)
- проверить, включен ли и готов новый источник, переключить и
дождаться подтверждения в SWS. Но можно и помахать, чем-либо, если
хочется.... - Andreas(14.02.2022 15:42)
- Вроде да, но нужно еще потом, посмотреть переключился ли куда
нужно. - misyachniy(14.02.2022 15:35)
- Продолжаю осваивать новый, для меня, STM32 и CubeIDE. Использую HAL
, из аппаратуры таймеры и UART. Куб хорошая штука для быстрого
старта, буквально за один день я и светодиодом смог мигать, и байты
по UART отправлять. Но дальше пошли проблемы. AlexBi(1039 знак., 14.02.2022 12:33, ARM, полностью)
- Древний уже материал, но не умаляющий заслуг переводчика. Бывает,
что очень много буковок, они жутко надоели, да и менять образ
мышления на чуждый нет времени. bnb62(219 знак., 14.02.2022 20:02, ссылка, ссылка)
- Не обязательно перезапускать таймер. Просто сбрасывайте
счётчик-переменную в 0, который в прерывании от таймера будет
nCounter++; А в основном цикле уже проверять таймауты. Ну, или
как-нибудь аналогичный вариант. Если хочется обязательно таймер, то
достаточно его вкл/выкл. и счётчик (таймера) устанавливать. - Costic(14.02.2022 14:08)
- Куча каналов с МОДБАСом? Мне предстоит такое делать. Спец по СТМкам
так и посоветовал - " symbions(124 знак., 14.02.2022 14:03)
- Да, что-то похожее на кучу модбасов. Тоже склоняюсь к переходу на
манипуляцию битами, минуя HAL. Только еще не понял что делать с
обработчиками прерываний, как-то полностью заместить обработчик из
HAL-а, или оставить как есть, т.е. писать свою функцию, вызываемую
HALом. Что по этому поводу посоветуют опытные товарищи? - AlexBi(14.02.2022 15:39)
- Почему-то никто не упомянул про callback функции включенные почти
во все HAL обработчики прерываний, которые вам сгенерит Куб, стоит
только заказать нужные прерывания. bnb62(674 знак., 14.02.2022 18:09)
- Даже если попытаться оставить только инициализацию UART, в нагрузку
получаешь обработчик прерываний, который просто так на свой не
заменить и кучу бесполезных функций. Типичный спагетти-код, одно от
другого просто так не оторвать. В конце концов пришел к выводу что
написать и отладить свой код будет быстрее чем копаться во всём
этом. - ЫЫyкпy(14.02.2022 16:33)
- Для реализации МОДБАС на STM32 не нужно следить по прерыванию UART
за приемом байтов и перезапускать каждый раз таймер. Есть более
изящный способ: il-2(332 знак., 14.02.2022 16:04)
- Естественно, HAL имеет ограничения, это нужно понять и простить.
Что касается конкретного случая... Я бы не лез в биты, а попытался
использовать COMPARE или вообще одно частое прерывание свободного
таймера. - VLLV(14.02.2022 16:04)
- фрэйминг на временных интервалах - хреновая идея. используй byte
stuffing или ещё лучше bit stuffing - cheblin(14.02.2022 13:34)
- А зачем вам считать паузы между байтами? Они могут быть
длительными? - evgeniy1294(14.02.2022 13:15)
- Доля компьютеров на ARM-чипах стремительно растёт Evgeny_CD(1 знак., 12.02.2022 16:33, ARM, ссылка)
- На китайский новый год притащил мне Дед Мороз (Шань Дань Лаожен)
вот такую вот отладку: NeoPower(769 знак., 08.02.2022 01:31,
, ARM, картинка, полностью)Toчкa oпopы
- Для быстрого старта с эффектом ВАУ! рекомендую - backa(391 знак., 08.02.2022 16:23, ссылка, ссылка)
- Хоть бы название платы написали, ведь не видно же за мишурой.
Внешне похоже на Nucleo-STM32H743ZI, но может оказаться и
STM32H743ZI2. Kceния(1330 знак., 08.02.2022 14:33, картинка)
- Эта картинка всегда вызывала у меня зависание мозга :( - Evgeny_CD(09.02.2022 18:10)
- Эта картинка на редкость полезная. Скажем, я сначала (когда только
начала осваивать H743) облюбовала AXI SRAM под сегмент данных из-за
того, что он самый большой (512K), а со временем напоролась на то,
что DMA с этой памятью не работают. - Kceния(09.02.2022 18:25)
- Я не сказал, что она плохая или вредная. Уровень извращенности
внутреннего устройства удручает. - Evgeny_CD(09.02.2022 18:28)
- Думаю, это такой подход к проектированию - физическая топология
чипа определяет логическую структуру. То, что не удалось соединить
в кремнии - ну извини, ни шмогли :-) И это правильный подход. - il-2(10.02.2022 06:11)
- "Уровень извращенности" действительно несколько повышен :), но если
сравнить с TMS320C67, то последний, думаю, победит с явным
перевесом. А с другой стороны, могут существовать "оправдания"
тому, отчего было сделано именно так, а не иначе, тогда как мы,
хватая по верхам, с этими сторонами еще не сталкивались. Например,
мне сперва казалось, что SRAM3, размером всего в 32К, - какая-то
нелепая ошибка, но оказалось, что это очень полезная память для
размещения буфера для DMA - с Kceния(98 знак., 09.02.2022 19:39)
- Надо фигурно раскладывать объекты по памяти, учитывая кто куда
может обращаться и с какой скоростью. - LightElf(09.02.2022 18:19)
- STM32H743ZI2 (она же вроде самая последняя ревизия). В минуты
затишья сижу читаю переводного Джозефа Ю по ядрам Cortex-M3 / M4,
что-бы немножко врубится в архитектуру, ну да мне не к спеху.
Раскладка бит в командах Thumb2 это конечно что-то с чем-то... - NeoPower(08.02.2022 16:38,
)
- Вы мой пост дальше первой строки читали? Что на этот счет думаете? - Kceния(09.02.2022 18:08)
- Вот это как раз то, чем заниматься совсем не нужно. - evgeniy1294(08.02.2022 18:13)
- Спасибо всем отписавшимся, просто надо было переварить навалившийся
вал информации. NeoPower(615 знак., 10.02.2022 01:32,
)
- "STM32H743 на удивление сбалансированный analog / digital чип" -
отсутствует физика USB HS и нет возможности выбрать напряжение IO
для SD карты, это сильно усложняет работу(нужно аж 2 внешних чипа
трансляторов уровня) в скоростных режимах. Почти одинаковые, но
зачем-то чуть разные экземпляры блоков UART, SD, USB... Всего 16к
кеша, хотя в свежих уже 32к, нет встроенного DC/DC. IMXRT
понравился больше, жрет меньше, все внутри, но его основной
недостаток - нет нормального Andreas(48 знак., 10.02.2022 10:53)
- Если планируете что-то считать, то тогда да, имеет смысл изучить
систему команд, работу со звуком камушек легко потянет. Для RISC-V
это более актуально, мне пришлось полностью раскурить ядро, чтобы
просто написать startup - плата за гибкость всегда увеличение
сложности. - evgeniy1294(10.02.2022 09:56)
- +1. Разве только если ты - супер спец по DSP и хочешь реализовать
свой, нестандартный алгоритм на крае производительности чипа. - Nikolay_Po(08.02.2022 20:49)
- лучше б аглицкий подтянуть - Vit(08.02.2022 16:42)
- По второму пункту: если IAR для вас вечен, то оставайтесь в его
рамках. CubeIDE имеет в основе Eclipse. Для общего развития можете
попробовать, если не хотите застрять на IAR и попробовать
что-нибудь относительно свободное. В своё время я CortexM4 от STM
"поднимал" вручную в Eclipse. Не без проблем, но теперь
представление имею, как подступиться и не сильно зависеть от STM. - Nikolay_Po(08.02.2022 14:23)
- 1) CubeMX - это универсальный конфигуратор. Нужно только подгрузить
библиотеки для H7 (Help -> Manage embedded software packages) evgeniy1294(265 знак., 08.02.2022 13:14)
- Это неправильный Дед Мороз, остерегайтесь подделок! Настоящий
китайский Дед Мороз приносит настоящие китайские подарочки, типа
такого LightElf(1 знак., 08.02.2022 13:06, картинка)
- Всем привет. tashi(709 знак., 07.02.2022 14:38,
, ARM, полностью)Evgeny_CD
- MIMX RT1024. Надо дать жизни. На столе MIMXRT1024-EVK. Перед
глазами RM на 3000 страниц. Нашел примеры для Кейла. Заливаю,
моргают. Времена и пины менять могу. Но дальше какая-то стена. От
прочитанного количество вопросов только увеличивается. Пытаюсь
подключить простенький монохром - фик. Плата встает колом и понять
не могу почему. Есть ли среди местных кто прошел этот путь(RT10xx)?
Я так то не новичок, в теме давно. Просто давно не перепрыгивал на
новое семейство. Буду PAL(111 знак., 23.01.2022 21:14, ARM, полностью)
- STM32G041G8U6 64KB 28UFQFPN Moлoдoй кoллeгa(1 знак., 02.02.2022 20:44, ARM, ссылка, полностью)MBedder
- Ковбои спешат на выручку - SimpleLink™ Arm® Cortex®-M4F
multiprotocol Sub-1 GHz wireless MCU with 704-kB Flash. RF-часть
никто применять не заставляет, а так - вполне приличный МК о 44
ногах --> MBedder(1 знак., 02.02.2022 20:13, ARM, ссылка, полностью)
- $10 RISC-V Development Board. 8UART! На WCH ch32v307 Evgeny_CD(38 знак., 21.01.2022 21:31, ARM, ссылка, ссылка, полностью)
- LPC55xx - чем они думали, располагая выводы функциональных блоков
(например RX/TX ) на разных сторонах корпуса ? - VLLV(28.01.2022 10:49, ARM, полностью)