Raven 0 June 7, 2021 Posted June 7, 2021 · Report post On 6/4/2021 at 11:28 AM, ovn said: https://istarik.ru/blog/stm32/159.htmlSTMCubeMX, настраиваю CAN по этой статье для STM32F103, открываю пример с Гита и пробовал сам всё проинициализировать, но программа вешается при инициализации CAN в отладчике, при этом после POR(выключения питания) нормально запускается из FLASH. Что может быть? Ну, раз из FLASH стартует нормально, значит, проект в целом рабочий. Почему при всем этом вешается в отладчике - надо разбираться. Тут вам и флаг в руки. Так и становятся настоящими embedded programmers. Кстати, на этом пути вам на этом форуме охотно помогут. Не любят только откровенных любителей халявы. Quote Share this post Link to post Share on other sites More sharing options...
Arlleex 36 June 7, 2021 Posted June 7, 2021 · Report post При отладке еще, кстати, по-умолчанию, флаг 'DBG' в регистре MCR установлен. Это так, к слову. Quote Share this post Link to post Share on other sites More sharing options...
Eddy_Em 0 June 8, 2021 Posted June 8, 2021 · Report post Делюсь (переходник CAN-USB, правда, на STM32F0x2, т.к. F103 не умеет одновременно USB и CAN). Quote Share this post Link to post Share on other sites More sharing options...
ovn 0 June 9, 2021 Posted June 9, 2021 (edited) · Report post 23 часа назад, Eddy_Em сказал: Делюсь (переходник CAN-USB, правда, на STM32F0x2, т.к. F103 не умеет одновременно USB и CAN). Спасибо, я этот проект нашёл ещё в первый час заморочек, вот и получается, что на git всего 3 простых проекта, при этом под другие чипы. А если кто-то что то и делает, в принципе простенькое, то это уже ноу-хау и на этом деньги можно срубить, никто исходниками делиться не будет. Простой пример, намотка пробега авто, просто замена пакетов от ABS: https://www.drive2.ru/b/558230025954920672/ Edited June 9, 2021 by ovn Quote Share this post Link to post Share on other sites More sharing options...
Arlleex 36 June 9, 2021 Posted June 9, 2021 · Report post Повторю, все-таки. Регистр MCR, бит 'DBF' по умолчанию в 1 Quote Share this post Link to post Share on other sites More sharing options...
ovn 0 June 9, 2021 Posted June 9, 2021 · Report post 19 минут назад, Arlleex сказал: Повторю, все-таки. Регистр MCR, бит 'DBF' по умолчанию в 1 Понял, спасибо Quote Share this post Link to post Share on other sites More sharing options...
ovn 0 June 9, 2021 Posted June 9, 2021 (edited) · Report post Подключил шильд приёмопередатчика(трансивер TJA1050), при этом один ранее купленный другой SN65HVD230 оказался дохлым, в режимах Loopback combined with Silent, Loopback и Silent работает, я могу передавать в шину и принимать из шины кадры, анализатором CAN вижу, что кадры правильные, а в режиме Normal выходит в void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan) { uint32_t er = HAL_CAN_GetError(hcan); sprintf(trans_str,"ER CAN %08lX", er); HAL_UART_Transmit(&huart1, (uint8_t*)trans_str, strlen(trans_str), 100); } ошибка 0x80 Edited June 9, 2021 by ovn Quote Share this post Link to post Share on other sites More sharing options...
Arlleex 36 June 10, 2021 Posted June 10, 2021 · Report post Сдается мне, что где-то у Вас разошлись скорости или настройки точек семплирования в девайсах. Quote Share this post Link to post Share on other sites More sharing options...
ovn 0 June 18, 2021 Posted June 18, 2021 (edited) · Report post TJA1050 похоже в каком-то симплексном режиме работает, с ним в режиме Normal ошибки, поменял нерабочий SN65HVD230, подключил и заработало. 09.06.2021 в 08:47, Arlleex сказал: Повторю, все-таки. Регистр MCR, бит 'DBF' по умолчанию в 1 Если всё настроено нормально, то не требуется. Edited June 18, 2021 by ovn Quote Share this post Link to post Share on other sites More sharing options...
Doka 0 June 18, 2021 Posted June 18, 2021 · Report post On 6/7/2021 at 12:17 PM, ovn said: их всего то штуки 3 на весь GIT, всё перелопачено за эти дни по нескольку раз а если копнуть? https://github.com/iDoka/awesome-canbus#arm On 6/10/2021 at 8:33 AM, Arlleex said: Сдается мне, что где-то у Вас разошлись скорости или настройки точек семплирования в девайсах. вроде бы точка семплирования выбирается не исходя из идентичности настроек, а исходя из длины/топологии шины Quote Share this post Link to post Share on other sites More sharing options...
ovn 0 June 25, 2021 Posted June 25, 2021 · Report post основная проблема, что на STM32F446RE при инициализации CAN из HAL вылетает в ошибку, на STM32F103C8 всё нормально, хотя код инициализации CAN идентичный, не важно HSI или HSE, бит готовности опорника выставляется. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 52 June 25, 2021 Posted June 25, 2021 · Report post 10.06.2021 в 08:33, Arlleex сказал: Сдается мне, что где-то у Вас разошлись скорости или настройки точек семплирования в девайсах. Посмотрите соседнюю тему: автор до сих пор не смог правильно настроить тактирование МК. О каком CAN в таком случае может идти речь? 41 минуту назад, ovn сказал: основная проблема, что на STM32F446RE при инициализации CAN из HAL вылетает в ошибку Когда строят дом, сперва делают фундамент, а уж только после этого - кладут стены и крышу. Так и у вас: о программировании какого CAN-а может идти речь, если вы до сих пор не сумели нормально запустить тактирование МК? Один из первых этапов с которых начинается создание проекта на МК: изучение и настройка тактирования (различных генераторов и доменов), питания, GPIO, мультиплексоров пинов, средств отладки, обработки исключений/прерываний и т.п. базовых вещей. Только после того, как это всё будет работать чётко и без вопросов, только после этого можно приступать к CAN, UART и прочим интерфейсам и периферийным блокам. Quote Share this post Link to post Share on other sites More sharing options...
ovn 0 June 25, 2021 Posted June 25, 2021 (edited) · Report post 3 часа назад, jcxz сказал: Посмотрите соседнюю тему: автор до сих пор не смог правильно настроить тактирование МК. О каком CAN в таком случае может идти речь? Когда строят дом, сперва делают фундамент, а уж только после этого - кладут стены и крышу. Так и у вас: о программировании какого CAN-а может идти речь, если вы до сих пор не сумели нормально запустить тактирование МК? Один из первых этапов с которых начинается создание проекта на МК: изучение и настройка тактирования (различных генераторов и доменов), питания, GPIO, мультиплексоров пинов, средств отладки, обработки исключений/прерываний и т.п. базовых вещей. Только после того, как это всё будет работать чётко и без вопросов, только после этого можно приступать к CAN, UART и прочим интерфейсам и периферийным блокам. Уже написано, что тактирование РАБОТАЕТ, и CAN на STM32F103C8 полностью работает во всех режимах, а на STM32F446RE нет. Edited June 25, 2021 by ovn Quote Share this post Link to post Share on other sites More sharing options...
jcxz 52 June 25, 2021 Posted June 25, 2021 · Report post 3 минуты назад, ovn сказал: Уже написано, что тактирование РАБОТАЕТ, и CAN на STM32F103C8 полностью работает во всех режимах, а на STM32F446RE нет. И при чём тут F103, если запускаете на F446? Quote Share this post Link to post Share on other sites More sharing options...
ovn 0 June 25, 2021 Posted June 25, 2021 · Report post 47 минут назад, jcxz сказал: И при чём тут F103, если запускаете на F446? Сначала запускал на F103, потом на F446, а надо на F205, которого пока нет. Quote Share this post Link to post Share on other sites More sharing options...