-
Content Count
407 -
Joined
-
Last visited
Community Reputation
0 ОбычныйAbout Integro
-
Rank
Местный
- Birthday 04/13/1988
Старые поля
-
LinkedIn
Array
Контакты
-
Сайт
Array
-
ICQ
Array
-
Skype
Array
Информация
-
Город
Array
-
Буквально все? от до A-H? Пример от STшников: void EnterSTOPMode(void) { LL_GPIO_InitTypeDef gpio_initstruct = {LL_GPIO_PIN_ALL, LL_GPIO_MODE_ANALOG, LL_GPIO_SPEED_FREQ_HIGH, LL_GPIO_OUTPUT_PUSHPULL, LL_GPIO_PULL_NO, LL_GPIO_AF_0}; /* Set all GPIO in analog state to reduce power consumption, */ /* Note: Debug using ST-Link is not possible during the execution of this */ /* example because communication between ST-link and the device */ /* under test is done through UART. All GPIO pins are disabled (set */ /* to analog input mode) including UART I/O pins. */ LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOA | LL_IOP_GRP1_PERIPH_GPIOB | LL_IOP_GRP1_PERIPH_GPIOC | LL_IOP_GRP1_PERIPH_GPIOD | LL_IOP_GRP1_PERIPH_GPIOE | LL_IOP_GRP1_PERIPH_GPIOH); LL_GPIO_Init(GPIOA, &gpio_initstruct); LL_GPIO_Init(GPIOB, &gpio_initstruct); LL_GPIO_Init(GPIOC, &gpio_initstruct); LL_GPIO_Init(GPIOD, &gpio_initstruct); LL_GPIO_Init(GPIOE, &gpio_initstruct); LL_GPIO_Init(GPIOH, &gpio_initstruct); LL_IOP_GRP1_DisableClock(LL_IOP_GRP1_PERIPH_GPIOA | LL_IOP_GRP1_PERIPH_GPIOB | LL_IOP_GRP1_PERIPH_GPIOC | LL_IOP_GRP1_PERIPH_GPIOD | LL_IOP_GRP1_PERIPH_GPIOE | LL_IOP_GRP1_PERIPH_GPIOH); /** Request to enter STOP mode * Following procedure describe in STM32L0xx Reference Manual * See PWR part, section Low-power modes, STOP mode */ /* Enable ultra low power mode */ LL_PWR_EnableUltraLowPower(); /** Set the regulator to low power before setting MODE_STOP. * If the regulator remains in "main mode", * it consumes more power without providing any additional feature. */ LL_PWR_SetRegulModeLP(LL_PWR_REGU_LPMODES_LOW_POWER); /* Set STOP mode when CPU enters deepsleep */ LL_PWR_SetPowerMode(LL_PWR_MODE_STOP); /* Set SLEEPDEEP bit of Cortex System Control Register */ LL_LPM_EnableDeepSleep(); /* Request Wait For Interrupt */ __WFI(); } Похоже на проблемы с оборудованием или подключением. Во время измерения отключаете программатор (перемычки SWIO\SWCLK, SBx на NRST)?
-
Я бы клоки и подключение дисплея перепроверил
-
TI bin to hex
Integro replied to jenya7's topic in Cредства разработки для МК
Наверное на вход нужно подавать не бинарник(bin) а обьектник(обычно elf) из которого делался ваш бинарник При преобразовании из bin в hex обычно требуется задать базовый адрес для hex а в этой tool'е я такого не вижу(могу ошибаться) Есть куча других инструментов которые умеют это делать, я например в своих проектах использую свои python скрипты что бы иметь кросплатформенносить и не заморачиваться с возможностями\нюансами\проблемами встроенных инструментов BlackHawk эт в первую очередь название компании, в продуктах которой есть и программаторы и изоляторы double бугага! -
Пакеты(сообщения) в RDS летят каждые ~85ms(11.4 пакетов в секунду), размер пакета 104бит из которых полезной нагрузки 8байт остальное коды коррекции. Принять мусор сложно) http://www.interactive-radio-system.com/docs/EN50067_RDS_Standard.pdf Радио? Лехко! Но я не тот человек который может оценить звук, музыка играет, шумов нет) Видел отзывы что прием у RD5807 немного хуже, но чтобы так...
-
Прием отличный, видно прилетают другие пакеты с названием трека, станции и прочее. А вот пакет со временем только раз в минуту. EN50067_RDS_Standard.pdf
-
информ минутка), Было время поиграться с приемником RDS на Si4703. 1. По спеке RDS, пакет со временем летит в эфир раз в секунду 2. В 60% процентах случая время прилетает с точностью до секунды, пакет прилетает в момент начала новой минуты 3. В остальных случаях время может уходить на минуты, я наблюдал отклонения порядка 2,5 минут, это касается Минских радиостанций, так как тестировал только здесь. 4. По доке потребление приемника Si4703 порядка 14мА, была надежда что с выключенным аудио смогу получить меньшие цифры, но стабильно 14мА для всех режимов работы. Вывод: Чтобы получить время из RDS, нужно сканировать несколько станций и искать одинаковые или близкие значения, прием времени с одной станции это в лучшем случае минута. На синхронизацию будет уходить от 3минут и более, с учетом потребления приемника Si4703, решение подходит только для стационарных устройств которые находятся в городской среде и могут располагаться в помещении. GNSS на этом фоне выглядит по приятнее: 1. Точность 2. Суммарные энергетические затраты могут быть меньше, так как время он выдаст менее чем за минуту, конечно, при условии если приемник находиться не в помещении.
-
да, через keil или iar дебажить можно возможно нужно будет прошить softdevice, понятно hex напрямую через stlink utility не зальешь, но в их примерах обычно есть отдельная сборка которая прошивает softdevice. И я бы посоветовал почитать про BLE, не такой он сложный как может показаться, нужно понять что такое характеристика, сервис, узнать чем отличается нотификация от индикации и что такое адвертайсинг(+ скан респонс) и нужно знать что есть такие GATT\GAP, просто знать что они есть) а когда будите гнаться за скорость посмотреть что такое конекшин интервалы
-
Так слишком сложно), а так бы сам в свободное время "поковырял".
-
Пользуюсь HAL и LL(относительно свежий) c момента их выхода, по начало нужно было все перепроверять и сверять с datasheet'ом, можно было найти ошибки, сейчас таких проблем нет. Бред! оверхер на что? - FLASH? чтение - модификация - запись пары регистров - тоже самое написали бы и Вы в своем коде со своими "флагами" и своими ошибками. - RAM? В LL не используется контекст только в HAL да и эти 20 байт контекста на фоне даже 64KB выглядят не серьезно. - Perfomance? если речь о LL тоже сомнительно, для HAL возможно, но сегодня проще\дешевле взять более производительный контроллер чем вылизывать каждую строчку\инструкцию кода
-
интересно стало что там за дебри, может просто проект расшарите? Если не секрет конечно.
-
Не вижу проблемы или проект для MCU на исходниках ядра linux завязан? Проблем может быть две: 1. это пути, если они не относительные(но это быстро и легко поправить) 2. и тулы которые используются при сборке, но тот же набор должен быть в mbed под Win, накрайняк есть mingw или cygwin 2.1 или местными bash скриптами проект обвязан? Тоже решаемая проблема) Или есть что-то еще?)
-
mbed IDE не открывает?
-
Такой команды нет, просто используют write multiply команду с большим буфером. Как показывает практика такой подход эффективнее. Еще можно получить небольшой выигрыш за счет увеличения размера транзакции с 512 байт до 2к например. В регистре CSD есть параметр WRITE_BL_EN из него можно брать максимальный размер блока, но карты с блоками по 2К это редкость, по крайней мере пара штук из пары десятков попадались.
-
Если запись идет блоком 512 байт то SD карта вычитает страницу из NAND(4к или больше, зависит от NAND) модифицирует страницу и запишет обратно, по-этому эффективнее работать с блоками равными(или больше но кратными) странице NAND.
-
Я бы посмотрел в сторону старших братьев: PICkit3, PICkit4