-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BARTH STG-850 Support #61
Comments
You need to clarify the transceiver you are using. |
They aren't super forthcoming with details, but from some Keil example code, it appears to be a sn65hvd234 transceiver. |
The stm32f072 sample is for STM32F0 running at 48MHz. This board needs to run at 48MHz. Transmission failures have been reported many times in the past. Everything is due to physical causes. https://github.com/nopnop2002/Arduino-STM32-CAN/issues/ If the transmission fails, these are the possible causes.
I changed the single wire to twisted wire. It's fixed. You will probably need to open the case and check the XTAL used, presence or absence of a terminating resistor, transceiver model number, and internal wiring using a multimeter . |
The board isn't running at 48mhz, according to the datasheet it is running at 16mhz, would I need to adjust the CAN timing to fix that? |
Yes. You can use this for CAN Bit Time Calculation. |
I am trying to use your library with a BARTH STG-850 using their core. The library does build, but I am having issues sending messages. I have run through the troubleshooting steps in your README. I have termination resistors on both ends of the wire (150 ohm) and the device doesn't have any internal termination.
The PLC is STM32F09x based. I am not sure what the internal CAN transceiver is, but it does use PB8/9 for the pins, and I configured the software as such.
When starting I do get the CAN Initialization OK message.
GPIO_AFR(b)=0x0
GPIO_AFR(a)=0x4
GPIO_MODER(b)=0x0
GPIO_MODER(a)=0x20000
GPIO_OSPEEDR(b)=0x0
GPIO_OSPEEDR(a)=0x30000
GPIO_OTYPER(b)=0x0
GPIO_OTYPER(a)=0x0
GPIO_PUPDR(b)=0x0
GPIO_PUPDR(a)=0x0
GPIO_AFR(b)=0x4
GPIO_AFR(a)=0x44
GPIO_MODER(b)=0x20000
GPIO_MODER(a)=0xA0000
GPIO_OSPEEDR(b)=0x30000
GPIO_OSPEEDR(a)=0xF0000
GPIO_OTYPER(b)=0x0
GPIO_OTYPER(a)=0x0
GPIO_PUPDR(b)=0x0
GPIO_PUPDR(a)=0x0
CAN->BTR=0x1E0003
CAN1 initialize ok
Send Fail
352321621
3080
419430408
Send Fail
1962934357
3080
419430408
Send Fail
788529237
3080
419430408
Any suggestions?
Thanks!
The text was updated successfully, but these errors were encountered: