找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1995|回复: 0
打印 上一主题 下一主题
收起左侧

基于CC2530的蓝牙小车,为什么不可以动?是不是哪里错了?求解。

[复制链接]
跳转到指定楼层
楼主
ID:261999 发表于 2017-12-30 22:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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();         
                              }


            }
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表