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



Помечено: 

Просмотр 15 сообщений - с 106 по 120 (из 169 всего)
  • Автор
    Сообщения
  • #17829
    Alexrusneft
    Участник

    Здравствуйте, кто нибудь пробовал повторить урок №96, подключение LAN8720 к STM32F4Disc. Я повторил урок, но нет результата. Уже несколько дней пытаюсь разобраться в чём дело, но пока что безрезультатно. Использую в проекте ту же плату с LAN8720 что и в уроке. Готовый проект с урока так же не работает. PHY адрес пробовал и 0 и 1, отключал DHCP и статичный адрес вбивал, в общем так и не удалось запустить передачу данных. Помогите пожалуйста.

    #18383
    boichonoc
    Участник

    Доброго времени суток! Кто-то работал с GSM модулями SIM800 и ему подобными? Конкретней SIM7600. Какая последовательность команд для установки связи с мобильным интернетом? И как осуществить передачу данных между МК и с данным модулем и сервером? (Конечный результат, прошивка МК STM32 удаленно, через интернет)

    #18544
    A.Tim.
    Участник

    Нужна консультация (Возмездно) по 7-ому уроку на STM32. Вкратце: дисплей выводит символы, если вывожу их поштучно. Если пытаюсь вывести строку, то дисплей выводит случайную букву/цифру из строки, вместо самой строки. Код — в соответствии с Вашим, за тем исключением, что у меня другой контроллер с тактовой частотой 80 МГц и он хоть что-то стал выводить на дисплей при задержке 50-100 в функции delay(void), а не 1000. Т.е. я застрял на середине седьмого урока.

    Работаю в Atollic True Studio

    #18651
    APB1
    Участник

    Здравствуйте. Помогите, пожалуйста, если знаете ответ на мой вопрос.
    Необходимо генерировать сигнал с помощью таймера. Линия подтянута к питанию, сигнал инверсный. Нужно притягивать линию к земле на заданное количество тиков таймера, а потом отпускать на какое-то время, после чего сигнал повторяется. Это как инверсный ШИМ.
    Я думал, что это так же легко, как настроить прямой ШИМ. Но нет:
    <div class=»spoilerui»>PWM mode 1
    — In up-counting, channelx is active as long as CNT< CCRx, otherwise it is inactive
    — In down-counting, channelx is inactive as long as CNT> CCRx, otherwise it is active.
    PWM mode 2
    — In up-counting, channelx is inactive as long as CNT < CCRx, otherwise it is active
    — In down-counting, channelx is active as long as CNT > CCRx, otherwise it is inactive.</div>
    Запускаю в режиме единичного сигнала, в итоге, как ни настраиваю PWM_mode и направление счетчика, а в конце передачи сигнала таймер притягивает ножку к земле. А мне важно, чтобы она оставалась в поднятом состоянии.

    Протокол похож на 1Wire ot Dallas Semiconductor
    Примерная диаграмма протокола

    #19166
    Sergey1985
    Участник

    Доброго времени суток. Очень хотелось чтобы на сайте была затронута тема ассемблерных вставок в особенности для STM32. Или вот еще вопросик. Как подключить встроенные функции C++ команд ассемблера. Например __ror.

    #19321
    idushy
    Участник

    Приветствую уважаемый Narod Stream. В одном коментарии к вашему видео задали вопрос, который меня тоже волнует.
    «Что-то с ходу не нашел:
    Есть три канала АЦП, регуляр мод, опрашивание идет по очереди и такой вопрос, когда забираем значение где узнать с какого канала оно поступило?»
    Вы ответили так.
    Триггеры используйте. Поставьте триггеры на каждый канал и обрабатывайте события.
    Если не трудно укажите где про это почитать посмотреть. Ну а если вы это освещали это было бы вообще идеально)

    #19322
    kvanton
    Участник

    Всем привет, начал недавно STM32 осваивать (до этого были pic12-18/arduino/raspberry) и столкнулся с интересной проблемой:

    Настроил GPIO как Input Pull-Up но при считывании получаю 0.

    Условия:
    Несколько других также настроенных портов (Input Pull-Up) при этом посажены на землю (на один порт Output Open-Drain), а непосредственно перед считыванием переключаю другой порт Output Open-Drain Pull-Up с 1 на 0.
    При этом, если поставить задержку (пробовал 1мс) после переключения OutPut и считыванием Input получаю — 1, как и должно быть. Порты по схеме ни как не связанны — пробовал вообще отключать input порт от схемы (матрица кнопок) ситуация не меняется.

    Работаю с китайской платой на stm32f103c8t6 (ардуино подобная) и библиотекой LL. Скорость порта пробовал разную — результат один.

    Сможет кто-то объяснить или хотя бы намекнуть (куда копать, что почитать) почему такой эффект возможен?
    Во всяких даташитах/аппликейшн ноте вроде ни чего интересного, зацепила только аббревиатура SSO ( simultaneous switching output) в разделе Adapt GPIO speed (в AN на GPIO) — но понять глубину этой фразы и контекста с ходу не получилось (возможно из-за непонимания каких-то базовых моментов)

    Хотя и проблема в принципе решена (задержка допустима) — но хотелось бы разобраться в причинах.

    Буду благодарен любым вариантам, может что-то натолкнет на правильные мысли.

    #19889
    SergV
    Участник

    Здравствуйте, извиняюсь за данный пост, я немного не уверен на сколько стм32 это просто… но поддавшись Вашему приглашению в др уроках, меня заинтересовал контроллер. все начинается с урока «Программирование МК STM32. УРОК 1. Установка Keil μVision» вы используете STM32F407VG, в то время как у меня есть в наличие STM32F103RCT6…посему вопрос, если позволите. в уроке дистрибутив выбирается на сайте согласно модели процессора, значит и я ищу по своему…т.е. это stm32f1 ? и далее по аналогии работаю со своим даташитом на процессор.

    #20044
    KKK2010
    Участник

    Добрый день
    Попытался сделать 4 канальный термометр, взял прошивку из урока «DS18B20 несколько датчиков», немного изменил код для вывода на LCD, вроде все хорошо, но решил посмотреть как отрицательные температуры показываются. Сунул 1 датчик в морозильную камеру, и падение температуры выглядело вот так: +3, +2, +1, -127, -126, -125, -124, -123, -122 и т.д. В преобразовании где-то косяк, только не могу понять где.

    #20426
    Vitaly65
    Участник

    Добрый день!
    Ищем удобную библиотеку для STM32 под HAL Modbus RTU SlaveMaster.
    Кто сможет помочь? Готовы заплатить.

    #20444
    Fantom
    Участник

    Добрий день! Кто может помочь.?
    Установил Keil с офф сайта и CubeMX, генерирую проект в кубе для Keil и вискакивает во такая ошибка как на фото.My_Problem

    #20456
    serg_555
    Участник

    Добрый день ! Hе подскажите в 68 уроке часть 4 проверяется флаг header.status&0x80==0 ,а что это за флаг и где он находится в документации?

    #20871
    typbluff
    Участник

    Здравствуйте.

    Скажите, пожалуйста, насколько оправдано использование DMA для вывода данных через USART?

    Во-первых, USART используются в проекте как для отладки ПО, так и для взаимодействия с МК. Во-вторых, используется ОС реального времени. В-третьих, производится именно форматированный вывод, то есть с использованием самописной функции «printf()». Соответственно, сперва обязательно нужно процессорное время для форматирования, а DMA, что логично, впрочем, используется только после преобразования для передачи данных.

    Не совсем ясно, действительно ли оно существенно ускорит работу МК в этом случае?

    И еще — есть ли какая-нибудь инструкция, пример по использованию передачи и приема в одном проекте с RTOS?

    #20920
    NEOVIS
    Участник

    Добрый вечер.
    Вы можете написать урок:
    I2C. Slave mode. Соединяем два микроконтроллера.
    Только для stm32 в HAL и LL.

    #21229
    Narod Stream
    Хранитель

    NEOVIS
    Вообще тема интересная, возьму на заметку, правда массовых просьб пока не поступало.

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

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

    Здравствуйте, кто нибудь пробовал повторить урок №96, подключение LAN8720 к STM32F4Disc. Я повторил урок, но нет результата. Уже несколько дней пытаюсь разобраться в чём дело, но пока что безрезультатно. Использую в проекте ту же плату с LAN8720 что и в уроке. Готовый проект с урока так же не работает. PHY адрес пробовал и 0 и 1, отключал DHCP и статичный адрес вбивал, в общем так и не удалось запустить передачу данных. Помогите пожалуйста.

    #18383

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

    Доброго времени суток! Кто-то работал с GSM модулями SIM800 и ему подобными? Конкретней SIM7600. Какая последовательность команд для установки связи с мобильным интернетом? И как осуществить передачу данных между МК и с данным модулем и сервером? (Конечный результат, прошивка МК STM32 удаленно, через интернет)

    #18544

    A.Tim.
    Участник
    • Оффлайн

    Нужна консультация (Возмездно) по 7-ому уроку на STM32. Вкратце: дисплей выводит символы, если вывожу их поштучно. Если пытаюсь вывести строку, то дисплей выводит случайную букву/цифру из строки, вместо самой строки. Код — в соответствии с Вашим, за тем исключением, что у меня другой контроллер с тактовой частотой 80 МГц и он хоть что-то стал выводить на дисплей при задержке 50-100 в функции delay(void), а не 1000. Т.е. я застрял на середине седьмого урока.

    Работаю в Atollic True Studio

    #18651

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

    Здравствуйте. Помогите, пожалуйста, если знаете ответ на мой вопрос.
    Необходимо генерировать сигнал с помощью таймера. Линия подтянута к питанию, сигнал инверсный. Нужно притягивать линию к земле на заданное количество тиков таймера, а потом отпускать на какое-то время, после чего сигнал повторяется. Это как инверсный ШИМ.
    Я думал, что это так же легко, как настроить прямой ШИМ. Но нет:
    <div class=»spoilerui»>PWM mode 1
    — In up-counting, channelx is active as long as CNT< CCRx, otherwise it is inactive
    — In down-counting, channelx is inactive as long as CNT> CCRx, otherwise it is active.
    PWM mode 2
    — In up-counting, channelx is inactive as long as CNT < CCRx, otherwise it is active
    — In down-counting, channelx is active as long as CNT > CCRx, otherwise it is inactive.</div>
    Запускаю в режиме единичного сигнала, в итоге, как ни настраиваю PWM_mode и направление счетчика, а в конце передачи сигнала таймер притягивает ножку к земле. А мне важно, чтобы она оставалась в поднятом состоянии.

    Протокол похож на 1Wire ot Dallas Semiconductor
    Примерная диаграмма протокола

    #19166

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

    Доброго времени суток. Очень хотелось чтобы на сайте была затронута тема ассемблерных вставок в особенности для STM32. Или вот еще вопросик. Как подключить встроенные функции C++ команд ассемблера. Например __ror.

    #19321

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

    Приветствую уважаемый Narod Stream. В одном коментарии к вашему видео задали вопрос, который меня тоже волнует.
    «Что-то с ходу не нашел:
    Есть три канала АЦП, регуляр мод, опрашивание идет по очереди и такой вопрос, когда забираем значение где узнать с какого канала оно поступило?»
    Вы ответили так.
    Триггеры используйте. Поставьте триггеры на каждый канал и обрабатывайте события.
    Если не трудно укажите где про это почитать посмотреть. Ну а если вы это освещали это было бы вообще идеально)

    #19322

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

    Всем привет, начал недавно STM32 осваивать (до этого были pic12-18/arduino/raspberry) и столкнулся с интересной проблемой:

    Настроил GPIO как Input Pull-Up но при считывании получаю 0.

    Условия:
    Несколько других также настроенных портов (Input Pull-Up) при этом посажены на землю (на один порт Output Open-Drain), а непосредственно перед считыванием переключаю другой порт Output Open-Drain Pull-Up с 1 на 0.
    При этом, если поставить задержку (пробовал 1мс) после переключения OutPut и считыванием Input получаю — 1, как и должно быть. Порты по схеме ни как не связанны — пробовал вообще отключать input порт от схемы (матрица кнопок) ситуация не меняется.

    Работаю с китайской платой на stm32f103c8t6 (ардуино подобная) и библиотекой LL. Скорость порта пробовал разную — результат один.

    Сможет кто-то объяснить или хотя бы намекнуть (куда копать, что почитать) почему такой эффект возможен?
    Во всяких даташитах/аппликейшн ноте вроде ни чего интересного, зацепила только аббревиатура SSO ( simultaneous switching output) в разделе Adapt GPIO speed (в AN на GPIO) — но понять глубину этой фразы и контекста с ходу не получилось (возможно из-за непонимания каких-то базовых моментов)

    Хотя и проблема в принципе решена (задержка допустима) — но хотелось бы разобраться в причинах.

    Буду благодарен любым вариантам, может что-то натолкнет на правильные мысли.

    #19889

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

    Здравствуйте, извиняюсь за данный пост, я немного не уверен на сколько стм32 это просто… но поддавшись Вашему приглашению в др уроках, меня заинтересовал контроллер. все начинается с урока «Программирование МК STM32. УРОК 1. Установка Keil μVision» вы используете STM32F407VG, в то время как у меня есть в наличие STM32F103RCT6…посему вопрос, если позволите. в уроке дистрибутив выбирается на сайте согласно модели процессора, значит и я ищу по своему…т.е. это stm32f1 ? и далее по аналогии работаю со своим даташитом на процессор.

    #20044

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

    Добрый день
    Попытался сделать 4 канальный термометр, взял прошивку из урока «DS18B20 несколько датчиков», немного изменил код для вывода на LCD, вроде все хорошо, но решил посмотреть как отрицательные температуры показываются. Сунул 1 датчик в морозильную камеру, и падение температуры выглядело вот так: +3, +2, +1, -127, -126, -125, -124, -123, -122 и т.д. В преобразовании где-то косяк, только не могу понять где.

    #20426

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

    Добрый день!
    Ищем удобную библиотеку для STM32 под HAL Modbus RTU SlaveMaster.
    Кто сможет помочь? Готовы заплатить.

    #20444

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

    Добрий день! Кто может помочь.?
    Установил Keil с офф сайта и CubeMX, генерирую проект в кубе для Keil и вискакивает во такая ошибка как на фото.My_Problem

    #20456

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

    Добрый день ! Hе подскажите в 68 уроке часть 4 проверяется флаг header.status&0x80==0 ,а что это за флаг и где он находится в документации?

    #20871

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

    Здравствуйте.

    Скажите, пожалуйста, насколько оправдано использование DMA для вывода данных через USART?

    Во-первых, USART используются в проекте как для отладки ПО, так и для взаимодействия с МК. Во-вторых, используется ОС реального времени. В-третьих, производится именно форматированный вывод, то есть с использованием самописной функции «printf()». Соответственно, сперва обязательно нужно процессорное время для форматирования, а DMA, что логично, впрочем, используется только после преобразования для передачи данных.

    Не совсем ясно, действительно ли оно существенно ускорит работу МК в этом случае?

    И еще — есть ли какая-нибудь инструкция, пример по использованию передачи и приема в одном проекте с RTOS?

    #20920

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

    Добрый вечер.
    Вы можете написать урок:
    I2C. Slave mode. Соединяем два микроконтроллера.
    Только для stm32 в HAL и LL.

    #21229

    Narod Stream
    Хранитель
    • Оффлайн

    NEOVIS
    Вообще тема интересная, возьму на заметку, правда массовых просьб пока не поступало.

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