Post Go back to editing

Migrating from ADuCM360/1 to 362/3

I can flash the codes written for 360/1 to 362/3 and the program actually runs, but the ADC reading is wrong. It is about 3 times higher than it should be.

Based on https://www.analog.com/media/en/technical-documentation/frequently-asked-questions/differences-aducm360-aducm362-faqs.pdf, there is difference in ADCxCFG (from 2 bits to 3 bits),

Based on 360/1 definition files, we have

/* ADCCON[BUFBYPN] - Negative buffer bypass */
#define ADCCON_BUFBYPN_MSK (0x1 << 14 )
#define ADCCON_BUFBYPN (0x1 << 14 )
#define ADCCON_BUFBYPN_DIS (0x0 << 14 ) /* DIS */
#define ADCCON_BUFBYPN_EN (0x1 << 14 ) /* EN */

/* ADCCON[ADCREF] - Reference selection */
#define ADCCON_ADCREF_MSK (0x3 << 12 )
#define ADCCON_ADCREF_INTREF (0x0 << 12 ) /* INTREF */
#define ADCCON_ADCREF_EXTREF (0x1 << 12 ) /* EXTREF */
#define ADCCON_ADCREF_EXTREF2 (0x2 << 12 ) /* EXTREF2 */
#define ADCCON_ADCREF_AVDDREF (0x3 << 12 ) /* AVDDREF */

I would like to change it to reflect the difference of 362/3. Unfortunately, I can't find the definition of ADCxCFG of 362/363. When I visit https://www.analog.com/media/en/technical-documentation/user-guides/ADuCM36x-Getting-Started-Tutorial-UG-1063.pdf, there is ONLY 360/361 user guide, but not 362/3 guide to see what I can change to

Can i have some pointers? Thanks!

Parents Reply
  • Hi,

    The ADuCM360/1 and ADuCM362/3 are not software compatible so the same code can't be used to program both families without recompiling and changing some parts of the code.

    As the code needs to be recompiled for both families, the easiest way to make the same code to be compatible with both families is to use compile-time #ifdef directives.

    Kind regards,

    Raquel

Children