Zum Inhalt springen

WSAL10771 – RS485 CAN Shield/en

Aus JW Tech Wiki

Documentation notice: This technical documentation was independently rewritten from an archived supplier source. Check technical details and commands against the product version and manufacturer documentation before use.

Summary

A concise technical introduction to the Waveshare RS485 CAN Shield for NUCLEO/XNUCLEO boards, covering the MAX3485 and SN65HVD230 chip functions, pin mapping, and example programs for transmitting and receiving.

Related products at JW Tech

Technical overview

  • The shield uses the standard Arduino header and is compatible with UNO, Leonardo, NUCLEO, and XNUCLEO boards.
  • RS485 function is provided by the MAX3485 transceiver (3.3 V), operating in half-duplex mode; A and B are the differential signal pins.
  • CAN function is provided by the TI SN65HVD230 (3.3 V), offering high-speed, slope, and wait modes controlled via the RS pin.
  • On the Xnucleo, D14 (PB9) and D15 (PB8) default to CAN TX/RX; remapping to CAN1 requires GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE).
  • D7 (PA8) controls RS485 direction: high level = transmit, low level = receive.
  • D8 (PA9) and D2 (PA10) are UART1 TX/RX; jumper JP4 can switch to UART2 (D0/D1).
  • Two shields are wired together by connecting CANH to CANH and CANL to CANL, and A to A and B to B.
  • Example code runs under mbed + STM32 library; CAN uses CAN_Transmit / CAN_Receive, while RS485 uses Serial objects (printf/scanf).

Commands and examples – verify before use: 

GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE);
CAN_Config();
CAN_Transmit(CAN1, &TxMessage)
CAN_Receive(CAN1, CAN_FIFO0, &RxMessage)
RS485.printf(...)
RS485.scanf("%s", s)

Notes and version constraints

  • The shield requires a 3.3 V supply; on UNO/Leonardo the CAN function cannot be used due to hardware limitations.
  • Remapping PB9/PB8 to CAN1 is version-sensitive and must be set in firmware.
  • Jumper JP4 must be configured correctly when using UART2 (D0/D1) as the RS485 serial port.
  • The demo programs assume a specific Xnucleo-F103RB with STM32F103R; compatibility with other MCUs is not guaranteed.
  • No safety, certification, or warranty information is present in the source – do not make assumptions.

Source and revision record

  • RS485 CAN Shield - Waveshare Wiki
  • Source revision: 69188
  • Captured: 2026-08-30T02:40:09+00:00
  • SHA-256: 20376c75164b30b97179ee73f32e2f50ed8427647907bb4ccbcb35ed646f09a3