CAN на STM32F103
Dec. 5th, 2022 06:06 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Более-менее добил реализацию CAN-интерфейса на F103C6T6. Правда, все равно при сильном "флуде" (когда посылаю на МК сообщения каждую миллисекунду) периодически возникают непонятные зависания. Я так и не нашел их причину: вроде отправляет предыдущий буфер, заполняет следующий и бац — зависло (и вотчдог перезагружает МК). С USB такого не происходит.
Заодно подправил функционал CAN-USB на F0x2 и добавил еще несколько команд (скажем, можно менять период "флуда", раньше был жестко 5мс). Обнаружил непонятный баг с memcpy (в одном месте все ОК, в другом приводит к зависанию). Похоже, из-за невыровненных переменных.
В остальном CAN работает нормально. Можно разрабатывать железяки, которым нужен CAN, но не нужен USB, на основе дешевых STM32F103C6T6 (как я уже писал раньше, они сейчас на али по 45-50 рублей за штучку).
Заодно подправил функционал CAN-USB на F0x2 и добавил еще несколько команд (скажем, можно менять период "флуда", раньше был жестко 5мс). Обнаружил непонятный баг с memcpy (в одном месте все ОК, в другом приводит к зависанию). Похоже, из-за невыровненных переменных.
В остальном CAN работает нормально. Можно разрабатывать железяки, которым нужен CAN, но не нужен USB, на основе дешевых STM32F103C6T6 (как я уже писал раньше, они сейчас на али по 45-50 рублей за штучку).