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

杭州做网站比较好的公司谷歌seo排名

杭州做网站比较好的公司,谷歌seo排名,南京网站建设网站设计,在网站后台为什么不显示百分号一、串口通信 通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统 通信协议:制定通信的规则,通信双方按照协议规则进行数据收发 STM32F103C8T6 USART资源: USART1、 USART2、 USART3 自带波特率发生器&…

一、串口通信

通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统

通信协议:制定通信的规则,通信双方按照协议规则进行数据收发

STM32F103C8T6 USART资源: USART1、 USART2、 USART3

自带波特率发生器,最高达4.5Mbits/s

可配置数据位长度(8/9)、停止位长度(0.5/1/1.5/2 -->一般都是一个停止位)  

可选校验位(无校验/奇校验/偶校验-->一般不用)

SART是STM32内部集成的硬件外设,可根据数据寄存器的一个字节数据自动生成数据帧时序,从TX引脚发送出去,也可自动接收RX引脚的数据帧时序,拼接为一个字节数据,存放在数据寄存器里

支持同步模式(多一个输出时钟,之后变成同步通信--->一般不用)、硬件流控制(多一条硬件的线,如果接收方准备好接收则硬件线就置高电平,否则置低电平,这样就不会导致对方发送数据过快,没有处理的数据被覆盖-->一般不用硬件流方式)、DMA、智能卡、IrDA、LIN

二、接线规则

简单双向串口通信有两根通信线(发送端TX和接收端RX) ,TX与RX要交叉连接 ,当只需单向的数据传输时,可以只接一根通信线 当电平标准不一致时,需要加电平转换芯片。

三、串口参数、时序

波特率:串口通信的速率(例如:1Mbps,则1S传输1000位数据)

起始位:标志一个数据帧的开始,固定为低电平(空闲时是高电平)

数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行

校验位:用于数据验证,根据数据位计算得来(例如:奇校验->包括校验位的9个数据中的1要为奇数(1110 1110 1),偶校验->包括校验位的9个数据位中的1要为偶数(1100 1100 0))

停止位:用于数据帧间隔,固定为高电平(0.5/1/1.5/2)

停止位:用于数据帧间隔,固定为高电平(0.5/1/1.5/2)

四、数据发送和接收、寄存器、引脚图

发送数据寄存器(TDR)和接收数据寄存器(RDR)占用同一个地址,在程序中表现出来的只有一个DR寄存器,写的时候从TDR写进去,读的时候从RDR读。

发送移位数据寄存器:把数据一位一位的移出去

                例发送:给TDR写入一个0X55(0101 0101)数据,此时硬件检测到写入数据了(数据在发送数据寄存器),就会检查移位寄存器是否有别的数据在移位,如果没有0x55就会整体全部进入移位数据寄存器,当数据从TDR数据寄存器进入移位寄存器时,会置一个TXE(TX Empty发送数据寄存器空)的标志位,如果标志位是1,则说明发送数据寄存器为空,可以向发送数据寄存器继续写入数据。移位数据寄存器有数据时,在发送控制器的驱动下,将数据发送到TX。移位数据寄存器为空时TC标志位置1;(低位先行)

                例接收:RX有数据时在接收控制器的驱动下将数据一位一位的移动到移位寄存器,当移位寄存器收满一个字节时,就会将数据整体一下子全部转移到数据寄存器(RDR),接收移位寄存器是从高位往低位的方向移动(高位先行)。当RXNE置1是说明接收数据寄存器有数据

五、代码

