Ви не увійшли.
Доброго дня!
Зробив пристрій CAN bus mcp2515 задачя його по шині САN робити опрос 16 промислових пристроїв по 10 параметрів, взяв
бібліотеку MCP_CAN_lib https://github.com/autowp/arduino-mcp2515 все працює!
Але після функції відправки потрібно команда delay(20) , якщо робиш меньше робить некоректно, або висне!
Якщо порахувати циклічність - то 16 пристроїв 10 параметрів 20мс то виходить 16*10*0.02=3.2сек. для мене це дуже повильно!
можливо хтось робив щось подібне!
byte sndStat = CAN0.sendMsgBuf(0x600 + Adress, 0, 4, txCANBuf);
if (sndStat == CAN_OK)
{
delay(20); // send data per 20ms
//rxId = 0;
t = 0;
while (1) {
if (CAN_RX == 1)
{
CAN_RX = 0;
CAN0.readMsgBuf(&rxId, &len, rxBuf);
}
}
Неактивний
Зробіть не запит-відповідь індивідуально для кожного пристрою, а відправку всіх запитів одразу, а потім по надходженню відповідей обробляйте їх на протязі лімітованого проміжку часу.
Неактивний