找回密码
 立即注册

QQ登录

只需一步,快速开始

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

请教C语言多数组发送程序,如何优化

[复制链接]
跳转到指定楼层
楼主
unsigned char Color1[]={0xAA,0x55,0x00,0x80,0x00,0x30};
unsigned char Color2[]={"abcdefg"};
unsigned char Color3[]={0xcc,0x33,0xc3,0x3c};        

void Color_matching()

{
        
        send_string_com(Color1,6);
        send_string_com(Color2,3);
        send_string_com(Color3,4);
}
//向串口发送一个字符串,strlen为该字符串长度  
void send_string_com( unsigned char *str, unsigned char strlen)
   {  
     unsigned int k= 0 ;  
         do  
    {  
          SBUF = (*(str + k));
      k++;
                 while (TI==0);  
             TI= 0 ;
    }  
         while (k < strlen);
   }

Color1[]={0xAA,0x55,0x00,0x80,0x00,0x30}; 前两位帧头和指令 ,后四位为座标
Color2[]是变化的,可以是字符串或16进数据,
Color3[] 帧尾


51hei截图_20210530183908.png (238.96 KB, 下载次数: 68)

51hei截图_20210530183908.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:592807 发表于 2021-5-31 09:20 | 只看该作者
你想怎么优化?减少程序空间,减少代码数目,增加代码可读性,
回复

使用道具 举报

板凳
ID:734017 发表于 2021-6-1 00:01 | 只看该作者
黄youhui 发表于 2021-5-31 09:20
你想怎么优化?减少程序空间,减少代码数目,增加代码可读性,

怎么说呢,就是方便移植,调用,中间有一组是变量,后面需要调用整个函数
回复

使用道具 举报

地板
ID:592807 发表于 2021-6-1 08:59 | 只看该作者
happy2058 发表于 2021-6-1 00:01
怎么说呢,就是方便移植,调用,中间有一组是变量,后面需要调用整个函数

你需要载构建一个函数,前面四个参数是坐标,最后一个是你要发送的数据
void Send_Color(u8 x_s,u8 x_e,u8 y_s,u8 y_e,u8 *p)
{
发送帧头--固定
发送坐标--形参
发送数据--实参
发送帧尾--固定
}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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