标题: 基于CC2530的蓝牙小车,为什么不可以动?是不是哪里错了?求解。 [打印本页]

作者: 阳新墨    时间: 2017-12-30 22:56
标题: 基于CC2530的蓝牙小车,为什么不可以动?是不是哪里错了?求解。
#include<ioCC2530.h>

#define INA  P0_0
#define INB  P0_1
#define INC  P0_2
#define IND  P0_3//P0_0~P0_3

#define uint unsigned int
#define uchar unsigned char



uint i;

/***************初*始*化*****/
void InitIO()
{                  
        P0SEL        &=~((1<<0)|(1<<1)|(1<<2)|(1<<3));                        //设置为普通IO
        P0DIR   |=((1<<0)|(1<<1)|(1<<2)|(1<<3));                //设置为输出     
}

/********串*口*初*始*化*函*数*******/
void InitUart()
{
    CLKCONCMD &= ~0x40;                // 设置系统时钟源为 32MHZ晶振
    while(CLKCONSTA & 0x40);           // 等待晶振稳定
    CLKCONCMD &= ~0x47;                // 设置系统主时钟频率为 32MHZ

    PERCFG = 0x00;        
    //P1SEL = 0x0c;        //P1_2,P1_3用作串口
    //P2DIR &= ~0XC0;      //P0 优先级

    U0CSR |= 0x80;       //UART 方式
    U0GCR |= 11;            
    U0BAUD |= 216;       // 波特率设为115200
    UTX0IF = 0;          //UART0 TX 中断标志初始置位1  
    U0CSR |= 0X40;       //允许接收
    IEN0 |= 0x84;        // 开总中断   
}

/********* 延*时*函*数*********/

void Delay(unsigned int n)
{
        unsigned int i;
        for(i = 0; i < n; i++)
                for(i = 0; i < n; i++);
            for(i = 0; i < n; i++)
                for(i = 0; i < n; i++);
}
/*******run*函*数*用*于*蓝*牙*遥*控*******/
void run(void)
{
    for(i=0;i<13;i++)
    {
    INA=1;
    INB=1;
    INC=1;
    IND=1;
    }
}
void left(void)
{
    for(i=0;i<13;i++)
    {
    INA=0;
    INB=0;
    INC=1;
    IND=1;
    }
}
void right(void)
{
    for(i=0;i<13;i++)
    {
    INA=1;
    INB=1;
    INC=0;
    IND=0;
    }
}
void stop()
{
    INA=0;
    INB=0;
    INC=0;
    IND=0;
}

/******接*收*蓝*牙*信*号*************/
char uart_receive_byte()
{
while(URX0IF==0);
URX0IF=0;
return U0DBUF;
}

void main()
{         
             InitIO();
             InitUart();

            while(1)
            {
             char tmp=uart_receive_byte();
                           switch(tmp)
                            {
                                 case '1':
                                    left();
                                    break;   
                                case '2':
                                    run();
                                    break;
                                case '3':                        
                                     right();
                                     break;
                                case '4':
                                    stop();   
                                    break;
                                 default:
                                    stop();         
                              }


            }
}







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1