200*200 !=....
- Войдите на сайт для отправки комментариев
Чт, 17/12/2020 - 13:52
Код используется для подключения ардуино к GPS модули через канлог
#include <SPI.h>
#include "mcp_can.h"
const int SPI_CS_PIN = 10;
MCP_CAN CAN(SPI_CS_PIN);
void setup()
{
Serial.begin(115200);
while (CAN_OK != CAN.begin(CAN_250KBPS, MCP_8MHz))
{
Serial.println("CAN BUS Shield init fail");
Serial.println(" INit CAN BUS Shield again");
delay(100);
}
Serial.println("CAN BUS Shield Init OK!");
}
void loop()
{
Serial.println("In loop");
union {
uint64_t a;
unsigned char b[8];
}t;
t.a=40000;
CAN.sendMsgBuf(0x18FEC1EE, 1, 8, t.b);
delay(100);
}
При значениях t.a = 40000, все работает как надо но если записать 200*200 , работает не корректно, в чем проблема, извните уж за такой глупый вопрос)
напиши
t.a = 200 * 200L;
Заработало, спасибо)
При значениях t.a = 40000, все работает как надо но если записать 200*200 , работает не корректно, в чем проблема, извните уж за такой глупый вопрос)
Как думаешь, какой тип у 40000?
А какой у 200?
А каково максимальное значение для того и другого типа?