CAN BUS STM32 Nucleo F429ZI Ошибка записи CAN

Это Veysel. Моя плата - STM32 Nucleo F429ZI, и я использую Mbed-os 6.6.0. Я могу читать данные CANBus в моей машине, но не могу писать на шину. Я пробовал это с двумя STM32 (те же платы), и мои трансиверы - SN65HVD230, поэтому я знаю, что могу читать по CANBus, но не могу писать.

Я пробовал, https://os.mbed.com/users/WiredHome/notebook/can---getting-started/ с одним STM32, и я попробовал

#include "mbed.h"

//Ticker ticker;
DigitalOut led1(LED1);
DigitalOut led2(LED2);
//CAN can1(PD_0, PD_1);
CAN can2(PB_8, PB_9);
DigitalOut led3(LED3);
 
 
char counter = 0;
 
void messageReceivedISR() {
 CANMessage msg;
 if(can2.read(msg)) {
        printf("Message received: %d, from %d\r\n", msg.data[0], msg.id);
        if(msg.id == 1100)
            led2 = !led2;
        if(msg.id == 1102)
            led3 = !led3;     
}
 
   
}
 
int main() {

   
can2.frequency(1000000);
can2.reset();
can2.attach(&messageReceivedISR, CAN::RxIrq);
while(1) {
    if(can2.write(CANMessage(1130, &counter, 1))) {
        printf("loop send()\r\n");
        counter++;
        printf("Message sent: %d\r\n", counter);
        led1 = !led1;
    }
    
   // wait_ms(500);
}
}

Я переключаю адрес записи для обоих stm32 Это трижды переполняется почтовый ящик и останавливаюсь. Никто не читал.

Я пробовал напрямую подключиться с помощью одной перемычки от Crx к Ctx, но ничего не изменилось.

Я также пробовал это с STM32 до Teensy (Teensy контролирует светодиодный экран моей машины, он также может читать), но не удалось.

Пожалуйста помоги ?


person kantrveysel    schedule 27.01.2021    source источник
comment
Так как же запустить CAN-контроллер? Возможно, вы установили его в режим обратной связи или что-то в этом роде.   -  person Lundin    schedule 27.01.2021
comment
Я пробовал как могу :: Нормальный   -  person kantrveysel    schedule 27.01.2021


Ответы (1)


для меня это звучит так, как будто вы забыли подключить RS-контакт CAN Transciever. Это немного вводит в заблуждение в таблице данных, но это не только контроль наклона, но и перевод Transciever в спящий режим. Я бы рекомендовал использовать резистор контроля наклона 10 кОм, если не требуется иное, как показано здесь: Схема

person Chris_B    schedule 31.01.2021
comment
Ты обалденный. Я поменял свой трансивер и поставил 220 Ом между RS и GND и решил. - person kantrveysel; 01.02.2021
comment
220 Ом кажется мне довольно низким, см. Руководство по микросхеме, стр. 20 и 21: ti.com/lit/ds/symlink/sn65hvd230.pdf, где TI рекомендует минимум 10 кОм. И, кстати, не могли бы вы принять мой ответ как решение? большое спасибо - person Chris_B; 01.02.2021