ccs中c语言定义布尔常量,ccs库里面有变量的定义,我在添加了头文件后编译显示没有定义变量呢...

用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 example\n");

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.\n\n");

return(0);

}

下面的也是

#include"include.h"

#include "pin_map.h"

//**************************** 设备端口号 *********************************//

// 核心板 使用PLL,频率 80MHZ

//PWM四路50HZ输出:PB4,PB5,PB6,PB7; 定时1器捕捉(超声波):PF2(R),PF3(T) //

//串口通信:PB0-->RX,PB1-->TX; IIC通信:PB2-->SCL,PB3-->SDA //

//液晶OLED:PC4(D0),PC5(D1),PC6(RS),PC7(DC) 按键:PF0|PF4(核心板),PE4,PE5 //

//*************************************************************************//

//**************************** Times0Int **********************************//

// 1ms //

// //

//*************************************************************************//

void Times0Int_InIt(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); //使能定时器

TimerIntRegister(TIMER0_BASE,TIMER_A,Timer0_IntHandler);

TimerConfigure(TIMER0_BASE,TIMER_CFG_SPLIT_PAIR |TIMER_CFG_A_PERIODIC);

//TimerConfigure(TIMER0_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_B_PERIODIC);

TimerLoadSet(TIMER0_BASE,TIMER_A,400000); ///5MS中断

TimerIntEnable(TIMER0_BASE,TIMER_TIMA_TIMEOUT);

TimerEnable(TIMER0_BASE, TIMER_A);

}

//************************** GpioTimes1Int ********************************//

// //捕获计数 //

// //

//*************************************************************************//

void GpioTimes1Int_InIt(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1);

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);

GPIOPinConfigure(GPIO_PF2_T1CCP0);

GPIOPadConfigSet(GPIO_PORTF_BASE,GPIO_PIN_2,GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);

GPIOPinTypeTimer(GPIO_PORTF_BASE,GPIO_PIN_2);

TimerClockSourceSet(TIMER1_BASE,TIMER_CLOCK_SYSTEM);

TimerConfigure(TIMER1_BASE, TIMER_CFG_SPLIT_PAIR|TIMER_CFG_A_CAP_TIME_UP);

TimerControlEvent(TIMER1_BASE, TIMER_A, TIMER_EVENT_BOTH_EDGES);

TimerIntEnable(TIMER1_BASE,TIMER_CAPA_EVENT);

TimerIntRegister(TIMER1_BASE,TIMER_A,Timer1_IntHandler);

IntPrioritySet(INT_TIMER1A, 0);

IntEnable(INT_TIMER1A);

TimerEnable(TIMER1_BASE,TIMER_A );

}

//***************************** GpioInt ***********************************//

// //

// //

//*************************************************************************//

void GpioInt_InIt(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);

GPIOPinTypeGPIOInput(GPIO_PORTF_BASE, GPIO_PIN_1);

GPIOIntTypeSet(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_BOTH_EDGES);

GPIOIntRegister(GPIO_PORTF_BASE,GPIO_IntHandler);

GPIOIntEnable(GPIO_PORTF_BASE,GPIO_INT_PIN_1);

IntPrioritySet(INT_GPIOF, 0);

IntEnable(GPIO_INT_PIN_1);

}

//******************************* PWM *************************************//

//PORT : PB4 ,PB5 ,PB6 ,PB7 //

// //

//*************************************************************************//

void PWM_InIt(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);

GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_4);

GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_5);

GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_6);

GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_7);

GPIOPinConfigure(GPIO_PB6_M0PWM0);

GPIOPinConfigure(GPIO_PB7_M0PWM1);

GPIOPinConfigure(GPIO_PB4_M0PWM2);

GPIOPinConfigure(GPIO_PB5_M0PWM3);

SysCtlPWMClockSet(SYSCTL_PWMDIV_64);

PWMGenConfigure(PWM0_BASE,PWM_GEN_0,PWM_GEN_MODE_UP_DOWN| PWM_GEN_MODE_NO_SYNC);

PWMGenConfigure(PWM0_BASE,PWM_GEN_1,PWM_GEN_MODE_UP_DOWN| PWM_GEN_MODE_NO_SYNC);

PWMGenPeriodSet( PWM0_BASE, PWM_GEN_0, 25000);//125 0000 / 250 00

PWMGenPeriodSet( PWM0_BASE, PWM_GEN_1, 25000);//125 0000 / 250 00

PWMPulseWidthSet(PWM0_BASE, PWM_OUT_0, 0);

