drivers: can: can_mcp2515: fix BRP bits value
Fixes #33978.
8b6c1bd
commit set 'presacaler' in BRP(Baud Rate Prescaler) bits.
It's wrong, because these bits from CNF1 register use 'prescaler - 1'.
MCP2515(DS20001801J) datasheet 'REGISTER 5-1: CNF1: CONFIGURATION
REGISTER 1 (ADDRESS: 2Ah)'.
Signed-off-by: Sergey Ustinov <originalustinov@gmail.com>
This commit is contained in:
parent
13883c76f3
commit
73db443320
1 changed files with 2 additions and 1 deletions
|
@ -333,7 +333,8 @@ static int mcp2515_set_timing(const struct device *dev,
|
|||
uint8_t reset_mode;
|
||||
|
||||
/* CNF1; SJW<7:6> | BRP<5:0> */
|
||||
uint8_t brp = timing->prescaler;
|
||||
__ASSERT(timing->prescaler > 0, "Prescaler should be bigger than zero");
|
||||
uint8_t brp = timing->prescaler - 1;
|
||||
const uint8_t sjw = (timing->sjw - 1) << 6;
|
||||
uint8_t cnf1 = sjw | brp;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue