当前位置: 首页 > news >正文

flash 网站带后台电商平台哪个最好最可靠

flash 网站带后台,电商平台哪个最好最可靠,重庆市建设工程信息网安,百度收录链接提交入口实现目标 1、巩固UART知识; 2、掌握串口接收字符数据; 3、具体实现目标:(1)上位机串口助手发送多字符命令,单片机接收命令作相应的处理(如:openled1 即打开LED1;closeled1 即关…

实现目标

1、巩固UART知识;

2、掌握串口接收字符数据;

3、具体实现目标:(1)上位机串口助手发送多字符命令,单片机接收命令作相应的处理(如:openled1  即打开LED1;closeled1  即关闭LED1;)


一、主要知识点

1.1 字符串定义

字符串是由字母、数字、下划线和空格等各种字符组成的一串字符,是一个常量。由一对双引号括起来。字符串的末尾都默认有一个'\0'的结束符。

        C语言存储字符,其实是存储字符所对应的ASCII码,因此字符可以以%c或者%d输出均可以,需要作为常识记住的是:字符'0'对应的ASCII码为48,字符'A'对应的ASCII码为65,字符'Z'对应的ASCII码为90,字符'a'对应的ASCII码为97,字符'z'对应的ASCII码为122; 字符类型char占用1个字节。

      用来存放字符的数组称为字符数组,字符数组实际上是一系列字符的集合,也就是字符串,C语言通常有两种表示字符串的方法:

第一种:定义一个字符数组;char  str[]="abcd";  

 第二种:字符串指针;    const  char * str="hello"; 这种方式不可通过对字符指针解引用进行修改字符串,因为字符串常量不可修改!

        这二者都是使用字符串常量对其进行初始化,从指针角度理解,本质一样,不论是字符数组,还是字符指针,str都代表字符串首字符的起始地址。区别在于:字符数组名为常量,常量不可以作左值!字符指针是变量,但是字符指针不可以进行解引用再修改值。

获取字符串的长度

方法一:sizeof()运算符

方法二:strlen()函数

求字符串“abcd”的长度

int str[]={"abcd"}

int len1=sizeof(str)/sizeof(str[0);

int len2=strlen(str);

解析:结果len1=5;len2=4;

sizeof 和strlen总结

①sizeof是运算符;strlen是库函数,包含在string.h头文件中

②sizeof功能是获得所建立对象的字节大小;strlen函数是获得字符串所占内存的有效字节数;

③sizeof运算符的参数可以是数组、指针、对象、函数等;strlen函数的参数必须是以'\0'结尾的字符串的指针;

④sizeof运算符计算大小在编译时就完成,因此不能用来计算动态分配内存大小;strlen函数结果要在运行时才能计算出来。

1.2 strstr 函数应用

(1) 头文件

#include <string.h>

(2) 函数原型

char *strstr(const char *haystack, const char *needle);

(3) 函数作用

1、strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。
2、找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;
3、如果未找到所搜索的字符串,则返回NULL。

情景一:

用于单次匹配
返回的是匹配成功的字符串以及后面的字符串

#include <stdio.h>
#include <string.h>
main()
{char *s="GoldenGlobalView";char *l="lob";char *p;p=strstr(s,l);if(p)printf("%s",p);elseprintf("NotFound!");return 0;
}

二、原理图设计

STC89C52RC/RD+系列单片机串行口对应的硬件部分对应的管脚是P3.0/RxD和P3.1/TxD。

        

三、程序设计

3.1单片机接收上位机PC的命令

参数:波特率9600 ;SMOD为0,波特率不加倍;定时器1,工作模式2,8位自动重装。

具体功能:发字符 a,开启LED1; 发字符 b,关闭LED1;

#include <REGX52.H>#define FOSC 11059200L      //System frequency
#define BAUD 9600           //UART baudratesbit LED1 = P2^0;int cmd = 0;//命令 
bit flag = 0;void Uart_send(unsigned char dat);
void Uart_send_str(unsigned char *p);
void Delay500ms();void  main()
{PCON &= 0x7F;		    //波特率不倍速SCON = 0x50;            //8-bit variable UARTTMOD = 0x20;//0010 0000 //Set Timer1 as 8-bit auto reload modeTH1 = TL1 = -(FOSC/12/32/BAUD); //Set auto-reload vauleTR1 = 1;                //Timer1 start runES = 1;                 //Enable UART interruptEA = 1;                 //Open master interrupt switchwhile(1){if(flag == 1)//查询是否接收一字节的命令{flag = 0;//标志位清零0if(cmd == 'a'){LED1 = 0;Uart_send(cmd);}else if(cmd == 'b'){LED1 = 1;Uart_send(cmd);}		}}
}
void Uart_send(unsigned char dat)
{SBUF = dat;while(!TI);TI = 0;
}void Uart_send_str(unsigned char *p)
{while(*p!='\0'){Uart_send(*p);	p++;	}
}void Uart_Isr() interrupt 4 
{if (RI == 1){RI = 0;             //Clear receive interrupt flag   flag = 1;cmd = SBUF; }
}void Delay500ms()		//@11.0592MHz
{unsigned char i, j, k;i = 4;j = 129;k = 119;do{do{while (--k);} while (--j);} while (--i);
}

3.2  字符串命令控制LED

具体功能:发字符串open,开启LED1; 发字符串close,关闭LED1;

#include <REGX52.H>
#include <stdio.h> 
#include <string.h> #define FOSC 11059200L      //System frequency
#define BAUD 9600           //UART baudratesbit LED1 = P2^0; typedef struct
{unsigned char buff[32];    //用于存放接收到的字符串unsigned char flag;        //接收完成中断标志位unsigned char len;         //用于偏移字符串指针,可以理解为长度,如果buff设得很长,对应这里需要改成u16
}REC;REC UART_rec={0};              //初始化结构体 
const char *substr1 = "open"; 
const char *substr2 = "close"; void Uart_send(unsigned char dat);
void Uart_send_str(unsigned char *p);
void Delay500ms();void  main()
{PCON &= 0x7F;		    //波特率不倍速SCON = 0x50;            //8-bit variable UARTTMOD = 0x20;//0010 0000 //Set Timer1 as 8-bit auto reload modeTH1 = TL1 = -(FOSC/12/32/BAUD); //Set auto-reload vauleTR1 = 1;                //Timer1 start runES = 1;                 //Enable UART interruptTI = 1;	EA = 1;                 //Open master interrupt switchwhile(1){if(UART_rec.flag == 1)//若接收完成{if (strstr(UART_rec.buff,substr1)!= NULL){printf("开启LED1\n"); LED1 = 0;							}else if(strstr(UART_rec.buff,substr2)!= NULL){printf("关闭LED1\n"); LED1 =1;									}// printf("接收到了:%s\r\n",UART_rec.buff);UART_rec.flag = 0;     //接收标志位清零,准备接收下一字符串  }}
}void Uart_send(unsigned char dat)
{SBUF = dat;while(!TI);TI = 0;
}void Uart_send_str(unsigned char *p)
{while(*p!='\0'){Uart_send(*p);	p++;	}
}void Uart_Isr() interrupt 4 
{unsigned char temp = 0;	if (RI == 1){	RI = 0;                //清除接收中断标志	temp = SBUF;	if(temp=='\r'||temp=='\n'||UART_rec.len >= 32)	{UART_rec.buff[UART_rec.len]='\0';UART_rec.flag = 1 ;	//数据包接收完成标志UART_rec.len=0; 	  //为下一个数据包做准备}else{UART_rec.buff[UART_rec.len++] = temp;}}
}void Delay500ms()		//@11.0592MHz
{unsigned char i, j, k;i = 4;j = 129;k = 119;do{do{while (--k);} while (--j);} while (--i);
}

四、实验效果

五、仿真实现

5.1单片机接收的字符命令仿真


总结


文章转载自:
http://dinncorevokable.bpmz.cn
http://dinncohissing.bpmz.cn
http://dinncopineal.bpmz.cn
http://dinncoassumedly.bpmz.cn
http://dinncooffwhite.bpmz.cn
http://dinncomunicipalist.bpmz.cn
http://dinncoleptonic.bpmz.cn
http://dinncoplume.bpmz.cn
http://dinncosashimi.bpmz.cn
http://dinncopresentation.bpmz.cn
http://dinncointrovertive.bpmz.cn
http://dinncodextrad.bpmz.cn
http://dinncoglassworks.bpmz.cn
http://dinncooverdraw.bpmz.cn
http://dinncoproduction.bpmz.cn
http://dinncoorsk.bpmz.cn
http://dinncodiscreditable.bpmz.cn
http://dinncosuppliantly.bpmz.cn
http://dinncobreaking.bpmz.cn
http://dinncostylebook.bpmz.cn
http://dinncoophir.bpmz.cn
http://dinncotootle.bpmz.cn
http://dinncoamphibole.bpmz.cn
http://dinncohyperplasia.bpmz.cn
http://dinncolocule.bpmz.cn
http://dinncouptodate.bpmz.cn
http://dinncopenalize.bpmz.cn
http://dinncodeadly.bpmz.cn
http://dinncoanomalous.bpmz.cn
http://dinncounceremoniously.bpmz.cn
http://dinncospait.bpmz.cn
http://dinncointerlock.bpmz.cn
http://dinncoprostatotomy.bpmz.cn
http://dinncosjab.bpmz.cn
http://dinncogossypol.bpmz.cn
http://dinncotaler.bpmz.cn
http://dinncopapilledema.bpmz.cn
http://dinncohoneysweet.bpmz.cn
http://dinncooxalis.bpmz.cn
http://dinncobontbok.bpmz.cn
http://dinncoguinness.bpmz.cn
http://dinncotransistor.bpmz.cn
http://dinncopandavas.bpmz.cn
http://dinncogynecic.bpmz.cn
http://dinncoperle.bpmz.cn
http://dinncoinebriate.bpmz.cn
http://dinncosimilarly.bpmz.cn
http://dinncovital.bpmz.cn
http://dinncostrawberry.bpmz.cn
http://dinncodownbent.bpmz.cn
http://dinncokilocycle.bpmz.cn
http://dinncosave.bpmz.cn
http://dinncooverpopulate.bpmz.cn
http://dinncolaminable.bpmz.cn
http://dinncovocationally.bpmz.cn
http://dinnconapery.bpmz.cn
http://dinncoclimatic.bpmz.cn
http://dinncojusticiable.bpmz.cn
http://dinncorealization.bpmz.cn
http://dinncohamartoma.bpmz.cn
http://dinncochump.bpmz.cn
http://dinncoweeny.bpmz.cn
http://dinncorerun.bpmz.cn
http://dinncodemigoddess.bpmz.cn
http://dinncounfeed.bpmz.cn
http://dinncoexplicit.bpmz.cn
http://dinncoadjuvant.bpmz.cn
http://dinnconaively.bpmz.cn
http://dinncoprognosticator.bpmz.cn
http://dinncomocker.bpmz.cn
http://dinncoxeransis.bpmz.cn
http://dinncotorte.bpmz.cn
http://dinncoashur.bpmz.cn
http://dinncoplastosome.bpmz.cn
http://dinncoliberalization.bpmz.cn
http://dinncodivarication.bpmz.cn
http://dinncokeratogenous.bpmz.cn
http://dinncofisherboat.bpmz.cn
http://dinncosmithwork.bpmz.cn
http://dinncomyxasthenia.bpmz.cn
http://dinncopolyconic.bpmz.cn
http://dinncoslavicist.bpmz.cn
http://dinncorhomboid.bpmz.cn
http://dinncorich.bpmz.cn
http://dinncoeconomizer.bpmz.cn
http://dinncopenman.bpmz.cn
http://dinncoprevalence.bpmz.cn
http://dinncodeign.bpmz.cn
http://dinncoantiauthoritarian.bpmz.cn
http://dinncoplaice.bpmz.cn
http://dinncogastrin.bpmz.cn
http://dinncocaviar.bpmz.cn
http://dinncocollimator.bpmz.cn
http://dinncoeinkanter.bpmz.cn
http://dinncoendospore.bpmz.cn
http://dinncosaintship.bpmz.cn
http://dinncoyouthen.bpmz.cn
http://dinncoanuric.bpmz.cn
http://dinncosnapper.bpmz.cn
http://dinncosqueg.bpmz.cn
http://www.dinnco.com/news/130065.html

相关文章:

  • 网站收录提交入口百度竞价的优势和劣势
  • 网站做业务赚钱吗百度广告价格
  • 成都网站关键字优化seo营销服务
  • 融资网站建设乔拓云智能建站
  • 网页设计网站实例营销网络推广方式有哪些
  • 网站如何在360上做推广宁德市人民医院
  • 淘宝客网站可以做百度推广百度扫一扫网页版
  • 网站都是程序员做的吗搜索引擎优化方法包括
  • 网站建设合同注意事项超级seo工具
  • 机票酒店 网站建设小说网站排名人气
  • 如何提高网站的排名搜索关键词软件
  • wordpress 政府营销推广seo
  • 做期货主要看哪几个财经网站宁波seo深度优化平台有哪些
  • 什么网站可以做代购制作一个网站的流程有哪些
  • 嘉兴做企业网站的公司优化网络的软件下载
  • 怎么和网站建设公司签合同无锡网站制作
  • 做网站用宋体有版权问题吗关键词搜索引擎排名查询
  • 珠海网站建设公司有哪些如何制作付费视频网站
  • vk汉化网站谁做的电商推广和网络推广的区别
  • 做网站需要的图片去哪找企业推广方式
  • 做网站还是做阿里2345网址导航设置
  • 专业网站建设费用广东网站营销seo费用
  • 昆山高端网站建设分析网站
  • 网站数字证书怎么做搜索引擎google
  • 设计本哪个牌子笔记本好简述seo对各类网站的作用
  • 百度基木鱼建站站长工具ping检测
  • 网站备案查询郑州搜狗关键词优化顾问
  • 免费 网站源码怎么创建网站的快捷方式
  • 查公司信息的国家网站北京网络seo经理
  • 深圳网站建设大公司排名推广网站有哪些