AT90CAN128 & CAN - strange behaviour [SOLVED] Your example code makes no sense. You code never checks for any CANSTMOB activity to indicate MOb 0 ever did anything, yet you show CANSTMOB activity in your results. Where did...
Wednesday, 20 March 2013 - 02:58
AT90CAN128 & CAN - strange behaviour [SOLVED] What I have seen in the past with JTAGICE MKII was writing a Tx command to CANCDMOB caused the CANCDMOB bits to be a Rx command. Literally, I wrote the CANCDMOB command bits to 01...
Monday, 18 March 2013 - 01:50
AT90CAN128 & CAN - strange behaviour [SOLVED] Setting the CANCMDOB.RPLV bit to a one for a Rx Remote Frame MOb will Rx a Remote CAN frame and then automatically reply with a CAN Data Frame Tx. This will end with a TXOK, not...
Sunday, 17 March 2013 - 20:15
AT90CAN128 using polled Rx MOBs getting corrupt data Great news. Slaying a bug always feels great! BTW, would it be too much trouble to ship the hole from the donut :lol: ?
If possible it would be a good thing to report your finding...
Sunday, 17 March 2013 - 19:47
General question about CAN protocol max_torque_2008 wrote:This arbitration occurs for the complete bitstream, so technically two messages with the same ID will also get arbitored by there contents. ( It is...
Sunday, 17 March 2013 - 19:13
AT90CAN128 using polled Rx MOBs getting corrupt data The AVR CAN acceptance filter process triggers immediately after the live CAN bit stream arbitration field completes. In order for the AVR CAN state machine to maintain...
Wednesday, 13 March 2013 - 16:44
AT90CAN128 using polled Rx MOBs getting corrupt data A disable global interrupts then enable global interrupts around the CANMSG read/compare code would prevent any ISR stack/memory access code from messing with the simple test read...
Wednesday, 13 March 2013 - 01:21
AT90CAN32 CAN test I confess I did not compile the code. If the uint16_t cast in the printf is giving you trouble, remove the cast and just use (percent)lx for the 11 bit prints.
You might actually...
Wednesday, 13 March 2013 - 01:00
AT90CAN128 using polled Rx MOBs getting corrupt data Almost forgot, if you are using 11 bit ID format and you re-enable a Rx MOb, the CANIDT registers reserved bit values will be randomized. If you are then re-enabling the same Rx...
Tuesday, 12 March 2013 - 23:45
AT90CAN128 using polled Rx MOBs getting corrupt data Just in case try the reinitialization first:
CANPAGE = (CANPAGE&0xF0); // restart
for(i = 0; i < dlc; i++)
msg->data[i] = CANMSG;
CANPAGE = (CANPAGE&0xF0); // restart
for...
Tuesday, 12 March 2013 - 23:08
AT90CAN32 CAN test Yes it does appear you are sending on the CAN bus every second.
When you added the Tx re-enable code:
CANMSG = 'H';
CANCDMOB = 0x51;
you need to set CANPAGE first....
Monday, 11 March 2013 - 22:33
AT90CAN32 CAN test This code enabled the CAN IT interrupts:
CANGIE = (1 << ENIT)....
However, you have no ISR interrupt vector code for the CAN IT interrupt. When WinAVR/AVRGCC C code gets...
Your example code makes no sense. You code never checks for any CANSTMOB activity to indicate MOb 0 ever did anything, yet you show CANSTMOB activity in your results. Where did...
What I have seen in the past with JTAGICE MKII was writing a Tx command to CANCDMOB caused the CANCDMOB bits to be a Rx command. Literally, I wrote the CANCDMOB command bits to 01...
Setting the CANCMDOB.RPLV bit to a one for a Rx Remote Frame MOb will Rx a Remote CAN frame and then automatically reply with a CAN Data Frame Tx. This will end with a TXOK, not...
Great news. Slaying a bug always feels great! BTW, would it be too much trouble to ship the hole from the donut :lol: ? If possible it would be a good thing to report your finding...
max_torque_2008 wrote:This arbitration occurs for the complete bitstream, so technically two messages with the same ID will also get arbitored by there contents. ( It is...
The AVR CAN acceptance filter process triggers immediately after the live CAN bit stream arbitration field completes. In order for the AVR CAN state machine to maintain...
A disable global interrupts then enable global interrupts around the CANMSG read/compare code would prevent any ISR stack/memory access code from messing with the simple test read...
I confess I did not compile the code. If the uint16_t cast in the printf is giving you trouble, remove the cast and just use (percent)lx for the 11 bit prints. You might actually...
Almost forgot, if you are using 11 bit ID format and you re-enable a Rx MOb, the CANIDT registers reserved bit values will be randomized. If you are then re-enabling the same Rx...
Just in case try the reinitialization first: CANPAGE = (CANPAGE&0xF0); // restart for(i = 0; i < dlc; i++) msg->data[i] = CANMSG; CANPAGE = (CANPAGE&0xF0); // restart for...
Yes it does appear you are sending on the CAN bus every second. When you added the Tx re-enable code: CANMSG = 'H'; CANCDMOB = 0x51; you need to set CANPAGE first....
This code enabled the CAN IT interrupts: CANGIE = (1 << ENIT).... However, you have no ISR interrupt vector code for the CAN IT interrupt. When WinAVR/AVRGCC C code gets...
Pages