• ×   Вставлено в виде отформатированного текста.   Восстановить форматирование

      Разрешено не более 75 смайлов.

    ×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Похожие публикации

    • Автор: rmatveev
      Всем привет!
      Задумано следующее: на малинку ставится веб-сервер (именно веб, а не HTTP, т.к. подразумевается тонкий клиент, но возможно я с терминами немного путаю), который обеспечивает управление через тонкий клиент по Ethernet, по Modbus RTU поверх RS-485 малинка должна будет управлять объектом.
      Т.е. задача такая: на удаленном рабочем месте визуализация объекта и его управление по Modbus.
      Изначально я хотел под это дело использовать какой-нибудь NUCLEO на процессоре STM32. Но почитал немного о подробностях установки TCP-IP стека и веб-сервера на STM32 и понял, что эту задачу они выполняют, но как-то сложновато. Вроде как Raspberry Pi намного лучше с этим должна справиться. Да и комьюнити намного больше.
      Ваши мнения, господа?
    • Автор: DmitryDDDD
      Здравствуйте, имеется задача передачи данных от stm32 на ПК и от ПК в stm по UART. Имеется stm32f411e-disco, созданная программа на пк в Qt creator. UART передатчик - CH340. Программа для stm - Keil, настройка в cubeMX.
      Основные выдержки из кода Qt (mainwindow.cpp):
       
      C++ (Qt)Выделить код
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
      // Настройка UART      serial = new QSerialPort(this);      serial->setPortName("com4");      serial->setBaudRate(QSerialPort::Baud115200);      serial->setDataBits(QSerialPort::Data8);      serial->setParity(QSerialPort::NoParity);      serial->setStopBits(QSerialPort::OneStop);      serial->setFlowControl(QSerialPort::NoFlowControl);      serial->open(QIODevice::ReadWrite);      /*serial->write("ok*");  */                                                          connect(serial, SIGNAL(readyRead()), this, SLOT(serialReceived()));   // Запись принятых даннх в текстовое окно void MainWindow::serialReceived() {     QByteArray ba;     ba=serial->readAll();     ui->label->setText(ba);     qDebug()<<ba; }   // Отправка "1" и "2" в зависимости от нажатой кнопки void MainWindow::on_pushButton_clicked() {   serial->write("1"); }   void MainWindow::on_pushButton_2_clicked() {   serial->write("2"); }
      Настроен UART на прием и передачу. При нажатии какой-либо кнопки по UART передаётся 1 или 2ка. Так же принятая информация отображается в текстовом окне label. При замыкании RX и TX у CH340 отправленная 1 или 2 тут же принимаются программой.

      Программный код для stm создан в CubeMX. Там подключено два UART, один на приём, другой на передачу (можно настроить один для работы в 2 направления).
      Основные выдержки из кода Keil (main.c):
      //Настройка UART
      serial = new QSerialPort(this);
      serial->setPortName("com4");
      serial->setBaudRate(QSerialPort::Baud115200);
      serial->setDataBits(QSerialPort::Data8);
      serial->setParity(QSerialPort::NoParity);
      serial->setStopBits(QSerialPort::OneStop);
      serial->setFlowControl(QSerialPort::NoFlowControl);
      serial->open(QIODevice::ReadWrite);
      /* serial->write("ok*"); */ // Transmiting "ок" to COM Port
      connect(serial, SIGNAL(readyRead()), this, SLOT(serialReceived()));
       
      // Отображение принятых данных в текстовом меню label
      void MainWindow::serialReceived()
      {
      QByteArray ba;
      ba=serial->readAll();
      ui->label->setText(ba);
      qDebug()<<ba;
      }
       
      // Отправка 1 или 2 в зависимости от нажатой кнопки
      void MainWindow::on_pushButton_clicked()
      {
      serial->write("1");
      }
       
      void MainWindow::on_pushButton_2_clicked()
      {
      serial->write("2");
      }
       
      Выдержки из кода в Keil (main.c):
       
      // Настройка UART
      static void MX_USART1_UART_Init(void)
      {
        huart1.Instance = USART1;
        huart1.Init.BaudRate = 115200;
        huart1.Init.WordLength = UART_WORDLENGTH_8B;
        huart1.Init.StopBits = UART_STOPBITS_1;
        huart1.Init.Parity = UART_PARITY_NONE;
        huart1.Init.Mode = UART_MODE_TX_RX;
        huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
        huart1.Init.OverSampling = UART_OVERSAMPLING_16;
        if (HAL_UART_Init(&huart1) != HAL_OK)
        {
          _Error_Handler(__FILE__, __LINE__);
        }
      }
      // 2 массива для принятия и отправки данных
        uint8_t strTX[1];
          uint8_t strRX[1];
      // Попытка сделать что-то адекватное
              int strTX = 1;
      while(1) {        
              HAL_UART_Transmit_IT(&huart2, (uint8_t*) strTX, 1);
            HAL_UART_Receive_IT(&huart2, (uint8_t*) strTX, 1);
      Код в keil явно кривой, в Qt вроде всё работает. Получается передать из stm в Qt, но из Qt в stm нет. 
      Нужно получить следующее: нажимаем в Qt одну из двух кнопок, отправляется в stm либо 1, либо 2 в зависимости от выбранной кнопки. Stm принимает, обрабатывает, если 1, то загорается один светодиод, если 2, то другой. Дальше stm отправляет обратно в Qt информацию о том, какой светодиод загорелся. 

      P.S: довольно далек от программирования, но стараюсь разобраться. Буду благодарен любой помощти, некоторые скриншоты прилагаю.



    • Автор: LiVit
      Приветствую, коллеги!
      Ситуация такая: есть серия устройств на STM32F030R8, на некоторых время от времени начинает греться микроконтроллер. 
      Вся логика работает, всё вроде в порядке, кроме потребления в 250мА. И перегретого корпуса микроконтроллера.
      В прошивке изначально отсутствовала инициализация неиспользуемых ног, кроме того, проц сначала старается завести внешний кварц, и только потом переходит на внутренний генератор.
      Нога BOOT0 притянута к земле напрямую, без резистора.
      На проце который уже начал перегреваться, я сделал инициализацию всех ног на вход, с подтяжкой ног к земле. Сразу завожу внутренний тактовый генератор.
      К сожалению, ему уже ничего не помогает, - даже будучи стертым, он жрет 200 мА. Как я понимаю, тут мои полномочия всё.
      Хотелось бы услышать от коллег, что именно могло вызвать такую странную неисправность проца? Может кто сталкивался? В Errata ничего подобного не нашел.
    • Гость Andrey-Docent
      Автор: Гость Andrey-Docent
      Всем привет! Планируется сделать на базе arduino устройство, ведущее обмен данными с переферийным устройством по интерфейсу rs-232 и также необходимо контролировать работу arduino с помощью компьютера тоже посредством интерфейса rs-232. Но у arduino только один такой порт. Первая мысль в связи с этим - сделать ещё один порт и вывести линии RX и TX на другие (например цифровые) ножки порта. Можно ли как-то это сделать? Нет ли готовых библиотек для этого (на данный момент не нашёл таковых в интернете)? Может есть ещё какой-нибудь обходной путь? Заранее спасибо.
    • Гость Максим
      Автор: Гость Максим
      Всем светлым и умным головам привет!

      Никак не могу найти информацию о данном прерывании TIM1_BRK_UP_TRG_COM.
      Вопрос 1: Что это за стек или система прерываний? 
      Вопрос 2: Когда будет вызываться обработчик прерывания TIM1_BRK_UP_TRG_COM_IRQHandler, если также есть обработчик прерывания TIM1_CC_IRQHandler?
      Вопрос 3: период переполнения таймера равен 100 мкс. Сколько раз будет вызываться обработчик прерывания TIM1_BRK_UP_TRG_COM_IRQHandler до обработчика прерывания TIM1_CC_IRQHandler? По логике вещей, предполагаю, что 100 раз?
      Заранее благодарен!

      Всем радости))
  • Сообщения

    •  Ага, разбирал недавно один, что с солнечной панелью с одной стороны и фонарь - с другой. Там отсек на 5 "пальчиков", так 2 из них  при разборке просто выкатились оттуда  Они там для балласта были! Ну и чтобы три остальных (соединенных) не ерзали внутри. Тогда почему не сразу в Джоулях? И кому оно, это количество нужно? Что с этой энергией дальше делать? Пересчитывать? И кто это сможет сделать?    Ампер-часы - однозначно. Где аккумуляторы, там всегда самая важная характеристика - ток разряда. И сколько времени конкретное устройство от этого аккумулятора проработает без его подзарядки . И еще - какой ток заряда. Когда вы видите "5300 мАч", вы сразу получаете  ответы на эти вопросы. А у того, кто знает, что такое Джоуль, проблем не возникнет и с Ампер-часами. Ну это я так думаю 
    • Для оргстекла, очень хороший клей получается, если мелкую стружку оргстекла растворить в дихлорэтане до густой массы. Прочность склеенных  деталей очень хорошая. Корпуса  из оргстекла, как прозрачного, так и цветного, для небольших приборов очень аккуратные получаются. В качестве растворителя лучше всего использовать дихлорэтан. Ацетон слабоват для этих целей. Проверял прочность шва двух склеенных кусков оргстекла. За швом обломался,  а шов как ни в чём не бывало крепкий и целый. Этим клеем можно склеивать и некоторые виды пластмасс. Прочность тоже получается неплохая.
      P.S. Склеенный таким клеем аквариум из оргстекла до сих пор у дочки функционирует. 
    • Что-то я не понял.. Эта тема предназначена исключительно для хитростей пользователей нашего форума, или  для перепостенных хитростей со стороны, т.е. от "голи" с Ютуба, и.т.п, тоже...? Если допускается размещать сюда и чужие хитрости, то я например могу помочь,  за пару дней сделать эту тему "самой хитрой" из всех имеющихся на форуме.
      ЗЫ: Наверное имеет смысл создать отдельную тему для перепостенных хиторостей со стороны... что-то типа: "Технологические советы со сторонних ресурсов"?
    • Имхо, проще забить на эти панели и сделать свою плату. Причем даже необязательно травить текстолит, можно взять хоть кусок фанеры. Просто насверлить дырок, воткнуть свтодиоды, разогнуть ножки и спаять оптимальным для имеющегося источника питания способом. Можно прямо на 220 Вольт сделать, по схеме светодиодных лампочек.
    • Это понятно. Ещё один большой минус приватизированных квартир - каждый сам себе злобный буратино. Домовладелец же арендного жилья просто принудил бы всех к одновременной санации дома.
    • Откуда вы эти цены берете а? Процессор не новый но и не древний. Сами понимаете с процессорами ничего по сути не происходит, они как работали так и работают, поломки у них - редкость. Шестое поколение - skylake. Сейчас стоит он в магазине новый - 7000 р. Вот вы просто сходу взяли и скинули цену в 3.5 раза до 2000р. А если до 1500р. то в 4.5 раза! На каком основании?!  Вот я щас купил как опять же с себе i5-8500 за 17000 тонн. Следуя вашей логике, я что его продать в 4 раза дешевле должен только потому что он Б/У? Вы серьезно? И что с того. Не всем надо в игры гамать. В доту поиграть сгодиться, нормально. А если вам нужен проц для геймерского компа, ну идите да покупайте i-5 за 17к для этих целей. Я вроде в теме не писал что продаю ИГРОВОЙ процессор.