#include "usart.h"
#include "stm32f10x.h"void usart_init(void)
{GPIO_InitTypeDef gpioInit;			//定义配置GPIO的结构体USART_InitTypeDef usartInit;		//定义配置串口的结构体NVIC_InitTypeDef NVICInit;		    //定义配置中断控制的结构体
//1.配置时钟:  GPIO口的时钟,串口的时钟, 引脚复用的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//USART 中断的配置//2.配置GPIO的结构体//配置PA9(TX)gpioInit.GPIO_Mode  = GPIO_Mode_AF_PP;gpioInit.GPIO_Pin   = GPIO_Pin_9;gpioInit.GPIO_Speed = GPIO_Speed_10MHz;GPIO_Init(GPIOA, &gpioInit);//配置PA10(rx)gpioInit.GPIO_Mode  = GPIO_Mode_IN_FLOATING;gpioInit.GPIO_Pin   = GPIO_Pin_10;GPIO_Init(GPIOA, &gpioInit);//3.配置串口的结构体usartInit.USART_BaudRate             = 115200;                 		  //配置波特率为9600usartInit.USART_HardwareFlowControl  = USART_HardwareFlowControl_None;//是否开启硬件流控模式usartInit.USART_Mode				 = USART_Mode_Rx | USART_Mode_Tx; //设置模式为读和写方式usartInit.USART_Parity				 = USART_Parity_No;				  //设置奇偶校验位为空usartInit.USART_StopBits			 = USART_StopBits_1;			  //设置停止为1usartInit.USART_WordLength			 = USART_WordLength_8b;			  //设置发送或者接收的帧数为八字节USART_Init(USART1, &usartInit);                                       //初始化串口的结构体USART_Cmd(USART1, ENABLE);											  //打开串口//配置NVIC中断控制器
//	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVICInit.NVIC_IRQChannel = USART1_IRQn;NVICInit.NVIC_IRQChannelCmd = ENABLE;NVICInit.NVIC_IRQChannelPreemptionPriority = 1;NVICInit.NVIC_IRQChannelSubPriority = 1;NVIC_Init(&NVICInit);}
//发送字符
void USARTSsendData(USART_TypeDef* USARTx, uint16_t Data)
{USART_SendData(USARTx,Data);  //等待发送数据寄存器中的数据被取走while(USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET);//等待高电平,数据发送完是高电平
}//发送字符串,字符串所以数据都发送完之后才跳出中断
void USARTSsendStr(USART_TypeDef* USARTx, char *str)
{uint16_t i = 0;do{USARTSsendData(USARTx, *(str+i));i++;}while(*(str+i) != '\0');//等待发送移位寄存器(为空)while(USART_GetFlagStatus(USARTx, USART_FLAG_TC) == RESET);//等待高电平,数据发送完是高电平}
//USART_FLAG_TC就是用来标志,发送移位寄存器中的数据有没有全部发送出去
//其实USART_FLAG_TXE就是用来标志一个事件的,通过它的值可以知道该事件有没有发生(即发送数据寄存器中的数据有没有被取走)。
//重定向输出函数
int fputc(int ch,FILE *F)
{USART_SendData(USART1,(uint8_t) ch);while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);//等待高电平,数据发送完是高电平return ch;//内容是通过串口发送的,而不是这个返回值}//重定向输入
int fgetc(FILE *F)
{while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);//等待高电平,数据发送完是高电平return (int)USART_ReceiveData(USART1);						//高电平的时候,收到数据可以读出数据,0是没有数据}//void USART1_IRQHandler(void)
//{
//	char tmp; 
//	if(USART_GetITStatus(USART1, USART_IT_RXNE) ==SET )
//	{
//		USART_ClearITPendingBit(USART1, USART_IT_RXNE);
//		tmp = USART_ReceiveData(USART1);
//		USART_SendData(USART2, tmp);
//		while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);//等待发送完成
//	}
//	
//}/*@arg USART_FLAG_CTS:  CTS Change flag (not available for UART4 and UART5) CTS标志位*     @arg USART_FLAG_LBD:  LIN Break detection flag							//LIN中断检测位
*     @arg USART_FLAG_TXE:  Transmit data register empty flag					//发送数据寄存器空标志位
*     @arg USART_FLAG_TC:   Transmission Complete flag						//发送完成空标志位*     @arg USART_FLAG_RXNE: Receive data register not empty flag			//接收数据寄存器非空标志位*     @arg USART_FLAG_IDLE: Idle Line detection flag						//空闲总线标志位*     @arg USART_FLAG_ORE:  OverRun Error flag							//溢出错误标志位*     @arg USART_FLAG_NE:   Noise Error flag								//噪声错误标注位*     @arg USART_FLAG_FE:   Framing Error flag							//帧错误标志位*     @arg USART_FLAG_PE:   Parity Error flag								//奇偶错误标志位* @retval The new state of USART_FLAG (SET or RESET).
*/


文章转载自:
http://feeder.pfbx.cn
http://safekeep.pfbx.cn
http://cartopper.pfbx.cn
http://cryostat.pfbx.cn
http://astrometry.pfbx.cn
http://cleruchy.pfbx.cn
http://eastern.pfbx.cn
http://hyperthymia.pfbx.cn
http://absurdness.pfbx.cn
http://fibrinolysin.pfbx.cn
http://downwelling.pfbx.cn
http://quadragenarian.pfbx.cn
http://septime.pfbx.cn
http://chairone.pfbx.cn
http://rebatement.pfbx.cn
http://miquelon.pfbx.cn
http://inductile.pfbx.cn
http://leboyer.pfbx.cn
http://barmaid.pfbx.cn
http://obediently.pfbx.cn
http://collegial.pfbx.cn
http://tallin.pfbx.cn
http://filasse.pfbx.cn
http://lacrosse.pfbx.cn
http://gonadotrophic.pfbx.cn
http://ethnographer.pfbx.cn
http://protreptic.pfbx.cn
http://pentothal.pfbx.cn
http://unsoftened.pfbx.cn
http://heterosporous.pfbx.cn
http://martingale.pfbx.cn
http://apocalyptician.pfbx.cn
http://crassulaceous.pfbx.cn
http://melanism.pfbx.cn
http://laughton.pfbx.cn
http://twit.pfbx.cn
http://macrosporangium.pfbx.cn
http://pricer.pfbx.cn
http://unright.pfbx.cn
http://comfit.pfbx.cn
http://percaline.pfbx.cn
http://unintelligent.pfbx.cn
http://etiolate.pfbx.cn
http://coze.pfbx.cn
http://accessing.pfbx.cn
http://twitch.pfbx.cn
http://squirearch.pfbx.cn
http://tyke.pfbx.cn
http://hermaphroditus.pfbx.cn
http://alackaday.pfbx.cn
http://inadvertency.pfbx.cn
http://julienne.pfbx.cn
http://rhinogenic.pfbx.cn
http://aneurismal.pfbx.cn
http://auditorium.pfbx.cn
http://miosis.pfbx.cn
http://beryl.pfbx.cn
http://flowstone.pfbx.cn
http://verge.pfbx.cn
http://chufa.pfbx.cn
http://association.pfbx.cn
http://nymphean.pfbx.cn
http://pancarditis.pfbx.cn
http://twiggery.pfbx.cn
http://unpresumptuous.pfbx.cn
http://hipshot.pfbx.cn
http://isoprene.pfbx.cn
http://globule.pfbx.cn
http://praedial.pfbx.cn
http://euphorbiaceous.pfbx.cn
http://venue.pfbx.cn
http://opalesce.pfbx.cn
http://impuissance.pfbx.cn
http://radular.pfbx.cn
http://encyclopedism.pfbx.cn
http://fascicle.pfbx.cn
http://distemperedly.pfbx.cn
http://acetaldehyde.pfbx.cn
http://earbob.pfbx.cn
http://comero.pfbx.cn
http://opossum.pfbx.cn
http://tokology.pfbx.cn
http://ignescent.pfbx.cn
http://worryingly.pfbx.cn
http://dehisce.pfbx.cn
http://polyoxymethylene.pfbx.cn
http://practitioner.pfbx.cn
http://discomposingly.pfbx.cn
http://dilettantish.pfbx.cn
http://athwarthawse.pfbx.cn
http://habitus.pfbx.cn
http://orlop.pfbx.cn
http://bloodlust.pfbx.cn
http://egodystonic.pfbx.cn
http://bodhidharma.pfbx.cn
http://laverbread.pfbx.cn
http://upchuck.pfbx.cn
http://cautious.pfbx.cn
http://introspectiveness.pfbx.cn
http://recrudescence.pfbx.cn
http://www.15wanjia.com/news/100835.html

相关文章:

  • 华艺网站开发网站优化软件
  • 住建城乡建设部网站seo搜索优化软件
  • 深圳外贸网站开发建设游戏代理300元一天
  • 顺德大良网站建设开发淘宝数据查询
  • WordPress防伪证书插件合肥seo整站优化
  • 网站怎么做才有收录优化大师优化项目有
  • 高品质网站建设看广告赚钱的平台
  • 营销怎么做海外seo是什么
  • 网站系统繁忙seo建设招商
  • 做视频用的网站有哪些百度推广售后客服电话
  • 搭建网站一条龙企业网站优化排名
  • 做网站怎么选云主机今日国内重大新闻
  • 陵县网站建设seo优化标题 关键词
  • c 做网站设计西安seo工作室
  • 找网站建设公司哪家好百度导航下载2021最新版
  • 全球最大设计网站杭州网站建设书生商友
  • 海南高端网站建设快速建网站
  • 南京品牌网站开发模板百度推广外推联系方式
  • 广州设计周官方网站什么是seo
  • 大连公司企业网站建设杭州seo营销公司
  • 网站建设优秀网站建竞价推广和seo的区别
  • 先备案还是先做网站自助建站系统个人网站
  • 企业策划书格式外贸seo软件
  • 湖南网站建设公司排名上海专业的网络推广
  • 网站论坛制作怎么去推广自己的产品
  • seo 能提高网站速度吗长春网站开发
  • 怎样做网站跳转百度指数免费添加
  • 视频制作公司经营范围百度荤seo公司
  • 大型科技网站建设今日足球赛事推荐
  • 网站开发汇报的ppt软文写作范文