找回密码
 立即注册

QQ登录

只需一步,快速开始

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

将数据传给SBUF缓存器只能送一个数据,怎么办 ,使用tab吗

[复制链接]
跳转到指定楼层
楼主
ID:109572 发表于 2016-5-24 20:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问 管理员,如果我要用串口通信传送两个数据,将数据传给SBUF缓存器只能送一个数据,怎么办 ,使用tab吗,怎么写,有什么资料怎么用  求请教
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:111634 发表于 2016-5-24 21:05 | 只看该作者
一个一个送
回复

使用道具 举报

板凳
ID:7485 发表于 2016-5-24 22:11 | 只看该作者
送到SBUF就开始发送了,检测发送结束标志置位,即可发送下一个。
回复

使用道具 举报

地板
ID:123133 发表于 2016-5-25 16:25 | 只看该作者
同问,难道要在串口打一个字发送一下
回复

使用道具 举报

5#
ID:7485 发表于 2016-5-25 22:16 | 只看该作者
jpaekeo 发表于 2016-5-25 16:25
同问,难道要在串口打一个字发送一下

串口打字?怎么打?

是不是电脑上的串口工具发送?字符串可以一次发送。当然也可以一个个发送。
回复

使用道具 举报

6#
ID:119239 发表于 2016-5-25 22:31 | 只看该作者
编写发一个字符的函数,发送字符串的函数为调用发一个字符的函数即可。
void SendData(BYTE dat);
void SendString(char *s);

/*----------------------------
Send a byte data to UART
Input: dat (data to be sent)
Output:None
----------------------------*/
void SendData(BYTE dat)
{
     while (busy);           //Wait for the completion of the previous data is sent
     ACC = dat;              //Calculate the even parity bit P (PSW.0)
     if (P)                  //Set the parity bit according to P
     {
#if (PARITYBIT == ODD_PARITY)
         S2CON &= ~S2TB8;    //Set parity bit to 0
#elif (PARITYBIT == EVEN_PARITY)
         S2CON |= S2TB8;     //Set parity bit to 1
#endif
     }
     else
     {
#if (PARITYBIT == ODD_PARITY)
         S2CON |= S2TB8;     //Set parity bit to 1
#elif (PARITYBIT == EVEN_PARITY)
         S2CON &= ~S2TB8;    //Set parity bit to 0
#endif
     }
     busy = 1;
     S2BUF = ACC;            //Send data to UART2 buffer
}
/*----------------------------
Send a string to UART
Input: s (address of string)
Output:None
----------------------------*/
void SendString(char *s)
{
     while (*s)              //Check the end of the string
     {
         SendData(*s++);     //Send current char and increment string ptr
     }
}
回复

使用道具 举报

7#
ID:123289 发表于 2016-5-26 11:23 | 只看该作者
只有一个方法:等它发完了,两输入另一个发送.
没有一下子就发两个的方法.
回复

使用道具 举报

8#
ID:110895 发表于 2016-5-27 16:45 | 只看该作者
第一,只能一个一个发送;第二,用数组填写n个数,写一个函数将n个数一个一个自动发送出去。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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