wrtnode2r与stm32串口通信

如何将wrtnode制作的相关网页上的信息通过串口传送给stm32并进行显示?
已邀请:

cherry

赞同来自:

void readmessage_fromwww(u8 *iffromrtc,LinkList L,u16 *curindex)  //获得从网页端发来的信息
{
u8 t;
u16 x1,y1,x2,y2;
u8 wid;
//u8 iffromtijiao=0;
u16 reclen=0; u16 t;
LNode e;
//u8 message_buf[600];
u8 readmsg_buf[200];
u8 flag_buf;
u16 year;
u8 month,day,hour,minute,second;
//u8 split0;
//u8 newrtc=0;
// int ii;
if(USART_RX_STA&0X8000) //接收到一次数据了2017-04-24/13:59:03/用来判断是否接收到数据
{
LED0=!LED0;
//printf("%s\r\n", USART_RX_BUF);
reclen=USART_RX_STA&0X3FFF; //得到数据长度
USART_RX_BUF[reclen]=0; //加入结束符,接收缓冲
//判断FLAG判断发来的是什么样的字符串
//for(t=0;t<=reclen;t++)
//{
  t=0;
if(USART_RX_BUF[t]=='/') //网络端发来数据  /1
{
t++;
flag_buf = USART_RX_BUF[t];
t++;
 
 
 

get_time(&year,&month,&day,&hour,&minute,&second,&t);
RTC_Settime(year,month,day,hour, minute,second);
printf("%d-%d-%d-%d-%d-%d                   ",year,month,day,hour,minute,second);
 
 
 
这是stm32中写的接收的代码
 

void get_time(u16 *year,u8 *month,u8 *day,u8 *hour,u8 *minute,u8 *second,u16 *t)//获得时间
{
u8 time_buf[30];
char *yea=NULL,*mont=NULL,*da=NULL,*hou=NULL,*minut=NULL,*secon=NULL;
//u16 t;
for(;;(*t)++)
{
if(USART_RX_BUF[(*t)]!='/')
{
time_buf[(*t)-2] = USART_RX_BUF[(*t)];
}
else
{
//split1 =t;
break;
}
}
time_buf[(*t)]=0;
//printf("%s\r\n",time_buf);
  yea= strtok(time_buf,"-");
if(yea!=NULL)
mont= strtok(NULL,"-");
if(mont!=NULL)
da= strtok(NULL,"T");
if(da!=NULL)
hou= strtok(NULL,":");
if(hou!=NULL)
minut= strtok(NULL,":");
if(minut!=NULL)
secon= strtok(NULL,":");
*year=atoi(yea);
*month=atoi(mont);
*day=atoi(da);  
*hour=atoi(hou);
*minute=atoi(minut);
*second=atoi(secon);
//printf("%s\r\n",time_buf);
// printf("%d-%d-%d-%d-%d-%d                   ",year,month,day,hour,minute,second);
}
 

xzmu - 10w

赞同来自:

我觉得,还是先不要一步迈这么大。。。你可以分开来做,
1、先写好通过串口让2r和stm32通讯 2、先用c语言写好一个http的cgi程序。
 
这两个都测试好了再合并起来做。

要回复问题请先登录注册