-
Постов
12 216 -
Зарегистрирован
Весь контент ViKo
-
А вот, чтобы EEPROM описать, и подключить алгоритм программирования в Keil. И он автоматом запрограммирует свою EEPROM? Надо только в SystemInit инициализировать EEPROM. Правильно?
-
#pragma clang section In Arm Compiler 5, the section types you can use this pragma with are rodata, rwdata, zidata, and code. In Arm Compiler 6, the equivalent section types are rodata, data, bss, and text respectively. Но так не делаются неинициализируемые нулями переменные. Может, в Keil 4 делались, не могу знать.
-
Я в начало ОЗУ забросил. Логичнее разместить после инициализируемых переменных, чтобы все разом обнулить. Но в конце же стек. EEPROM - встроенная в STM32L051K8.
-
Или для EEPROM мне нужно новый LR задать в скаттер-файле?
-
Компилятор 6.16, а то. В map и смотрю. Добавить нужной информации, видимо, не получится. Вот пример, что есть в map. Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x20000000 - 0x00000060 Zero RW 159 .bss c_p.l(libspace.o) 0x20000060 - 0x00000008 Zero RW 57 .bss.AdcData adc.o Судя по пропуску в Load Addr, AdcData не инициализируется. Но нулями забиваются? Ясно. Утром пробовал (.bss.holding), не получалось чего-то. Сейчас сработало. Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x20000000 - 0x00000040 Zero RW 156 .bss.holding interface.o И никак не разобрать, забивается нулями или нет? И секцию эту по каким адресам логичнее разместить? Вопрос еще один. Как EEPROM описать? Сам Keil в свойствах МК никак эту память не показывает. По крайней мере у меня. Я не использую из Run-Time Environment практически ничего. Так годится? RW_IEEPROM 0x08080000 0x07FF { ; 2K EEPROM Interface.o (backup) } Что там в скобках приписать: (+RW)
-
Имею тип - структуру, создаю без инициализации. Хочу при рестарте программы (сброс не по питанию) проверить её содержимое. Далее или работать с ней, или грузить из EEPROM, или задать по умолчанию. Как запретить инициализировать структуру нулями? Что мне нужно в scatter файле задать? Как в программе на нужного типа секцию сослаться? Я вижу в map файле, что и без атрибутов структура попадает в .bss секцию. От чего зависит? Разве глобальные переменные не должны быть забиты нулями? Заодно, как посмотреть, где разместились все переменные? Может, ключи какие-то есть? Вот такие штуки пишу. RW_IRAM1 0x20000000 UNINIT 0x100 { ; 256 RW no init // Interface.o (holding) Interface.o (.bss) } // Holding_t Holding __attribute__((section("holding"))); // Holding_t Holding __attribute__((section(".bss"))); Holding_t Holding;
-
Битовые поля
ViKo ответил ViKo тема в Программирование
Вопрос был про то, с какого конца начинаются битовые поля, хоть в в байте, хоть в слове. Я уже набрал было нужное мне объединение (с использованием безымянных структур и объединений), скомпилировал, порадовался. А потом вспомнил... И переделал на битовые маски. Теперь это пройденный виток. ;-) -
Раньше в осциллографах применяли. В том числе, и Tektronix. Аналоговый мультиплексор нужен, после него конденсаторы, ОУ. УВХ, в общем. Если регулярно обновлять, ничего страшного произойти не может. А как только программа улетает не туда, все уровни уезжают. Было забавно наблюдать, это когда сами такое делали.
-
Битовые поля
ViKo ответил ViKo тема в Программирование
И где в каком ABI определено распределение битовых полей от младшего бита к старшему? -
Битовые поля
ViKo ответил ViKo тема в Программирование
И на C++ стандарт доступен? Раньше, вроде, бесплатно не давали. В общем, даром стандарты недоступны. Черновики можно найти. https://ru.stackoverflow.com/questions/417797/Где-взять-стандарт-c -
Битовые поля
ViKo ответил ViKo тема в Программирование
Возможно. Там где позиция бита не влияет. Куда записал, оттуда и прочитал. А если это аппаратный бит, или структура передаётся наружу, то гарантии нет. -
Битовые поля
ViKo ответил ViKo тема в Программирование
Вот насчет этого я не уверен. Так, эти прагмы вышепоказанные решают же. -
Я своим фотиком с матрицей 1/1.7" фотографировал тот же слайд, делал из подручных средств подсветку, фотик на штатив крепил, снимал с таймером задержки, чтобы не тряслось. И по качеству одинаково с этим сканером выходило. Хороший фотоаппарат даст лучшее качество. Особенно, если к нему найти или сделать конструкцию. Возможно, будут геометрические искажения. Расстояние до центра слайда меньше, чем до краёв. Есть и слайд-сканеры хорошие. Теоретически. На практике всего пара доступных, и те дорогие. Пока не готов на такие затраты.
-
Битовые поля
ViKo ответил ViKo тема в Программирование
Но с какого конца - младшего бита или старшего, не гарантируется, правильно? -
Битовые поля
ViKo опубликовал тема в Программирование
Я правильно понимаю, что такое объединение делать не стоит, потому что расположение битовых полей не гарантируется? union { uint8_t AlarmStatus; struct { uint8_t MarkFault : 1; uint8_t LineFault : 1; uint8_t SensFault : 1; uint8_t SensFire : 1; uint8_t dummy : 4; } sAlarmStatus; }; А надо описывать битовыми масками. -
Возможен ли КПД более 50%... ?
ViKo ответил mamadu тема в Математика и Физика
Энергия в конденсаторе не так считается. http://fizmat.by/kursy/jelektrichestvo/jenergija_polja -
Там нет мотора. Вручную слайд задвигается. Да и линейки нет. Просто фотоматрица 1/2.3" на 14 Mpx с линзой и подсветка снизу через матовое стекло. И на карточку в jpeg записывает, и никакого другого формата, ни даже степени сжатия не даёт установить.
-
Тема не об осциллографах. По теме ничего толкового не будет?
-
Это одно и то же. Называлось и переводилось, как угодно.
-
Гугл: Развертка со случайными выборками. Где вы находились в последние 30 лет? https://www.google.com/url?sa=t&source=web&rct=j&url=https://download.tek.com/document/03U-8605-5%20Scopes%20Manual.pdf&ved=2ahUKEwiIxqXt0Pv0AhUygf0HHT9HDoEQFnoECBAQAQ&usg=AOvVaw1VAALR5K8kyoE1XQZZJwRH
-
https://www5.cs.fau.de/research/software/multi-frame-super-resolution-toolbox/
-
Практически каждый первый сейчас. Python - хороший выбор для обработки массива изображений. Нужно сделать следующие функции - распаковка изображений из JPEG, линейная интерполяция в несколько раз, выравнивание изображений по максимуму корреляции, объединение всех изображений в одно, сжатие в JPEG с выбором степени сжатия.
-
По документации при тактировании от HSI MCU просыпается за 5 - 11µs. Сам HSI начинает генерировать по обнаружению среза в RX (Start bit) еще быстрее. Времени не нашёл. У меня скорость USART медленная, стартовый бит захватит. Еще один вопрос. При передаче я могу уйти в Stop, послав в TD байт? Здесь нужно оставить HSI работать.
-
Еще непонятно, когда проснётся MCU. Если задать по Start, то когда конкретно - в середине бита Start? Не в начале, по обнаружению среза Start? Если по RXNE - то в середине бита Stop?