my504 2 30 апреля, 2022 Опубликовано 30 апреля, 2022 · Жалоба 23 hours ago, TViT said: Может есть у кого-то Один из вариантов происхождения проблемы. При переходе с STM32 на AT32 я обнаружил, что в таймерах у которых нет регистра CTRL2, запись в этот несуществующий регистр ведет к отключению всех прескалеров таймера и он начинает работать на входном тактировании шины. Есть вероятность, что какая то из функций HAL в силу универсальности может писать якобы в пустоту то, что изменит работу периферийного модуля. Собственно в этом и состоит проблема HAL, где реальная работа с регистрами зарыта в недрах капусты функций. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TViT 0 4 мая, 2022 Опубликовано 4 мая, 2022 · Жалоба 30.04.2022 в 11:39, my504 сказал: Один из вариантов происхождения проблемы. При переходе с STM32 на AT32 я обнаружил, что в таймерах у которых нет регистра CTRL2, запись в этот несуществующий регистр ведет к отключению всех прескалеров таймера и он начинает работать на входном тактировании шины. Есть вероятность, что какая то из функций HAL в силу универсальности может писать якобы в пустоту то, что изменит работу периферийного модуля. Собственно в этом и состоит проблема HAL, где реальная работа с регистрами зарыта в недрах капусты функций. Как это поймать побыстрее и полегче? Где при настройке чего проблема затаилась которой вроде как и не должно быть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex-lab 5 4 мая, 2022 Опубликовано 4 мая, 2022 · Жалоба 3 hours ago, TViT said: Как это поймать побыстрее и полегче? Проверить состояние всех регистров после инициализации, сверить с рефманом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TViT 0 4 мая, 2022 Опубликовано 4 мая, 2022 · Жалоба 1 час назад, Alex-lab сказал: Проверить состояние всех регистров после инициализации, сверить с рефманом? Ну постараюсь, что-то отладка на китайце не заводилась. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Captain777 0 4 мая, 2022 Опубликовано 4 мая, 2022 · Жалоба Addon надо ставить от GD, чтобы правильно регистры показывал IAR или Кейл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 4 мая, 2022 Опубликовано 4 мая, 2022 · Жалоба 13 minutes ago, Captain777 said: Addon надо ставить от GD Вот тут лежат Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TViT 0 5 мая, 2022 Опубликовано 5 мая, 2022 · Жалоба У меня Eclipse + OpenOCD либо +SEGGER Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 5 мая, 2022 Опубликовано 5 мая, 2022 · Жалоба 2 minutes ago, TViT said: У меня Eclipse + OpenOCD либо +SEGGER Там по ссылке не только Addons, но и библиотеки для GD32. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GYUR22 0 5 мая, 2022 Опубликовано 5 мая, 2022 · Жалоба On 4/26/2022 at 4:12 PM, Forger said: Нет. Аппаратно они одинаковые, в чем лично убедился конкретно на этих камнях в реальном проекте. Откройте даташиты, сравните. Разница была с АЦП, в частности с самокалибровкой. Там был нюанс. В остальном камни одинаково работали. А можно поподробнее что там не так с калибровкой? На первый взгляд что у GD32F103 делается одной функцией adc_calibration_enable() у stm32 делается тремя функциями резет, калибровка, проверка , но суть и регистры теже. Спрашиваю потому что у GD несколько странно ведет себя опора vrefint - прыгает от на 30 делений , а у stm +-1. Ну и в GD иногда что то прилетает в 9 канал АЦП и показания на нем скачут - обычно раз в несколько часов, остальные каналы норм , все делается очень медленно скорость камня 36MHz, АЦП тоже медленный, выборка 239. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 5 мая, 2022 Опубликовано 5 мая, 2022 · Жалоба 7 minutes ago, GYUR22 said: А можно поподробнее что там не так с калибровкой? Если мне не изменяет память, то калибровку АЦП в GD можно включать не ранее, чем через 14 тактов после включения АЦП. У ST эта цифра гораздо меньше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GYUR22 0 5 мая, 2022 Опубликовано 5 мая, 2022 · Жалоба 23 minutes ago, Forger said: Если мне не изменяет память, то калибровку АЦП в GD можно включать не ранее, чем через 14 тактов после включения АЦП. У ST эта цифра гораздо меньше. Не похоже что в моем случае что то изменилось как болталась так и болтаеся :) Если я правильно понял то имеется ввиду задержка после ADC_Cmd(ADC1, ENABLE); ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 5 мая, 2022 Опубликовано 5 мая, 2022 · Жалоба 6 minutes ago, GYUR22 said: Если я правильно понял то имеется ввиду задержка после ADC_Cmd(ADC1, ENABLE); ? Возможно оно, точно не знаю, поскольку сторонними периферийными библиотеками не пользуюсь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KirVV 0 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба В 26.04.2022 в 11:36, TViT сказал: Всем привет. Народ подскажите есть ли у кого опыт, по переходу с STM32F103RET6 на GD32F103RET6. У меня в проекте все работает если прошивку от stm32 залить в туже плату только с GD32 и spi и uart и порты, но вот CAN не работает. Причем пакеты посылаются корректные все как stm32, но приема CAN пакетов от другого устройства не происходит. Фильтры все в 0, принимают все кадры. CAN-снифер показывает что посылки идут, но устройство на GD32 не принимает пакеты. Хотя посылает их корректно. При отладке не вызывается колбэк по приему, как будто в принципе не было пакетов на линии или они аппаратно CAN-контроллером не пропускаются на верхний уровень в приложение. Подскажите куда копать, кто сталкивался с такой проблемой? Здравствуйте. У меня возникла такая же проблема на кристалле STM32C103RET6, у которого 2 CAN на борту. При чем, я использую оба. В случае с CAN0 проблем нет - передача и прием работают нормально. А вот, с CAN1 озвученная Вами проблема. Скажите, Вам удалось побороть её? Если да, то каким образом? PS: Инициализация В 28.04.2022 в 17:43, Captain777 сказал: Было такое на GD32F105. Передача идет - приема нет. Вылечилось изменением порядка инициализации. STM при этом работал. После, одна прошивка заработала и на STM и на GD. Тоже самое и с USB было. В каком порядке Вы инициализировали? На что нужно обратить внимание? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 42 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба 35 минут назад, KirVV сказал: STM32C103RET6, у которого 2 CAN на борту Ничего не смущает ? Даже акеЙгугла ничего не знает про такого зверя. 37 минут назад, KirVV сказал: В каком порядке Вы инициализировали? По какой диагонали вы читали даташит ? 38 минут назад, KirVV сказал: На что нужно обратить внимание? На даташит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dOb 8 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба 54 минуты назад, Vasily_ сказал: Ничего не смущает ? Даже акеЙгугла ничего не знает про такого зверя. По какой диагонали вы читали даташит ? На даташит. Кроме Datasheet нужно также проштудировать ещё один документ: https://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230209/GD32F10x_User_Manual_EN_Rev2.6.pdf 853 страницы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться