Jump to content

    

juvf

Свой
  • Content Count

    1382
  • Joined

  • Last visited

Community Reputation

0 Обычный

About juvf

  • Rank
    Профессионал

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Челябинск

Recent Profile Visitors

4563 profile views
  1. STM32CubeIDE

    а что мешает сделать новый проект в STM32Cube IDE и закинуть в него свои исходники из старого проекта?
  2. STM32CubeIDE

    наверно ни как. это может делать делает gcc. Заставь эклипс вызывать gcc. Добавь в настройки сборки в eclipse cubeIde (Properties->C/C++ BUild->Settings-Build Steps->Post-build steps) arm-none-eabi-objcopy.exe -O ihex myProg.elf myProg.hex ps пока писал, alex770 дал более простой ответ.
  3. stm32 i2c

    пффф..... понятно что стресс-тест может выявить всё что угодно. в стресс-тесте может SPI лечь ртос лечь, может обмен лечь, может ПО или железо (как и сам проц, так внешнее от процессора).... Всё что вы говорите - относиться ко всему изделию, включая как железо, так и софт. Что конкретно вы можете сказать про аппаратный i2c в stm32? Вы делали стресс-тесты и вылетал i2c? Или через 1...6 месяцов в серийных изделиях в реальной работе аппаратный i2c ложился?
  4. cout/printf из разных потоков

    это и есть 2). спс
  5. cout/printf из разных потоков

    ну это понятно.... с помощью мьютексов можно сделать и 1) и 2). Просто не хотел заморачиваться. Думал может вызов printf() помещает в поток текст единым куском, и параллельный вызов printf() "не порвёт" строку из др потока. ps кстати..... printf() что делает.... открывает поток stdout , помещает текст, закрывает поток.... если в первом таске открыли stdout, то во втором таске printf() не заблокируется на открытии stdout?
  6. cout/printf из разных потоков

    я хочу из разных потоков выводить дебажную в терминал. в одном потоке printf("string 1\n"); printf("string 2\n"); printf("string 3\n"); в другом потоке printf("text 1\n"); printf("text 2\n"); printf("text 3\n"); 1) я хочу чтобы прога не легла при одновременном вызове std::cout или printf() с разных потоков. 2) я хочу видеть в терминале вывод с обоих потоков.... как минимум построчно разделённые, что-то типа string 1 string 2 text 1 text 2 text 3 string 3
  7. cout/printf из разных потоков

    спасибо
  8. std::cout и/или printf() - потокозащищённые (в Linux)?
  9. Я проглядел наверно.... ТС где-то сказал, что он собирается НЕЗАКОННО производить? Или ТС сказал, что это специальное технической средство для не негласного получения информации? И какое отношение к ТС имеет УК РФ? Он свои деяния собирается делать на территории РФ? Какое гражданство у ТС? .... у некоторых людей бурная фантазия. 2ТС - раз вы не электронщик - бросайте это дело. Согласовать антенну - это ещё та задача. Теоретически вам подсказали... практически - проще/дешевле купить на али. ps про бурную фантазию.... оффтопа немного.... племяннице задали задачку: "Ёжик по лесу пошел - два гриба нашел. Лиса по лесу пошла - что она нашла?" Это не прикол, а реальная задачка для проверки детей. И есть на неё решение. Я думаю, что эта задача №1 в практике/учебе любого инженера/программиста.
  10. stm32 i2c

    1) что может быть не так? 2) почему предварительно?
  11. stm32 i2c

    всем спасибо. поднял и2ц из куба. с полпинка не взлетело. Бытует мнение, что аппаратный и2ц кривой. Вот и решил выяснить, прежде чем ковыряться в нем. и2ц на ф103 заработал со второго полпинка. Не вставал флаг передачи адреса после первого байта (адрес+r/w). Разобрался. Смутила ещё осциллограмма передачи первого байта. Какие-то фронты данных почти одновременно с фронтами клока.... да и длительность "1" разная..... Но слейв вроде стабильно отвечает. На картинке передача start + 0xA0 + ASK
  12. stm32 i2c

    Подскажите, на 2019 год аппаратный i2c в stm32f* годный?
  13. STM32CubeIDE

    Где тут прорыв? Ребята поднатужилось просто сделали общий установщик (атолик с плугом куба). 100 лет как уж пользую еклипс+плуги(арм, иар, куб). Раньше пользовал еклипс и отдельно куб. Появился плуг куба в эклипсе - незамедлительно поставил плуг...... но вот работать в кубе под эклипсом не совсем оказалось удобно. Стал обратно пользовать внешний куб. ИМХО.
  14. Я не знаю зачем. Я не предлагаю вам вешать остальные потоки. Я вам говорю, что если вы вынесете LCD/I2c в другой поток и сделаете реализацию как у haker_fox, то эффекта не получите. О чем вам haker_fox написал - "Другие в это время, да, курят бамбук". Если вы сделаете как у haker_fox, то при вызове MeasCore::sendMsg(), у вас MAIN залипнет.
  15. Про рудимент понятно..... но всётаки наверно очередь из указателей - опасно. В вашем коде заряженный пистолет ждёт чью-то ногу. возможно в вашем коде пистолет ни когда не стрельнет, но в другом коде может быть очень больно. допустим вы в майне на стеке создали структуру Msg _msg, передали ссылку в sendMsg(_msg, 100), которая передает указатель в очередь qResult = xQueueSend(m_daqMsgRxQueue, &_msg, 0); Допустим в ОС крутится много задач очень важные задачи (с приоритетом выше LCD), которые заняли МК например на 200 миллисекунд. MeasCore::sendMsg() не дождался ответа и вернул false. MAIN удалил _msg (или вышел из области _msg). Тут вдруг LCD дождался таки процессорного внимания и начал работу. Поток LCD видит в извлекает из очереди команд указатель на _msg и.... упс.... а _msg уже удалена. Обращение к удаленному объекту!!!