c语言单片机编程中,怎样将一个串口的到得字符串赋值给一个数组

UART_RX是串口接收到。如何把UART_RX存到一个数组,然后转为整型数字已将接收到的数据送入变量UART_RX,但是用UART_RX的时候会出错errorC247:... UART_RX是串口接收到。如何把UART_RX存到一个数组,然后转为整型数字
已将接收到的数据送入变量 UART_RX,但是用UART_RX的时候会出错
error C247: non-address/-constant initializer
怎么解决啊。
展开
 我来答
tattackor
2015-10-26 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:895万
展开全部

1、串口字节为:SBUF
暂存数组:A[]
依次将接收到的字节存入A[0],A[1],A[2],...A[n],
接收完毕,存入字符串结束标识:A[N+1]=0
A就代表一个字符串。
如果是一串数字,要转为整数。

2、例程:

#include<reg51.h>
#define uchar unsigned char
uchar A[16],num;
void uart() interrupt 4
{
if(RI)
    {
    RI=0;
    A[num]=SBUF;
    num++;
    num&=0x0f;
    }
}
main()
{
}
zhxiufan
2013-05-13 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38387
国家科技进步奖

向TA提问 私信TA
展开全部
#include<reg51.h>
#define uchar unsigned char
uchar A[16],num;
void uart() interrupt 4
{
if(RI)
{
RI=0;
A[num]=SBUF;
num++;
num&=0x0f;
}
}
main()
{
........................自己编吧
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
g肯定Jk
2017-07-26 · TA获得超过2.4万个赞
知道大有可为答主
回答量:2.5万
采纳率:6%
帮助的人:2.5亿
展开全部
你得注释, 越看头越大, unsigned char fifo_head=0; //往fifo写入数据时的位置unsigned char fifo_tail=0; // 读出fifo时的位置unsigned char Rx1_pos=0; //当前的接收位置unsigned char Rx1_num=0; //数据长度unsigned char Frame_in=
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luomingwei945
2015-10-13 · TA获得超过463个赞
知道小有建树答主
回答量:387
采纳率:100%
帮助的人:195万
展开全部
要想一个字符一个字符的赋值,就老老实实写个循环吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨田丫
2013-05-13 · TA获得超过822个赞
知道小有建树答主
回答量:235
采纳率:100%
帮助的人:164万
展开全部
串口字节为:SBUF
暂存数组:A[]
依次将接收到的字节存入A[0],A[1],A[2],...A[n],
接收完毕,存入字符串结束标识:A[N+1]=0
A就代表一个字符串。
如果是一串数字,要转为整数:
int Temp=0;
char i;
for(i=0;i<n+1;i--)
{
Temp=Temp*10+A[i];
}
如果串口接收的是数字的ASCII码字符串,则:
for(i=0;A[i]!=0;i--)
{
Temp=Temp*10+A[i]-'0';
}
Temp为所得整数。
追问
依次将接收到的字节存入A[0],A[1],A[2],...A[n],怎么实现呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式