PWMPulseWidthSet(PWM0_BASE, PWM_OUT_1, 0);

PWMPulseWidthSet(PWM0_BASE, PWM_OUT_2, 0);

PWMPulseWidthSet(PWM0_BASE, PWM_OUT_3, 0);

PWMOutputState(PWM0_BASE, (PWM_OUT_0_BIT |PWM_OUT_1_BIT|PWM_OUT_2_BIT|PWM_OUT_3_BIT), true);

PWMGenEnable(PWM0_BASE, PWM_GEN_0);

PWMGenEnable(PWM0_BASE, PWM_GEN_1);

}

void PWM_Set(int16 PWM_CH0,int16 PWM_CH1,int16 PWM_CH2,int16 PWM_CH3)

{

if(PWM_CH0 > 25000)PWM_CH0 = 25000;else if(PWM_CH0<0)PWM_CH0 = 0;

if(PWM_CH1 > 25000)PWM_CH1 = 25000;else if(PWM_CH1<0)PWM_CH1 = 0;

if(PWM_CH2 > 25000)PWM_CH2 = 25000;else if(PWM_CH2<0)PWM_CH2 = 0;

if(PWM_CH3 > 25000)PWM_CH3 = 25000;else if(PWM_CH3<0)PWM_CH3 = 0;

PWMPulseWidthSet(PWM0_BASE, PWM_OUT_0, PWM_CH0);

PWMPulseWidthSet(PWM0_BASE, PWM_OUT_1, PWM_CH1);

PWMPulseWidthSet(PWM0_BASE, PWM_OUT_2, PWM_CH2);

PWMPulseWidthSet(PWM0_BASE, PWM_OUT_3, PWM_CH3);

}

//******************************* ADC *************************************//

// //

// //

//*************************************************************************//

void ADC_InIt(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);

GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0);

ADCSequenceConfigure(ADC0_BASE, 0, ADC_TRIGGER_PROCESSOR, 0);

// ADCSequenceStepConfigure(ADC0_BASE, 0, 0, ADC_CTL_CH0 );

// ADCSequenceStepConfigure(ADC0_BASE, 0, 1, ADC_CTL_CH1 );

// ADCSequenceStepConfigure(ADC0_BASE, 0, 2, ADC_CTL_CH2 );

ADCSequenceStepConfigure(ADC0_BASE, 0, 3, ADC_CTL_CH3 | ADC_CTL_IE | ADC_CTL_END);

ADCSequenceEnable(ADC0_BASE, 0);

ADCIntClear(ADC0_BASE, 0);

}

void Get_Ad(void)

{

uint32_t pui32ADC0Value[4];

ADCProcessorTrigger(ADC0_BASE, 0);

while(!ADCIntStatus(ADC0_BASE, 0, false));

ADCIntClear(ADC0_BASE, 0);

ADCSequenceDataGet(ADC0_BASE, 0, pui32ADC0Value);

Count(1,pui32ADC0Value[0],"V");

}

//****************************** UART *************************************//

//Port:PB0-->RX //

// PB1-->TX //

//*************************************************************************//

void Uart_Init(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);

GPIOPinConfigure(GPIO_PB0_U1RX);

GPIOPinConfigure(GPIO_PB1_U1TX);

GPIOPinTypeUART(GPIO_PORTB_BASE, GPIO_PIN_0 | GPIO_PIN_1);

UARTConfigSetExpClk(UART1_BASE,80000000,115200,(UART_CONFIG_WLEN_8|UART_CONFIG_STOP_ONE |UART_CONFIG_PAR_NONE));

//UARTFIFOLevelSet(UART1_BASE,UART_FIFO_TX1_8,UART_FIFO_RX1_8);

IntEnable(INT_UART1);

UARTIntRegister(UART1_BASE, UART1_Handler); ///接收中断

UARTIntEnable(UART1_BASE,UART_INT_RX);

UARTEnable(UART1_BASE);

UARTFIFODisable(UART1_BASE);

}

void UART_Str(char ch[])

{

unsigned char ptr=0;

while(ch[ptr])

{

UARTCharPut(UART1_BASE,(unsigned char)ch[ptr++]);

}

UARTCharPut(UART1_BASE, '\n');

}

void UART_Write_Int(int UART_Write_data)//整型变量使用这个函数

{

char uart_str_temp[10];

sprintf(uart_str_temp,"%d ",UART_Write_data);

UART_Str(uart_str_temp);

}

void UART_Write_Float(float UART_Write_data)//浮点型变量使用这个函数

