找回密码
 立即注册

QQ登录

只需一步,快速开始

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

wifi无线c51小车

[复制链接]
跳转到指定楼层
楼主
ID:193947 发表于 2017-4-26 19:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#include<math.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar Buffer =0; //从串口接收的数据
uint URTAReceivedCount=0,n=1;
uchar data Tempdatatable[5],CommandDatatable[5];//数据包
/********************************************************************
* 名称 : Delay_1ms()
* 功能 : 延时子程序,延时时间为 1ms * x
* 输入 : x (延时一毫秒的个数)
* 输出 : 无
***********************************************************************/
void Delay_1ms(uint i)//1ms延时
{
uchar x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}

/********************************************************************
* 名称 : Send_Data()
* 功能 : 向上位机传送字符
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Send_Data(uchar type,uchar cmd,uchar dat)
{
uchar data Buffer[5];//构建数据包
uchar *p;
uint Send_Count=0;
p=Buffer;
Buffer[0]=0XFF;
Buffer[1]=type;
Buffer[2]=cmd;
Buffer[3]=dat;
Buffer[4]=0XFF;
while(1)
{
if(*p==0XFF)
{
Send_Count++; //0XFF标志统计位
}
SBUF = *p; //发送
while(!TI) //如果发送完毕,硬件会置位TI,等待发送完毕
{
_nop_();
}
p++;
TI = 0;
if(Send_Count == 2) //当统计到两次出现0XFF,则认为一个数据包发送完毕,跳出循环
{
TI = 0;
break;
}
}
}
/********************************************************************
协议规定:
包头 类型位 数据位 数据位 结束位
0XFF 0X** OX** 0X** 0XFF
各命令说明:
类型位 数据位 数据位 功能

0X00 0X02 0X00 前进
0X00 0X01 0X00 后退
0X00 0X03 0X00 左转
0X00 0X04 0X00 右转
0X00 0X00 0X00 停止

0X01 0X01 角度 舵机1
0X01 0X02 . 舵机2
0X01 0X01 . 舵机3
0X01 0X02 . 舵机4
0X01 0X01 . 舵机5
0X01 0X02 . 舵机6
0X01 0X01 . 舵机7
0X01 0X02 数据 舵机8

0X02 0X01 车灯亮
0X02 0X02 车灯灭





剩下的私聊发。

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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