如果使用C怎样写

[复制链接]
361|11
手机看帖
扫描二维码
随时随地手机跟帖
hanwe|  楼主 | 2019-8-18 18:10 | 显示全部楼层 |阅读模式
se, ce, dc, AC, tc
有几个1字节数据,例如:acvol,acele,dcvol,dcele,freq
将这几个数据使用串行口发送:
汇编程序:
acvol equ 80h
acele equ 81h
dcvol equ 82h
dcele equ 83h
freq  equ 84h
当接收到对方发送过来的数据后设置 r0=80h,中断发送
tc_ser:
clr      ti
jb      flag0,tc_ser_0
mov   sbuf,@r0
inc     r0
cjne   r0,#85h,tc_ser_0
setb   flag0
tc_ser_0:
reti
如果使用C怎样写,请各位帮下忙. ,见笑啦

使用特权

评论回复
yufe| | 2019-8-18 18:14 | 显示全部楼层

然后呢?你是怎么应对这个的呢

使用特权

评论回复
wangpe| | 2019-8-18 18:18 | 显示全部楼层
主要的是连续的变量空间如何定义,还有指针,个人感觉C的指针不太好懂

使用特权

评论回复
zhanglli| | 2019-8-18 18:21 | 显示全部楼层

一个数组就是  连续的变量空间

使用特权

评论回复
hanwe|  楼主 | 2019-8-18 18:23 | 显示全部楼层
能不能详细点,我的C语言水平比较菜

使用特权

评论回复
guoyt| | 2019-8-18 18:29 | 显示全部楼层
和楼主的想法有出入。serial.c

[code]

#define BUFF_SIZE  10



unsigned char index;

unsigned char TransBuff[BUFF_SIZE];



void serial_int (void) interrupt 4

{

     unsigned char *pBuff;

     unsigned char rcv;





    if (RI == 1)

     {

         RI = 0;



        rcv = SBUF;



        if (rcv == 'R')/*当接收到指定字符时,准备数据并发送*/

         {

             pBuff = TransBuff;



            *pBuff++ = acvol;

             *pBuff++ = acele;

             *pBuff++ = dcvol;

             *pBuff++ = dcele;

             *pBuff++ = freq;



            SBUF = TransBuff[0];

             index = 1;

         }

     }

     else if (TI == 1)

     {

         TI = 0;



        if (index < 5)

         {

             SBUF = TransBuff[index];

             index++;

         }

     }

}

使用特权

评论回复
llia| | 2019-8-18 18:32 | 显示全部楼层
uchar i=0,data5[5]={};
void send_data(*data5)
{
      ti=0;
while(i<5)
     if(flag)
{ SBUF=*data5;
}
data++;i++;
}
试试这样写吧

使用特权

评论回复
hanwe|  楼主 | 2019-8-18 18:35 | 显示全部楼层
谢谢各位帮助:
5楼的程序是一次中断后把数据连续发送出去啦,我要的结果是:中断发送一个数,然后退出中断,发送完毕再次进入中断发送低二个数,直到发送完所以数据

使用特权

评论回复
hanwe|  楼主 | 2019-8-18 18:38 | 显示全部楼层
6楼是我想要的,但是各变量没有说明啊

使用特权

评论回复
zhuww| | 2019-8-18 18:40 | 显示全部楼层
这个自己琢磨吧

使用特权

评论回复
zhanglli| | 2019-8-18 19:17 | 显示全部楼层


c指针就是指向数据的地址就可以了,呵呵

使用特权

评论回复
hanwe|  楼主 | 2019-8-18 19:20 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

979

主题

8749

帖子

4

粉丝