{

char uart_str_temp[10];

int UART_Write_i=(int)UART_Write_data;

int UART_Write_j=(int)(fabs((UART_Write_data-UART_Write_i)*1000));

int UART_Write_k3=(int)(UART_Write_j/100);

int UART_Write_k2=(int)(UART_Write_j%100/10);

//int k1=(int)(j%100%10);

sprintf(uart_str_temp,"%d.%d%d ",UART_Write_i,UART_Write_k3,UART_Write_k2);//,k1);

UART_Str(uart_str_temp);

}

//=======虚拟示波器beat1.7=========//

void sci_dis(signed int ch0, signed int ch1, signed int ch2)

{

UARTCharPut(UART1_BASE,(ch0+4000)/90+' ');

UARTCharPut(UART1_BASE,(ch0+4000)%90+' ');

UARTCharPut(UART1_BASE,(ch1+4000)/90+' ');

UARTCharPut(UART1_BASE,(ch1+4000)%90+' ');

UARTCharPut(UART1_BASE,(ch2+4000)/90+' ');

UARTCharPut(UART1_BASE,(ch2+4000)%90+' ');

}

//******************************* IIC *************************************//

//PORT : PB2-->SCL //

// PB3-->SDA //

//*************************************************************************//

void I2C_init(void)

{

SysCtlPeripheralEnable( SYSCTL_PERIPH_I2C0);

SysCtlPeripheralEnable( SYSCTL_PERIPH_GPIOB);

GPIOPinConfigure(GPIO_PB2_I2C0SCL);

GPIOPinConfigure(GPIO_PB3_I2C0SDA);

GPIOPinTypeI2CSCL(GPIO_PORTB_BASE,GPIO_PIN_2);

GPIOPinTypeI2C(GPIO_PORTB_BASE,GPIO_PIN_3);

I2CMasterInitExpClk(I2C0_BASE,80000000,true);

I2CMasterEnable(I2C0_BASE);

}

void I2CWrite(uint8 DevAddr,uint8 RegAddr,uint8 WriteData)

{

I2CMasterSlaveAddrSet(I2C0_BASE, DevAddr, false);

I2CMasterDataPut(I2C0_BASE, RegAddr);

I2CMasterControl(I2C0_BASE, I2C_MASTER_CMD_BURST_SEND_START);

while(I2CMasterBusy(I2C0_BASE));

I2CMasterDataPut(I2C0_BASE,WriteData);

I2CMasterControl(I2C0_BASE, I2C_MASTER_CMD_BURST_SEND_CONT);

while(I2CMasterBusy(I2C0_BASE));

I2CMasterControl(I2C0_BASE, I2C_MASTER_CMD_BURST_SEND_STOP);

while(I2CMasterBusy(I2C0_BASE));

SysCtlDelay(1000);

}

uint8 I2CRead(uint8 DevAddr,uint8 RegAddr)

{

static uint8 i2c_getdata = 0;

I2CMasterSlaveAddrSet(I2C0_BASE, DevAddr, false);

I2CMasterDataPut(I2C0_BASE, RegAddr);

I2CMasterControl(I2C0_BASE, I2C_MASTER_CMD_BURST_SEND_START);

while(I2CMasterBusy(I2C0_BASE));

I2CMasterSlaveAddrSet(I2C0_BASE, DevAddr, true);

I2CMasterControl(I2C0_BASE, I2C_MASTER_CMD_SINGLE_RECEIVE);

while(I2CMasterBusy(I2C0_BASE));

i2c_getdata = I2CMasterDataGet(I2C0_BASE);

return i2c_getdata;

}

//******************************* QEI *************************************//

//正交解码 //

// //

//*************************************************************************//

/*

void Qei_InIt(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);

SysCtlPeripheralEnable(SYSCTL_PERIPH_QEI1);

GPIOPinTypeQEI(GPIO_PORTC_BASE,GPIO_PIN_5);

GPIOPinTypeQEI(GPIO_PORTG_BASE,GPIO_PIN_4);

QEIConfigure(QEI1_BASE,(QEI_CONFIG_CAPTURE_A|QEI_CONFIG_NO_RESET|QEI_CONFIG_CLOCK_DIR|QEI_CONFIG_NO_SWAP),0);

// 设置速度检测周期为 0.01秒

QEIVelocityConfigure(QEI1_BASE, QEI_VELDIV_1, 60000);

QEIEnable(QEI1_BASE);

QEIVelocityEnable(QEI1_BASE);

//ROM_QEIVelocityGet(QEI1_BASE);

}

*/除了标记出来的还有很多,我把错误贴到下面附件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值