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

51单片机串口接收JSon数据

51单片机是一种性能稳定、可以实现多种功能的微控制器,它可以通过串口接收JSon数据。下面就来介绍一下如何实现。

#include 
#include 

#define RECEIVE_BUFFER_LENGTH 256

unsigned char RECEIVE_BUFFER[RECEIVE_BUFFER_LENGTH] = {0};
int RECEIVE_BUFFER_POINTER = 0;

/* 初始化串口 */
void serial_init() {
  SCON = 0x50;
  TMOD |= 0x20;
  TH1 = 0xF3;
  TL1 = 0xF3;
  TR1 = 1;
}

/* 串口中断服务函数 */
void serial_interrupt() interrupt 4 {
  if (RI) {
    RI = 0;
    RECEIVE_BUFFER[RECEIVE_BUFFER_POINTER++] = SBUF;

    if (RECEIVE_BUFFER_POINTER >= RECEIVE_BUFFER_LENGTH) {
      RECEIVE_BUFFER_POINTER = 0;
    }
  }
}

/* 主函数 */
void main() {
  unsigned char c;
  int len;
  
  serial_init();
  EA = 1;
  ES = 1;

  while (1) {
    /* 等待接收到完整的JSon数据 */
    if (RECEIVE_BUFFER_POINTER 

51单片机串口接收JSon数据

在上面的代码中,我们使用了单片机的串口以及中断处理函数来接收JSon数据。当接收的数据长度达到我们预设的值后,我们就可以处理这个JSon数据了。接下来,我们就可以在串口上使用printf函数输出这个JSon数据了。

如果您需要在您的单片机项目中使用JSon数据,我们希望这篇文章能够帮助到您。

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

相关推荐