历史上的今天
返回首页

历史上的今天

今天是:2025年04月23日(星期三)

正在发生

2020年04月23日 | STM32通过串口如何接收服务器发来的数据

2020-04-23 来源:eefocus

STM32通过串口如何接收服务器发来的数据代码如下:


//在stm32f10x_it.c中的代码

void USART1_IRQHandler(void)

{  

  u8 GetData;

  if(USART_GetITStatus(USART1, USART_IT_RXNE)!=RESET)

  {

    USART_ClearITPendingBit(USART1,USART_IT_RXNE);

    GetData=(u8)USART_ReceiveData(USART1)&0xff;

 

    Usart1_buf[usart1_lent]=GetData;

    usart1_lent++;

  }

 

  if (USART_GetITStatus(USART1, USART_IT_TC) != RESET) 

  {

    USART_ITConfig(USART1, USART_IT_TC, DISABLE);

    USART_ClearITPendingBit(USART1, USART_IT_TC);

  }

  if(USART_GetFlagStatus(USART1,USART_FLAG_ORE)==SET)

  {

    USART_ClearFlag(USART1,USART_FLAG_ORE); 

    USART_ReceiveData(USART1); 

  }   

}

 

//main()函数中的代码

//服务器发来的数据放在Usart1_buf数组中

u8 Usart1_buf[256];

unsigned int usart1_lent = 0;

void check_ser(void) 

{

      a = strstr(Usart1_buf, "1");

      b = strstr(Usart1_buf, "12");

      c = strstr(Usart1_buf, "123");

      d = strstr(Usart1_buf,"1234");

      

      if(NULL != a && usart1_lent==1)//当服务器发来1时干某事

      {

       

      }

      else if(NULL != b && usart1_lent==2)//当服务器发来12时干某事

      {

        

      }

      else if(NULL != c && usart1_lent==3)//当服务器发来123时干某事

      { 

        

      }

      else if(NULL != d && usart1_lent==4)//当服务器发来1234时干某事

      {

        

      }

      else if(Usart1_buf[0]=='['&&Usart1_buf[17]==']'&& usart1_lent==18)//判断是否为获取时间参数

      {

       

      }

      else if (Usart1_buf[0]=='O'&&Usart1_buf[1]=='K' && usart1_lent==2)//判断是否为普通心跳返回

      {

        

      }

}

推荐阅读

史海拾趣

诚芯微(CXW)公司的发展小趣事

在2020年,诚芯微与BYD、小米、公牛等知名企业建立了战略合作伙伴关系,共同推动电源芯片在汽车电子、智能家居等领域的应用。通过与这些行业巨头的合作,诚芯微不仅拓展了市场渠道,还提升了品牌影响力。同时,公司还加大了对新能源汽车电源管理芯片的研发力度,为新能源汽车产业的发展提供了有力支持。

泰科天润(GPT)公司的发展小趣事

经过数年的技术积累和市场拓展,诚芯微在2013年注册了自主品牌CXW,标志着其品牌战略的正式启动。同年,公司推出了一系列具有竞争力的电源芯片产品,凭借其卓越的性能和稳定的品质,逐渐在市场中获得了认可。此外,诚芯微还加强了与上游晶圆制造、封装企业的合作,确保了产品的质量和良率。

迦美信芯(CanaanTek)公司的发展小趣事

迦美信芯通讯技术有限公司成立于2008年,总部位于被誉为“中国硅谷”的上海张江高科技园区。自成立以来,公司便专注于射频领域集成电路的研发和销售。凭借对技术的深入理解和不懈追求,迦美信芯逐渐在射频前端市场占据了一席之地。

Hsuan Mao Technology Co公司的发展小趣事

迦美信芯一直致力于技术创新和产品升级。公司推出的面向手机终端和物联网的2G/3G/4G/5G全系列的射频开关、天线调谐器、低噪声放大器等产品,在行业内具有较高的知名度和美誉度。特别是在天线调谐器领域,迦美信芯已成为国内设计出天线调谐器芯片并大量量产的厂家之一。

