Hi,
I need to interface TMP100 and Delfino 320f28335.
I am having quite many linking errors. However, they all seem to be related to the header files, which have never happened before. Stack size is 0x400.
Full console log follows:
**** Build of configuration Debug for project Lab12Resp ****
C:\ti\ccsv5\utils\bin\gmake -k all
'Building target: Lab12Resp.out'
'Invoking: C2000 Linker'
"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/bin/cl2000" -v28 -ml -mt --float_support=fpu32 -g --diag_warning=225 --display_error_number --diag_wrap=off -z --stack_size=0x400 -m"Lab12Resp.map" --warn_sections -i"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/lib" -i"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/include" --reread_libs --display_error_number --diag_wrap=off --rom_model -o "Lab12Resp.out" "./Lab12_1.obj" "./DSP2833x_usDelay.obj" "./DSP2833x_Xintf.obj" "./DSP2833x_SysCtrl.obj" "./DSP2833x_Spi.obj" "./DSP2833x_Sci.obj" "./DSP2833x_SWPrioritizedPieVect.obj" "./DSP2833x_SWPrioritizedDefaultIsr.obj" "./DSP2833x_PieVect.obj" "./DSP2833x_PieCtrl.obj" "./DSP2833x_MemCopy.obj" "./DSP2833x_Mcbsp.obj" "./DSP2833x_I2C.obj" "./DSP2833x_Gpio.obj" "./DSP2833x_GlobalVariableDefs.obj" "./DSP2833x_EQep.obj" "./DSP2833x_EPwm.obj" "./DSP2833x_ECap.obj" "./DSP2833x_ECan.obj" "./DSP2833x_DisInt.obj" "./DSP2833x_DefaultIsr.obj" "./DSP2833x_DMA.obj" "./DSP2833x_DBGIER.obj" "./DSP2833x_CpuTimers.obj" "./DSP2833x_CodeStartBranch.obj" "./DSP2833x_CSMPasswords.obj" "./DSP2833x_Adc.obj" "./DSP2833x_ADC_cal.obj" -l"libc.a" "../28335_RAM_lnk.cmd" "Z:/D/Mestrado/DSP/Headers_proj/DSP2833x_Headers_BIOS.cmd"
<Linking>
error #10056: symbol "_PieVectTableInit" redefined: first defined in "./DSP2833x_SWPrioritizedPieVect.obj"; redefined in "./DSP2833x_PieVect.obj"
error #10056: symbol "_InitPieVectTable" redefined: first defined in "./DSP2833x_SWPrioritizedPieVect.obj"; redefined in "./DSP2833x_PieVect.obj"
error #10056: symbol "_ILLEGAL_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EPWM6_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_DATALOG_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_SPITXINTA_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_SPIRXINTA_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_DINTCH3_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_XINT4_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_SEQ1INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_ECAP3_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_INT13_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_MXINTA_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EPWM4_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_USER5_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_XINT7_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EPWM5_TZINT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EPWM4_TZINT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_ECAN0INTA_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EPWM6_TZINT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EMUINT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_ECAP1_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EPWM1_TZINT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EQEP2_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_USER11_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EPWM3_TZINT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_USER4_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EPWM2_TZINT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_XINT6_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EPWM2_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_ECAN0INTB_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_TINT0_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_WAKEINT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_DINTCH4_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_USER10_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_USER7_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_XINT1_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_ECAP6_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_INT14_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_MXINTB_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_DINTCH5_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_USER6_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_ECAP4_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_MRINTA_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_DINTCH6_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_USER12_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_ADCINT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_USER1_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_XINT3_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EPWM5_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_NMI_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_SCITXINTB_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_SCIRXINTB_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_ECAN1INTA_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_ECAP2_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_PIE_RESERVED" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_I2CINT1A_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_XINT2_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_I2CINT2A_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_SCITXINTC_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_SCIRXINTC_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_RTOSINT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EPWM3_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_ECAN1INTB_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_USER9_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_USER3_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EQEP1_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_MRINTB_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_DINTCH1_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_USER8_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_EPWM1_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_SEQ2INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_USER2_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_LUF_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_LVF_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_SCITXINTA_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_SCIRXINTA_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_rsvd_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_ECAP5_INT_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_DINTCH2_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
error #10056: symbol "_XINT5_ISR" redefined: first defined in "./DSP2833x_SWPrioritizedDefaultIsr.obj"; redefined in "./DSP2833x_DefaultIsr.obj"
"../28335_RAM_lnk.cmd", line 125: error #10099-D: program will not fit into available memory. placement with alignment/blocking fails for section ".text" size 0x16fd page 0. Available memory ranges:
RAML1 size: 0x1000 unused: 0x1000 max hole: 0x1000
"Z:/D/Mestrado/DSP/Headers_proj/DSP2833x_Headers_BIOS.cmd", line 108: warning #10097: me
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
mory range not found: PIEVECT on page 1
"Z:/D/Mestrado/DSP/Headers_proj/DSP2833x_Headers_BIOS.cmd", line 108: error #10099-D: program will not fit into available memory. run placement with alignment/blocking fails for section "PieVectTableFile" size 0x100 page 1
ELFLNK/build.c:2401:internal fatal error #10251: ("PieVectTableFile:DSP2833x_GlobalVariableDefs.obj")
INTERNAL ERROR: C:\ti\ccsv5\tools\compiler\c2000_6.1.0\bin\lnk2000.exe aborted
This is a serious problem. Please contact Customer
Support with this message and a copy of the input file
and help us to continue to make the tools more robust.
>> Compilation failure
gmake: *** [Lab12Resp.out] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****
______________________________________________________________________________________________________________________________
______________________________________________________________________________________________________________________________
The code follows:
//
// Lab12_1: TMS320F28335
// (C) Frank Bormann
//
//###########################################################################
//
// FILE: Lab12_1.c
//
// TITLE: DSP28335 I2C test
// Temperature Sensor TMP100 connected to GPIO33 (SCL) and GPIO32(SDA)
// LED LD1 as life indicator 100 ms toggle
// Basic use of TMP100 (9 bit mode, 0.5 celcius resolution)
// use watch window for variable "temperature" (type int; qvalue:8)
//###########################################################################
//
// Ver | dd mmm yyyy | Who | Description of changes
// =====|=============|======|===============================================
// 3.0 | 24 Jul 2009 | F.B. | Lab12_1 F28335; Header-files Version 1.20
// 3.1 | 15 Nov 2009 | F.B | Lab12_1 for F28335 @30MHz and PE revision 5
//###########################################################################
#include "DSP2833x_Device.h"
// TMP100 commands
#define TMP100_SLAVE 0x48 // slave address TMP100 (ADDR0=ADDR1=0)
#define POINTER_TEMPERATURE 0
#define POINTER_CONFIGURATION 1
#define POINTER_T_LOW 2
#define POINTER_T_HIGH 3
// external function prototypes
extern void InitSysCtrl(void);
extern void InitPieCtrl(void);
extern void InitPieVectTable(void);
extern void InitCpuTimers(void);
extern void ConfigCpuTimer(struct CPUTIMER_VARS *, float, float);
// Prototype statements for functions found within this file.
void Gpio_select(void);
void I2CA_Init(void);
interrupt void cpu_timer0_isr(void);
int temperature; // temperature = 2' Komplement of temperature (-128 ... +127 Celsius)
// is an I8Q8 - Value
//###########################################################################
// main code
//###########################################################################
void main(void)
{
InitSysCtrl(); // Basic Core Init from DSP2833x_SysCtrl.c
EALLOW;
SysCtrlRegs.WDCR= 0x00AF; // Re-enable the watchdog
EDIS; // 0x00AF to NOT disable the Watchdog, Prescaler = 64
DINT; // Disable all interrupts
Gpio_select(); // GPIO9, GPIO11, GPIO34 and GPIO49 as output
// to 4 LEDs at Peripheral Explorer
// Initialize I2C
I2CA_Init();
InitPieCtrl(); // basic setup of PIE table; from DSP2833x_PieCtrl.c
InitPieVectTable(); // default ISR's in PIE
EALLOW;
PieVectTable.TINT0 = &cpu_timer0_isr;
EDIS;
InitCpuTimers(); // basic setup CPU Timer0, 1 and 2
ConfigCpuTimer(&CpuTimer0,150,100000);
PieCtrlRegs.PIEIER1.bit.INTx7 = 1;
IER |=1;
EINT;
ERTM;
CpuTimer0Regs.TCR.bit.TSS = 0; // start timer0
while(1)
{
while(CpuTimer0.InterruptCount == 0);
CpuTimer0.InterruptCount = 0;
EALLOW;
SysCtrlRegs.WDKEY = 0x55; // service WD #1
EDIS;
I2caRegs.I2CCNT = 2; // read 2 byte temperature
I2caRegs.I2CMDR.all = 0x6C20;
/* Bit15 = 0; no NACK in receiver mode
Bit14 = 1; FREE on emulation halt
Bit13 = 1; STT generate START
Bit12 = 0; reserved
Bit11 = 1; STP generate STOP
Bit10 = 1; MST master mode
Bit9 = 0; TRX master - receiver mode
Bit8 = 0; XA 7 bit address mode
Bit7 = 0; RM nonrepeat mode, I2CCNT determines # of bytes
Bit6 = 0; DLB no loopback mode
Bit5 = 1; IRS I2C module enabled
Bit4 = 0; STB no start byte mode
Bit3 = 0; FDF no free data format
Bit2-0: 0; BC 8 bit per data byte */
while(I2caRegs.I2CSTR.bit.RRDY == 0); // wait for 1st byte
temperature = I2caRegs.I2CDRR << 8; // read upper 8 Bit (integers)
// RRDY is automatically cleared by read of I2CDRR
while(I2caRegs.I2CSTR.bit.RRDY == 0); // wait for 2nd byte
temperature += I2caRegs.I2CDRR; // read lower 8 Bit (fractions)
GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1; // toggle red LED LD3 @ 28335CC
}
}
void Gpio_select(void)
{
EALLOW;
GpioCtrlRegs.GPAMUX1.all = 0; // GPIO15 ... GPIO0 = General Puropse I/O
GpioCtrlRegs.GPAMUX2.all = 0; // GPIO31 ... GPIO16 = General Purpose I/O
GpioCtrlRegs.GPBMUX1.all = 0; // GPIO47 ... GPIO32 = General Purpose I/O
GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 1; // GPIO32 = I2C - SDA
GpioCtrlRegs.GPBMUX1.bit.GPIO33 = 1; // GPIO33 = I2C - SCL
GpioCtrlRegs.GPBPUD.bit.GPIO32 = 0; // Enable pull-up for GPIO32 (SDAA)
GpioCtrlRegs.GPBPUD.bit.GPIO33 = 0; // Enable pull-up for GPIO33 (SCLA)
GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 3; // Asynch input GPIO32 (SDAA)
GpioCtrlRegs.GPBQSEL1.bit.GPIO33 = 3; // Asynch input GPIO33 (SCLA)
GpioCtrlRegs.GPBMUX2.all = 0; // GPIO63 ... GPIO48 = General Purpose I/O
GpioCtrlRegs.GPCMUX1.all = 0; // GPIO79 ... GPIO64 = General Purpose I/O
GpioCtrlRegs.GPCMUX2.all = 0; // GPIO87 ... GPIO80 = General Purpose I/O
GpioCtrlRegs.GPADIR.all = 0; // GPIO0 to 31 as inputs
GpioCtrlRegs.GPADIR.bit.GPIO9 = 1; // GPIO9 = LED LD1
GpioCtrlRegs.GPADIR.bit.GPIO11 = 1; // GpIO11 = LED LD2
GpioCtrlRegs.GPBDIR.all = 0; // GPIO63-32 as inputs
GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1; // peripheral explorer: LED LD3 at GPIO34
GpioCtrlRegs.GPBDIR.bit.GPIO49 = 1; // peripheral explorer: LED LD4 at GPIO49
GpioCtrlRegs.GPCDIR.all = 0; // GPIO87-64 as inputs
EDIS;
}
void I2CA_Init(void)
{
I2caRegs.I2CMDR.bit.IRS = 0; // Reset the I2C module
// I2C slave address register
I2caRegs.I2CSAR = TMP100_SLAVE;
// I2C Prescale Register
I2caRegs.I2CPSC.all = 14; // Internal I2C module clock = SYSCLK/(PSC +1)
// = 10 MHz
I2caRegs.I2CCLKL = 95; // Tmaster = (PSC +1)[ICCL + 5 + ICCH + 5] / 150MHz
I2caRegs.I2CCLKH = 95; // Tmaster = 15 [ICCL + ICCH + 10] / 150 MHz
// d = 5 for IPSC >1
// for I2C 50 kHz:
// Tmaster = 20 µs * 150 MHz / 15 = 200 = (ICCL + ICCH +10)
// ICCL + ICCH = 190
// ICCL = ICH = 190/2 = 95
// I2caRegs.I2CCLKL = 45;
// I2caRegs.I2CCLKH = 45; // for I2C 100 kHz:
// Tmaster = 10 µs *150 MHz / 15 = 100 = (ICCL + ICCH + 10)
// ICCL + ICCH = 90
// ICCL = ICH = 90/2 = 45
I2caRegs.I2CMDR.bit.IRS = 1; // Take I2C out of reset
}
interrupt void cpu_timer0_isr(void)
{
CpuTimer0.InterruptCount++;
EALLOW;
SysCtrlRegs.WDKEY = 0xAA; // service WD #2
EDIS;
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}
//===========================================================================
// End of SourceCode.
//===========================================================================
Have already created a fresh new project, cleaned not used files and sources and re imported headers.
Could you help me??
Thank you