My STM32 has CAN_TX and CAN_RX pins and the datasheet says it includes a CAN controller. I assumed I could wire the pins of two boards together as CANH and CANL, but every example adds a chip such as an MCP2551 or SN65HVD230 between the microcontroller and the bus.
What does the transceiver do that the microcontroller cannot, and is there any way to test CAN between two boards on the bench without it?




