mirror of
https://github.com/Seeed-Studio/Seeed_Arduino_CAN.git
synced 2026-07-28 04:06:45 +00:00
Merge pull request #127 from techie66/master
Support for 12Mhz Crystals
This commit is contained in:
@@ -533,6 +533,109 @@ byte mcp2515_can::mcp2515_configRate(const byte canSpeed, const byte clock) {
|
||||
}
|
||||
break;
|
||||
|
||||
case (MCP_12MHz) :
|
||||
switch (canSpeed) {
|
||||
case (CAN_20KBPS) :
|
||||
cfg1 = MCP_12MHz_20kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_20kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_20kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_25KBPS) :
|
||||
cfg1 = MCP_12MHz_25kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_25kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_25kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_31K25BPS) :
|
||||
cfg1 = MCP_12MHz_31k25BPS_CFG1;
|
||||
cfg2 = MCP_12MHz_31k25BPS_CFG2;
|
||||
cfg3 = MCP_12MHz_31k25BPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_33KBPS) :
|
||||
cfg1 = MCP_12MHz_33kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_33kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_33kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_40KBPS) :
|
||||
cfg1 = MCP_12MHz_40kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_40kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_40kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_50KBPS) :
|
||||
cfg1 = MCP_12MHz_50kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_50kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_50kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_80KBPS) :
|
||||
cfg1 = MCP_12MHz_80kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_80kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_80kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_83K3BPS) :
|
||||
cfg1 = MCP_12MHz_83k3BPS_CFG1;
|
||||
cfg2 = MCP_12MHz_83k3BPS_CFG2;
|
||||
cfg3 = MCP_12MHz_83k3BPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_95KBPS) :
|
||||
cfg1 = MCP_12MHz_95kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_95kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_95kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_100KBPS) :
|
||||
cfg1 = MCP_12MHz_100kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_100kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_100kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_125KBPS) :
|
||||
cfg1 = MCP_12MHz_125kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_125kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_125kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_200KBPS) :
|
||||
cfg1 = MCP_12MHz_200kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_200kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_200kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_250KBPS) :
|
||||
cfg1 = MCP_12MHz_250kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_250kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_250kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_500KBPS) :
|
||||
cfg1 = MCP_12MHz_500kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_500kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_500kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_666KBPS) :
|
||||
cfg1 = MCP_12MHz_666kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_666kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_666kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_1000KBPS) :
|
||||
cfg1 = MCP_12MHz_1000kBPS_CFG1;
|
||||
cfg2 = MCP_12MHz_1000kBPS_CFG2;
|
||||
cfg3 = MCP_12MHz_1000kBPS_CFG3;
|
||||
break;
|
||||
|
||||
default:
|
||||
set = 0;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case (MCP_8MHz) :
|
||||
switch (canSpeed) {
|
||||
case (CAN_5KBPS) :
|
||||
|
||||
@@ -350,6 +350,73 @@
|
||||
#define MCP_16MHz_5kBPS_CFG3 (0x87)
|
||||
|
||||
|
||||
// speed 12M
|
||||
|
||||
#define MCP_12MHz_1000kBPS_CFG1 (0x00)//
|
||||
#define MCP_12MHz_1000kBPS_CFG2 (0x88)//
|
||||
#define MCP_12MHz_1000kBPS_CFG3 (0x01)//
|
||||
|
||||
#define MCP_12MHz_666kBPS_CFG1 (0x00)//
|
||||
#define MCP_12MHz_666kBPS_CFG2 (0x92)//
|
||||
#define MCP_12MHz_666kBPS_CFG3 (0x01)//
|
||||
|
||||
#define MCP_12MHz_500kBPS_CFG1 (0x00)
|
||||
#define MCP_12MHz_500kBPS_CFG2 (0x9B)
|
||||
#define MCP_12MHz_500kBPS_CFG3 (0x02)
|
||||
|
||||
#define MCP_12MHz_250kBPS_CFG1 (0x00)//
|
||||
#define MCP_12MHz_250kBPS_CFG2 (0xBF)//
|
||||
#define MCP_12MHz_250kBPS_CFG3 (0x06)///
|
||||
|
||||
#define MCP_12MHz_200kBPS_CFG1 (0x01)//
|
||||
#define MCP_12MHz_200kBPS_CFG2 (0xA4)//
|
||||
#define MCP_12MHz_200kBPS_CFG3 (0x03)//
|
||||
|
||||
#define MCP_12MHz_125kBPS_CFG1 (0x01)//
|
||||
#define MCP_12MHz_125kBPS_CFG2 (0xBF)//
|
||||
#define MCP_12MHz_125kBPS_CFG3 (0x06)//
|
||||
|
||||
#define MCP_12MHz_100kBPS_CFG1 (0x02)//
|
||||
#define MCP_12MHz_100kBPS_CFG2 (0xB6)//
|
||||
#define MCP_12MHz_100kBPS_CFG3 (0x04)//
|
||||
|
||||
#define MCP_12MHz_95kBPS_CFG1 (0x02)//
|
||||
#define MCP_12MHz_95kBPS_CFG2 (0xBE)//
|
||||
#define MCP_12MHz_95kBPS_CFG3 (0x04)//
|
||||
|
||||
#define MCP_12MHz_83k3BPS_CFG1 (0x03)//
|
||||
#define MCP_12MHz_83k3BPS_CFG2 (0xB5)//
|
||||
#define MCP_12MHz_83k3BPS_CFG3 (0x03)//
|
||||
|
||||
#define MCP_12MHz_80kBPS_CFG1 (0x04)//
|
||||
#define MCP_12MHz_80kBPS_CFG2 (0xA4)//
|
||||
#define MCP_12MHz_80kBPS_CFG3 (0x03)//
|
||||
|
||||
#define MCP_12MHz_50kBPS_CFG1 (0x05)//
|
||||
#define MCP_12MHz_50kBPS_CFG2 (0xB6)//
|
||||
#define MCP_12MHz_50kBPS_CFG3 (0x04)//
|
||||
|
||||
#define MCP_12MHz_40kBPS_CFG1 (0x09)//
|
||||
#define MCP_12MHz_40kBPS_CFG2 (0xA4)//
|
||||
#define MCP_12MHz_40kBPS_CFG3 (0x03)//
|
||||
|
||||
#define MCP_12MHz_33kBPS_CFG1 (0x0C)//
|
||||
#define MCP_12MHz_33kBPS_CFG2 (0xA4)//
|
||||
#define MCP_12MHz_33kBPS_CFG3 (0x02)//
|
||||
|
||||
#define MCP_12MHz_31k25BPS_CFG1 (0x0B)//
|
||||
#define MCP_12MHz_31k25BPS_CFG2 (0xAC)//
|
||||
#define MCP_12MHz_31k25BPS_CFG3 (0x03)//
|
||||
|
||||
#define MCP_12MHz_25kBPS_CFG1 (0X0B)//
|
||||
#define MCP_12MHz_25kBPS_CFG2 (0XB6)//
|
||||
#define MCP_12MHz_25kBPS_CFG3 (0X04)//
|
||||
|
||||
#define MCP_12MHz_20kBPS_CFG1 (0x0C)//
|
||||
#define MCP_12MHz_20kBPS_CFG2 (0xBF)//
|
||||
#define MCP_12MHz_20kBPS_CFG3 (0x05)//
|
||||
|
||||
|
||||
|
||||
// speed 8M
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ typedef enum {
|
||||
MCP_NO_MHz,
|
||||
/* apply to MCP2515 */
|
||||
MCP_16MHz,
|
||||
MCP_12MHz,
|
||||
MCP_8MHz,
|
||||
/* apply to MCP2518FD */
|
||||
MCP2518FD_40MHz = MCP_16MHz /* To compatible MCP2515 shield */,
|
||||
|
||||
Reference in New Issue
Block a user