cancel
Showing results for 
Search instead for 
Did you mean: 

How can I contact smt32f103vc and stm32f407 with CANBUS protocol without transceiver?

kadir ustun1
Senior

Hello everyone,

I want to contact STM32F103VC and STM32F407 with canbus protocol without transceiver.

I set baudrate 60kHz. but I can not send or receive data. Can you hel please ?

Thank you.

17 REPLIES 17
Ozone
Lead II

Should work at least for short distances.

Have you tried the devices separately, in loopback mode ?

kadir ustun1
Senior

Actually, stm32f407 is working another bord. but I havent tried stm32f103 yet. Distance is short.

Keil published a method using diodes to achieve a low-cost CAN connection.

http://www.keil.com/appnotes/docs/apnt_236.asp

http://www.keil.com/appnotes/files/apnt_236_v2.9.pdf

See "Tiny Network without Transceiver ICs"

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

in loopback mode stm32f103 is taking own value.

Yes, I know.

If you receive you own transmissions, cross-connecting the Tx/Rx lines to the other device would be the next step.

I hope you did not forget a GND connection, if the devices don't share a common GND on one power supply.

The devices sahare GND. but I use one wire for communication bus. so I have a wire for data and a wire GND

I did circuit. But I can not send data.

Does it gives some error or status indication?

A CAN transmitter needs a responding node. You'd need a receiving device with the matching baud rate to acknowledge the packet.​

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Actually, I wrote this code to send data. But this condition's resutl is CAN_TxStatus_Failed.

 if(CAN_TransmitStatus(CAN1, 0) == CAN_TxStatus_Ok)

     CAN_Transmit(CAN1, &CanTransmitMessage);