Программирование МК STM32



Помечено: 

Просмотр 15 сообщений - с 151 по 165 (из 169 всего)
  • Автор
    Сообщения
  • #22326
    A-Soft
    Участник

    chechetkin.v.v@mail.ru
    шлите схему, посмотрим что можно сделать

    #22344
    sabrat
    Участник

    Добрый день. Захотелось ребёнку моему красивую подсветку. Выбрал ленту ws2812. Поскольку на этом сайте давно нахожусь, попробовал скомпилить готовые проекты с этого сайта. Всё работает, с одним НО. Почему то у меня работает половина -1 светодиод. То есть если #define LED_COUNT 300, то у меня работают только 149 светодиодов. У автора всё работает нормально. Лента у меня 60св. м. длинной 5 метров. То есть суммарно 300 светодиодов. При дефайне в проекте 300 работает 149 и какое бы число не ставил соблюдается эта закономерность — Половина минус 1. Если ставлю 601 то работают все.
    Заранее благодарю.

    #22380
    Dan
    Участник

    Добрый день!
    Пытаюсь настроить на STM32F407 работу SNMP агента. Запустить его удалось, а вот привязать свою простенькую базу mib и отправить своё сообщение на snmp-сервер на банальное изменение состояния контакта никак не получается.
    Будут ли такие уроки или может я пропустил какой? Не могу найти нигде хороших примеров.

    #22401
    Vadim_81
    Участник

    Добрый день уважаемые форумчане. Автору уроков огромное спасибо за труды. Проблема в следующем, пытаюсь пересадить модуль rfm69HCW 868 (SX1231H) с адруины на stm(discovery 407), ничего не получается, даже инитить не хочет. Библиотеки инициализации писать самому мозгов не хватает, да и признаться честно, ничего не понимаю в радио. Пробовал библиотеки от lowpowerlab, radiohead. Пытался найти в инете «живой» пример для этого модуля, ничего не вышло, для адруин полно, для stm нету. Автор уроков вроде обещал «пощупать» эту тему, где то видел в коментах, к nrf24 вроде, но к сожалению дальше дело не пошло. Может есть у кого рабочий пример, ну или хотя бы ссылка на ресурс (оконные датчики на хабре не предлагать, тоже не завелся) был бы очень признателен.

    #22402
    A-Soft
    Участник

    я как-то переделывал ардуиновскую библиотеку под STM32. Невеликие там проблемы.
    если вы на своей discovery 407 смогли выполнить несколько уроков NarodStream, тогда пишите chechetkin.v.v@mail.ru

    #22403
    ko062vvs
    Участник

    Добрый день! Нужна помощь. Уже недели 3 мучаюсь.
    Задача: Читать JPG из SD и выводить на ILI9341 с помощью DMA Circular.
    Проблемы в основном с картинками 320*240. Где используется в передаче 3 пакета. с 1 или 2 все норм.
    Моя функция такая:

    void ILI9341_Draw_SDImageJPG(uint16_t x,uint16_t y, const char * fileName)
    {

    if((x >=ILI9341_SCREEN_WIDTH) || (y >=ILI9341_SCREEN_HEIGHT)) return;
    FIL Myfile;
    retSD = f_mount(&SDFatFS, «», 1);
    retSD = f_open(&Myfile,fileName,FA_READ);
    struct jpeg_decompress_struct cinfo;
    struct jpeg_error_mgr jerr;
    cinfo.err = jpeg_std_error(&jerr);
    jpeg_create_decompress(&cinfo);
    jpeg_stdio_src(&cinfo,&Myfile);
    (void) jpeg_read_header(&cinfo, TRUE);
    (void) jpeg_start_decompress(&cinfo);
    JSAMPARRAY buffer;
    uint16_t row_stride = cinfo.output_width * cinfo.output_components;
    buffer = (*cinfo.mem->alloc_sarray)((j_common_ptr) &cinfo, JPOOL_IMAGE, row_stride, 1);
    uint32_t buf_size, count = 0;
    uint32_t n=cinfo.output_width*cinfo.output_height*2;

    if(n<=65536)
    {
    buf_size = n;
    }
    else
    {
    buf_size = 2;
    for(uint8_t j = 3; j < n/3; j++)
    {
    if(n%j == 0)
    {
    buf_size = n/j;
    break;
    }
    }
    }

    ILI9341_SetAddress(x, y, x+cinfo.output_width-1, y+cinfo.output_height-1);
    while(cinfo.output_scanline < cinfo.output_height)
    {
    (void) jpeg_read_scanlines(&cinfo, buffer, 1);

    for(uint16_t i=0;i<cinfo.output_width;i++)
    {

    frm_buf[count++]= RGB(buffer[0][i*3],buffer[0][i*3+1],buffer[0][i*3+2]) >> 8;
    frm_buf[count++]= RGB(buffer[0][i*3],buffer[0][i*3+1],buffer[0][i*3+2]) & 0xFF;

    if (count >= buf_size)

    {

    HAL_GPIO_WritePin(LCD_CS_PORT, LCD_CS_PIN, GPIO_PIN_RESET);//select
    HAL_GPIO_WritePin(LCD_DC_PORT, LCD_DC_PIN, GPIO_PIN_SET); //data
    dma_spi_cnt = 1;
    HAL_SPI_Transmit_DMA(HSPI_INSTANCE, frm_buf, buf_size-1);
    while(!dma_spi_fl) {}
    dma_spi_fl=0;
    count=0;

    }
    }
    }

    (void) jpeg_finish_decompress(&cinfo);
    jpeg_destroy_decompress(&cinfo);
    retSD = f_close(&Myfile);

    }

    //HAL_SPI_Transmit_DMA(HSPI_INSTANCE, frm_buf, buf_size-1);
    почему я сделал -1 потому что во втором пакете данных идет мусор. С -1 мусора нет но картинка смещена.
    null

    #22612
    Rifnur
    Участник

    Здравствуйте. Я благодарен за ваши труды.
    Я новичок в программировании, изучаю АЦП по Уроку 16 на базе платы NUCLEO-767ZI, дисплей LCD 1602, среда разработки STM32CubeIDE_1.7.0, генератор кода STM32CubeMX 6.3.0. Значение АЦП sprintf(str,»%.2d v»,i); выводится на дисплей нормально, а с плавающей запятой sprintf(str,»%.2f v»,u);- пустое поле. На этой строке программы сообщение: The float formatting support is not enabled, check your MCU Settings from «Project Properties>C/C++Build>Settings>Tool Settings», or add manually «-u_printf_float» in linker flags. В свойствах проекта нет такой вкладки >Tool Settings. Кто может сталкивался с такой проблемой, какой выход?

    #22689
    AlexTash
    Участник

    Добрый день, планируется ли разбор работы с датчиком vl53l0x?

    #22690
    megger380
    Участник

    Rifnur, урок 100 часть 1, описано как включить float в eclipse.

    #22692
    Rifnur
    Участник

    megger, Спасибо за помощь.(Rifnur, урок 100 часть 1, описано как включить float в eclipse.)

    #22693
    Oleg_
    Участник

    Добрый день! Помогите советом. Хочу писать круговой буфер на sd карту с помощью библиотеки FATFS и шины SDIO, получается создавать текстовые файлы в корневой каталог. Но не могу найти как писать файлы в папки. То есть папку создать получается, но как создать текстовый документ именно в этой папке не пойму. Подскажите пожалуйста как это сделать или где об этом почитать.

    #24240
    vitya
    Участник

    Добрый день! Не могу реализовать задержку 1мкС на котроллере STM32F407 на FreeRTOS. Может у кого есть готовое решение или совет.

    #24669
    vadima78
    Участник

    Всем добрый день!
    Я новичок в теме программирования и программирования МК тоже)
    Но с электроникой дружу хорошо.
    Так как уроки датируются прошлыми годами(по крайней мере первые из них про STM),
    то прошу посоветовать на данный момент актуальную плату для изучения/обучения.

    И такой вопрос: с чего лучше начать, с какого МК изучение программирования?
    Всем кто ответил — большое спасибо.

    PS. прошу извинить админа, но тему с общими вопросами не нашел.

    #24672
    muraw
    Участник

    Добрый день.

    Вопрос похожий на предыдущий. Программирую ПЛК, но из микроконтроллеров чуть-чуть знаю только PIC.
    Возникла задача записать звук 60 сек с частотой дискретизации 44кГц (минимум 30), а затем по запросу отправить его по WiFi, либо Блютуз.
    ESP32 с этой задачей справиться?

    #24673
    Vadim_81
    Участник

    А языкам программирования десятилетия… Принципиально нового в Вашем случае ничего не изобрели, Начинайте с любого, который больше понятен, а массивы, циклы, логика работы везде одинаковая, отличается только синтаксис, да и то не сильно. В тоже время, не надо начинать изучать велосипед, чтобы получить водительские права. Любой контроллер не смотря на годы публикации постов актуален для тех или иных задач.

  • Автор
    Сообщения
  • #22326

    A-Soft
    Участник
    • Оффлайн

    chechetkin.v.v@mail.ru
    шлите схему, посмотрим что можно сделать

    #22344

    sabrat
    Участник
    • Оффлайн

    Добрый день. Захотелось ребёнку моему красивую подсветку. Выбрал ленту ws2812. Поскольку на этом сайте давно нахожусь, попробовал скомпилить готовые проекты с этого сайта. Всё работает, с одним НО. Почему то у меня работает половина -1 светодиод. То есть если #define LED_COUNT 300, то у меня работают только 149 светодиодов. У автора всё работает нормально. Лента у меня 60св. м. длинной 5 метров. То есть суммарно 300 светодиодов. При дефайне в проекте 300 работает 149 и какое бы число не ставил соблюдается эта закономерность — Половина минус 1. Если ставлю 601 то работают все.
    Заранее благодарю.

    #22380

    Dan
    Участник
    • Оффлайн

    Добрый день!
    Пытаюсь настроить на STM32F407 работу SNMP агента. Запустить его удалось, а вот привязать свою простенькую базу mib и отправить своё сообщение на snmp-сервер на банальное изменение состояния контакта никак не получается.
    Будут ли такие уроки или может я пропустил какой? Не могу найти нигде хороших примеров.

    #22401

    Vadim_81
    Участник
    • Оффлайн

    Добрый день уважаемые форумчане. Автору уроков огромное спасибо за труды. Проблема в следующем, пытаюсь пересадить модуль rfm69HCW 868 (SX1231H) с адруины на stm(discovery 407), ничего не получается, даже инитить не хочет. Библиотеки инициализации писать самому мозгов не хватает, да и признаться честно, ничего не понимаю в радио. Пробовал библиотеки от lowpowerlab, radiohead. Пытался найти в инете «живой» пример для этого модуля, ничего не вышло, для адруин полно, для stm нету. Автор уроков вроде обещал «пощупать» эту тему, где то видел в коментах, к nrf24 вроде, но к сожалению дальше дело не пошло. Может есть у кого рабочий пример, ну или хотя бы ссылка на ресурс (оконные датчики на хабре не предлагать, тоже не завелся) был бы очень признателен.

    #22402

    A-Soft
    Участник
    • Оффлайн

    я как-то переделывал ардуиновскую библиотеку под STM32. Невеликие там проблемы.
    если вы на своей discovery 407 смогли выполнить несколько уроков NarodStream, тогда пишите chechetkin.v.v@mail.ru

    #22403

    ko062vvs
    Участник
    • Оффлайн

    Добрый день! Нужна помощь. Уже недели 3 мучаюсь.
    Задача: Читать JPG из SD и выводить на ILI9341 с помощью DMA Circular.
    Проблемы в основном с картинками 320*240. Где используется в передаче 3 пакета. с 1 или 2 все норм.
    Моя функция такая:

    void ILI9341_Draw_SDImageJPG(uint16_t x,uint16_t y, const char * fileName)
    {

    if((x >=ILI9341_SCREEN_WIDTH) || (y >=ILI9341_SCREEN_HEIGHT)) return;
    FIL Myfile;
    retSD = f_mount(&SDFatFS, «», 1);
    retSD = f_open(&Myfile,fileName,FA_READ);
    struct jpeg_decompress_struct cinfo;
    struct jpeg_error_mgr jerr;
    cinfo.err = jpeg_std_error(&jerr);
    jpeg_create_decompress(&cinfo);
    jpeg_stdio_src(&cinfo,&Myfile);
    (void) jpeg_read_header(&cinfo, TRUE);
    (void) jpeg_start_decompress(&cinfo);
    JSAMPARRAY buffer;
    uint16_t row_stride = cinfo.output_width * cinfo.output_components;
    buffer = (*cinfo.mem->alloc_sarray)((j_common_ptr) &cinfo, JPOOL_IMAGE, row_stride, 1);
    uint32_t buf_size, count = 0;
    uint32_t n=cinfo.output_width*cinfo.output_height*2;

    if(n<=65536)
    {
    buf_size = n;
    }
    else
    {
    buf_size = 2;
    for(uint8_t j = 3; j < n/3; j++)
    {
    if(n%j == 0)
    {
    buf_size = n/j;
    break;
    }
    }
    }

    ILI9341_SetAddress(x, y, x+cinfo.output_width-1, y+cinfo.output_height-1);
    while(cinfo.output_scanline < cinfo.output_height)
    {
    (void) jpeg_read_scanlines(&cinfo, buffer, 1);

    for(uint16_t i=0;i<cinfo.output_width;i++)
    {

    frm_buf[count++]= RGB(buffer[0][i*3],buffer[0][i*3+1],buffer[0][i*3+2]) >> 8;
    frm_buf[count++]= RGB(buffer[0][i*3],buffer[0][i*3+1],buffer[0][i*3+2]) & 0xFF;

    if (count >= buf_size)

    {

    HAL_GPIO_WritePin(LCD_CS_PORT, LCD_CS_PIN, GPIO_PIN_RESET);//select
    HAL_GPIO_WritePin(LCD_DC_PORT, LCD_DC_PIN, GPIO_PIN_SET); //data
    dma_spi_cnt = 1;
    HAL_SPI_Transmit_DMA(HSPI_INSTANCE, frm_buf, buf_size-1);
    while(!dma_spi_fl) {}
    dma_spi_fl=0;
    count=0;

    }
    }
    }

    (void) jpeg_finish_decompress(&cinfo);
    jpeg_destroy_decompress(&cinfo);
    retSD = f_close(&Myfile);

    }

    //HAL_SPI_Transmit_DMA(HSPI_INSTANCE, frm_buf, buf_size-1);
    почему я сделал -1 потому что во втором пакете данных идет мусор. С -1 мусора нет но картинка смещена.
    null

    #22612

    Rifnur
    Участник
    • Оффлайн

    Здравствуйте. Я благодарен за ваши труды.
    Я новичок в программировании, изучаю АЦП по Уроку 16 на базе платы NUCLEO-767ZI, дисплей LCD 1602, среда разработки STM32CubeIDE_1.7.0, генератор кода STM32CubeMX 6.3.0. Значение АЦП sprintf(str,»%.2d v»,i); выводится на дисплей нормально, а с плавающей запятой sprintf(str,»%.2f v»,u);- пустое поле. На этой строке программы сообщение: The float formatting support is not enabled, check your MCU Settings from «Project Properties>C/C++Build>Settings>Tool Settings», or add manually «-u_printf_float» in linker flags. В свойствах проекта нет такой вкладки >Tool Settings. Кто может сталкивался с такой проблемой, какой выход?

    #22689

    AlexTash
    Участник
    • Оффлайн

    Добрый день, планируется ли разбор работы с датчиком vl53l0x?

    #22690

    megger380
    Участник
    • Оффлайн

    Rifnur, урок 100 часть 1, описано как включить float в eclipse.

    #22692

    Rifnur
    Участник
    • Оффлайн

    megger, Спасибо за помощь.(Rifnur, урок 100 часть 1, описано как включить float в eclipse.)

    #22693

    Oleg_
    Участник
    • Оффлайн

    Добрый день! Помогите советом. Хочу писать круговой буфер на sd карту с помощью библиотеки FATFS и шины SDIO, получается создавать текстовые файлы в корневой каталог. Но не могу найти как писать файлы в папки. То есть папку создать получается, но как создать текстовый документ именно в этой папке не пойму. Подскажите пожалуйста как это сделать или где об этом почитать.

    #24240

    vitya
    Участник
    • Оффлайн

    Добрый день! Не могу реализовать задержку 1мкС на котроллере STM32F407 на FreeRTOS. Может у кого есть готовое решение или совет.

    #24669

    vadima78
    Участник
    • Оффлайн

    Всем добрый день!
    Я новичок в теме программирования и программирования МК тоже)
    Но с электроникой дружу хорошо.
    Так как уроки датируются прошлыми годами(по крайней мере первые из них про STM),
    то прошу посоветовать на данный момент актуальную плату для изучения/обучения.

    И такой вопрос: с чего лучше начать, с какого МК изучение программирования?
    Всем кто ответил — большое спасибо.

    PS. прошу извинить админа, но тему с общими вопросами не нашел.

    #24672

    muraw
    Участник
    • Оффлайн

    Добрый день.

    Вопрос похожий на предыдущий. Программирую ПЛК, но из микроконтроллеров чуть-чуть знаю только PIC.
    Возникла задача записать звук 60 сек с частотой дискретизации 44кГц (минимум 30), а затем по запросу отправить его по WiFi, либо Блютуз.
    ESP32 с этой задачей справиться?

    #24673

    Vadim_81
    Участник
    • Оффлайн

    А языкам программирования десятилетия… Принципиально нового в Вашем случае ничего не изобрели, Начинайте с любого, который больше понятен, а массивы, циклы, логика работы везде одинаковая, отличается только синтаксис, да и то не сильно. В тоже время, не надо начинать изучать велосипед, чтобы получить водительские права. Любой контроллер не смотря на годы публикации постов актуален для тех или иных задач.

Просмотр 15 сообщений - с 151 по 165 (из 169 всего)
  • Для ответа в этой теме необходимо авторизоваться.