TI论坛
直播中

陈华

7年用户 212经验值
私信 关注
[问答]

标识符“INT_TIMER0A_”未定义

这是tiVAWARE库里面的例子,加载到CCS6.0里面编译就出错了,还有自己配置的硬件I2C也是出类似的错误(路径设置正确),下面是代码,错误在上面的附件里

#include
#include
#include
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/timer.h"
#include "driverlib/uart.h"
#include "utils/softi2c.h"
#include "utils/uartstdio.h"
#define SLAVE_ADDR 0x54
#define STATE_IDLE 0
#define STATE_WRITE_NEXT 1
#define STATE_WRITE_FINAL 2
#define STATE_WAIT_ACK 3
#define STATE_SEND_ACK 4
#define STATE_READ_ONE 5
#define STATE_READ_FIRST 6
#define STATE_READ_NEXT 7
#define STATE_READ_FINAL 8
#define STATE_READ_WAIT 9
static tSoftI2C g_sI2C;
static uint8_t *g_pui8Data = 0;
static uint32_t g_ui32Count = 0;
static volatile uint32_t g_ui32State = STATE_IDLE;
void
InitConsole(void)
[
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
GPIOPinConfigure(GPIO_PA0_U0RX);
GPIOPinConfigure(GPIO_PA1_U0TX);
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
UARTClockSourceSet(UART0_BASE, UART_CLOCK_PIOSC);
GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
UARTStdioConfig(0, 115200, 16000000);
]
void
SoftI2CCallback(void)
[
SoftI2CIntClear(&g_sI2C);
switch(g_ui32State)
[
case STATE_IDLE:
[
break;
]
case STATE_WRITE_NEXT:
[
SoftI2CDataPut(&g_sI2C, *g_pui8Data++);
g_ui32Count--;
SoftI2CControl(&g_sI2C, SOFTI2C_CMD_BURST_SEND_CONT);
if(g_ui32Count == 1)
[
g_ui32State = STATE_WRITE_FINAL;
]
break;
]
case STATE_WRITE_FINAL:
[
SoftI2CDataPut(&g_sI2C, *g_pui8Data++);
g_ui32Count--;
SoftI2CControl(&g_sI2C, SOFTI2C_CMD_BURST_SEND_FINISH);
g_ui32State = STATE_SEND_ACK;
break;
]
case STATE_WAIT_ACK:
[
if(SoftI2CErr(&g_sI2C) == SOFTI2C_ERR_NONE)
[
SoftI2CDataGet(&g_sI2C);
g_ui32State = STATE_IDLE;
break;
]
]
case STATE_SEND_ACK:
[
SoftI2CSlaveAddrSet(&g_sI2C, SLAVE_ADDR, true);
SoftI2CControl(&g_sI2C, SOFTI2C_CMD_SINGLE_RECEIVE);
g_ui32State = STATE_WAIT_ACK;
break;
]
case STATE_READ_ONE:
[
SoftI2CSlaveAddrSet(&g_sI2C, SLAVE_ADDR, true);
SoftI2CControl(&g_sI2C, SOFTI2C_CMD_SINGLE_RECEIVE);
g_ui32State = STATE_READ_WAIT;
break;
]
case STATE_READ_FIRST:
[
SoftI2CSlaveAddrSet(&g_sI2C, SLAVE_ADDR, true);
SoftI2CControl(&g_sI2C, SOFTI2C_CMD_BURST_RECEIVE_START);
g_ui32State = STATE_READ_NEXT;
break;
]
case STATE_READ_NEXT:
[
*g_pui8Data++ = SoftI2CDataGet(&g_sI2C);
g_ui32Count--;
SoftI2CControl(&g_sI2C, SOFTI2C_CMD_BURST_RECEIVE_CONT);
if(g_ui32Count == 2)
[
g_ui32State = STATE_READ_FINAL;
]
break;
]
case STATE_READ_FINAL:
[
*g_pui8Data++ = SoftI2CDataGet(&g_sI2C);
g_ui32Count--;
SoftI2CControl(&g_sI2C, SOFTI2C_CMD_BURST_RECEIVE_FINISH);
g_ui32State = STATE_READ_WAIT;
break;
]
case STATE_READ_WAIT:
[
*g_pui8Data++ = SoftI2CDataGet(&g_sI2C);
g_ui32Count--;
g_ui32State = STATE_IDLE;
break;
]
]
]
void
AtmelWrite(uint8_t *pui8Data, uint32_t ui32Offset, uint32_t ui32Count)
[
g_pui8Data = pui8Data;
g_ui32Count = ui32Count;
if(ui32Count != 1)
[
g_ui32State = STATE_WRITE_NEXT;
]
else
[
g_ui32State = STATE_WRITE_FINAL;
]
SoftI2CSlaveAddrSet(&g_sI2C, SLAVE_ADDR | (ui32Offset >> 8), false);
SoftI2CDataPut(&g_sI2C, ui32Offset);
SoftI2CControl(&g_sI2C, SOFTI2C_CMD_BURST_SEND_START);
while(g_ui32State != STATE_IDLE)
[
]
]
void
AtmelRead(uint8_t *pui8Data, uint32_t ui32Offset, uint32_t ui32Count)
[
g_pui8Data = pui8Data;
g_ui32Count = ui32Count;
if(ui32Count == 1)
[
g_ui32State = STATE_READ_ONE;
]
else
[
g_ui32State = STATE_READ_FIRST;
]
SoftI2CSlaveAddrSet(&g_sI2C, SLAVE_ADDR | (ui32Offset >> 8), false);
SoftI2CDataPut(&g_sI2C, ui32Offset);
SoftI2CControl(&g_sI2C, SOFTI2C_CMD_SINGLE_SEND);
while(g_ui32State != STATE_IDLE)
[
]
]
void
Timer0AIntHandler(void)
[
TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
SoftI2CTimerTick(&g_sI2C);
]
int
main(void)
[
uint8_t pui8Data[16];
uint32_t ui32Idx;
SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_16MHZ);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
GPIOPinTypeI2C(GPIO_PORTB_BASE, GPIO_PIN_2 | GPIO_PIN_3);
memset(&g_sI2C, 0, sizeof(g_sI2C));
SoftI2CCallbackSet(&g_sI2C, SoftI2CCallback);
SoftI2CSCLGPIOSet(&g_sI2C, GPIO_PORTB_BASE, GPIO_PIN_2);
SoftI2CSDAGPIOSet(&g_sI2C, GPIO_PORTB_BASE, GPIO_PIN_3);
SoftI2CInit(&g_sI2C);
SoftI2CIntEnable(&g_sI2C);
TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC);
TimerLoadSet(TIMER0_BASE, TIMER_A, SysCtlClockGet() / 40000);
TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
TimerEnable(TIMER0_BASE, TIMER_A);
IntEnable(INT_TIMER0A);
InitConsole();
UARTprintf("SoftI2C Atmel AT24C08A examplen");
UARTprintf("Write:");
for(ui32Idx = 0; ui32Idx < 16; ui32Idx++)
[
pui8Data[ui32Idx] = ui32Idx;
UARTprintf(" %02x", pui8Data[ui32Idx]);
]
UARTprintf("n");
AtmelWrite(pui8Data, 0, 16);
AtmelRead(pui8Data, 0, 16);
UARTprintf("Read :");
for(ui32Idx = 0; ui32Idx < 16; ui32Idx++)
[
UARTprintf(" %02x", pui8Data[ui32Idx]);
]
UARTprintf("n");
UARTprintf("Done.nn");
return(0);
]

回帖(1)

韦明

2018-8-15 07:58:06
查看我发表的帖子,CCS没有配置好,没加进去你使用芯片的宏定义。你可以看这个帖子
http://bbs.21ic.com/icview-857279-1-1.html
举报

更多回帖

发帖
×
20
完善资料,
赚取积分