CAN на STM32F103 не выходит из инициализации
Добавлено: Чт дек 01, 2022 11:13:41
Пытаюсь на F103 поднять CAN (т.к. сейчас это - самые дешевые МК с CAN, по ~45р на алиэкспрессе можно купить STM32F103C6T6, вот и надумал на их основе наделать для машины всяких всячин). Сам CAN там практически 1-в-1 похож на F0 за мелкой разницей. Но вот при настройке никак не выходит из состояния инициализации, флаг так и остается висеть. Погуглил: у многих была такая проблема, посоветовали подтянуть Rx к +5В. Подтянул 10-килоомным резистором. Ноль результата! На Rx имею +0.5В, как будто бы он в режиме PP out вместо OD in. Инициализирую вот так:
Пробовал вместо AFOD поставить AFPP - фиг вам! Что за засада?
Добавлено after 1 hour 31 minute 42 seconds:
Странная штука происходит: даже без инициализации ног в режиме Test (включены SILM и LBKM), если подключен TJA1050, CAN не может выйти из инициализации. Если отключен - все ОК, пакеты отправляет и эхо их принимает!
Вот что за западло?
У меня до этого MCP2551 стоял, я его на TJA1050 поменял - все равно…
UPD: не, мой косяк: у дурных F103 же свой "особенный" способ настройки ног. В общем, моя "MODE_FAST" настраивала PB8 в режим output!..
Код: Выделить всё
AFIO->MAPR |= AFIO_MAPR_CAN_REMAP_REMAP2;
GPIOB->CRH = (GPIOB->CRH & ~(CRH(8,0xf)|CRH(9,0xf))) |
CRH(8, CNF_AFOD | MODE_FAST) | CRH(9, CNF_AFPP | MODE_FAST);Добавлено after 1 hour 31 minute 42 seconds:
Странная штука происходит: даже без инициализации ног в режиме Test (включены SILM и LBKM), если подключен TJA1050, CAN не может выйти из инициализации. Если отключен - все ОК, пакеты отправляет и эхо их принимает!
Вот что за западло?
У меня до этого MCP2551 стоял, я его на TJA1050 поменял - все равно…
UPD: не, мой косяк: у дурных F103 же свой "особенный" способ настройки ног. В общем, моя "MODE_FAST" настраивала PB8 в режим output!..