微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

51串口解析json报文

51串口是一种常用的硬件设备,它可以用来与其他设备进行通信。而在通信过程中,常常需要对传输的数据进行解析处理,其中包括解析json报文。

51串口解析json报文

下面介绍一下如何在51串口上解析json报文:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include <stc12c5a60s2.h>

#define FOSC    11059200L
#define BAUD    9600
#define TIMER0_RELOAD (65536L -(FOSC/12/32/BAUD))

typedef unsigned char uint8_t;
typedef unsigned int uint16_t;

static void Uart_Init(void)
{
    SCON=0x50;
    TMOD|=0x20;
    TH1=TL1=TIMER0_RELOAD;
    TR1=1;
}

static void Timer0_Init(void)
{
    AUXR |= 0x80;
    TMOD &= 0xF0;
    TL0 = 0x8F;
    TH0 = 0xFF;
    TF0 = 0;
    TR0 = 1;
}

void Uart_SendByte(unsigned char dat)
{
    while(!TI);
    TI = 0;
    SBUF = dat;
}

void Uart_SendString(char *p)
{
    while(*p)
    {
        Uart_SendByte(*p++);
    }
}

uint8_t Uart_GetByte(void)
{
    while(!RI);
    RI = 0;
    return SBUF;
}

uint16_t json_get_number(const char *json)
{
    char *p = strchr(json,':')+1;
    uint16_t number = 0;
    while((*p >= '0')&&(*p 

上述代码中,我们定义了json_parse函数,用于解析json报文的数字字段,并输出到串口上。在主函数中,我们使用定时器来轮询串口,获取传输过来的json串,并调用json_parse函数对其进行解析。

通过该方法,我们可以在51串口上方便地解析json报文,实现通信数据的处理,从而更好地进行数据交互。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