Gulf Semiconductor公司的发展小趣事

在导航芯片领域,迦美信芯也取得了显著成就。由公司董事长兼CTO倪文海主导开发的兼容“GPS+北斗导航”的射频芯片,被国内主要基带厂商广泛采用,占据了北斗细分市场60%的份额。这一成就不仅彰显了迦美信芯在导航芯片领域的强大实力,也为其在物联网和汽车电子等领域的应用奠定了坚实基础。

BEKA Associates Ltd公司的发展小趣事

在快速发展的过程中,BCD Semi(Diodes)积极寻求风险投资和资本运作的支持。公司通过吸引国内外知名的投资机构参与投资,获得了大量的资金支持,为公司的研发、生产和市场拓展提供了有力的保障。同时,BCD Semi还通过并购、合作等方式,与行业内的其他企业实现资源共享和优势互补,进一步提升了公司的综合实力。

问答坊 | AI 解惑

51 IO口模拟串口通讯C源程

#include sbit BT_SND =P1^0; sbit BT_REC =P1^1; /**********************************************IO 口模拟232通讯程序 使用两种方式的C程序 占用定时器0 **********************************************/ #define MODE_QUICK #define ...…

查看全部问答>

matlab第二课---for的用法!

对于循环,用的最多的就是它了,看看怎么用吧?…

查看全部问答>

何必呢!

我以前电脑上大多元件的datasheet都是在EEWORLD上搜索的,现在基本不用了。 说下原因:改版后好像只能搜索器件的前缀,不能搜索包含字。我知道一个器件的包含数字不知道前缀基本上是搜索不到了。还有写报告经常要在datasheet拷贝一些文字或图片。 ...…

查看全部问答>

ADC与DAC专题学习之一

本帖最后由 dontium 于 2015-1-23 13:19 编辑 第一章 ADC与DAC概念 什么是ADC? “ADC”Analog-to-Digital Converter的缩写,指模/数转换器或者模拟/数字转换器。真实世界的模拟信号,例如温度、压力、声音或者图像等,需要转换成更容易储存、处 ...…

查看全部问答>

【求助】有关无线通信的问题

我对电子信息了解不多,因为老师给的任务是做一个监控系统,我负责传感器模块和主模块之间的无线通信,请问各位高手怎么做,是用单片机控制无线模块收发数据还是无线模块本身就可编程?我在网上查了些资料,最后一头雾水,我对这些了解太少了。希望 ...…

查看全部问答>

Wince 内存管理

各位高手:我用wince5.0测试程序,在程序中用new分配2M内存,然后delete[]。然后退出程序,在此过程中监视内存使用量,发现几次操作后系统内存使用量变大了。貌似程序退出后系统并没有完全回收内存!请教原因!…

查看全部问答>

ARM-linux中断的问题

linux在运行应用程序的时候是用户态的,MMU的0地址指向的是用户的物理地址。那有中断触发时,它是怎么跳到内核的中断向量表的?有人能详细说一说吗? 紧接上面的问题,linux的进程调度器的时间片是怎么控制的?从中断模式跳入操作系统模式的过程是 ...…

查看全部问答>

嵌入式真的这么好吗?

现在好多人都想搞嵌入式开发,我也有这个想法,想请在搞嵌入式的朋友给点看法,以正视听!!!…

查看全部问答>

关于SD无线网卡

各位:    我的系统可以识别SD卡,读写都没有问题, 插上SD无线网卡也可以识别,也可以找到无线路由,可以设置,可以连接 但是问题是刚刚连接上就死机!! 请问各位这个可能是哪的原因!! 谢谢!…

查看全部问答>

可不可以将一个edif型文件和一个.V文件一起综合?

由于可能要频繁改动一个工程中的一个verilog文件,其他的文件不改变。由于每一次综合整个系统需要花很久的时间,现在希望先把其他的文件综合出.edf文件,再和剩下的那个.V文件最后再综合一次。这样可能会省时间,并且不需要改动其他的文件?…

查看全部问答>