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

做设计必须知道的几个网站网络营销和电子商务的区别

做设计必须知道的几个网站,网络营销和电子商务的区别,中国最大的软件开发公司,网站构成的作用一、串口通信 通信的目的#xff1a;将一个设备的数据传送到另一个设备#xff0c;扩展硬件系统 通信协议#xff1a;制定通信的规则#xff0c;通信双方按照协议规则进行数据收发 STM32F103C8T6 USART资源#xff1a; 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写入一个0X550101 0101数据此时硬件检测到写入数据了数据在发送数据寄存器就会检查移位寄存器是否有别的数据在移位如果没有0x55就会整体全部进入移位数据寄存器当数据从TDR数据寄存器进入移位寄存器时会置一个TXETX 发送数据寄存器空的标志位如果标志位是则说明发送数据寄存器为空可以向发送数据寄存器继续写入数据。移位数据寄存器有数据时在发送控制器的驱动下将数据发送到TX。移位数据寄存器为空时TC标志位置低位先行 例接收RX有数据时在接收控制器的驱动下将数据一位一位的移动到移位寄存器当移位寄存器收满一个字节时就会将数据整体一下子全部转移到数据寄存器接收移位寄存器是从高位往低位的方向移动高位先行。当RXNE置是说明接收数据寄存器有数据 五、代码 #include usart.h #include stm32f10x.hvoid 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的结构体//配置PA9TXgpioInit.GPIO_Mode GPIO_Mode_AF_PP;gpioInit.GPIO_Pin GPIO_Pin_9;gpioInit.GPIO_Speed GPIO_Speed_10MHz;GPIO_Init(GPIOA, gpioInit);//配置PA10rxgpioInit.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, *(stri));i;}while(*(stri) ! \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://www.hkea.cn/news/14359547/

相关文章:

  • 个人网站模板h52022年今天新闻联播
  • 布吉做网站的公司wordpress首页显示vip标识
  • 手把手教你做网站腾讯企点多少钱一年
  • 怎么增加网站的外链电商网站建设收费
  • 如何新建自己的网站网站页面
  • 网站建设 保密达人室内设计网主页
  • 凡科建站官网免费注册ui界面素材
  • 晟阳建设官方网站福州百度代理
  • 纯静态网站怎么入侵万能证件p图
  • 网站开发方面的文献公司网站维护与更新
  • 外贸网站翻译建设织梦网站系统删除不了
  • 网站怎么看是什么程序做的移动网站建设
  • 手机网站开发前台架构求职简历模板免费下载
  • 做视频在哪个网站收益高福州2017网站建设
  • 以网站建设专业画一幅画建设游戏运营网站开展工作内容
  • 关于网站运营的问题电话销售怎么找客户渠道
  • 做抽奖网站合法吗西安做h5网站
  • 中国空间站即将建成企业oa网站建设方案
  • 怎样做私人网站滕州手机网站建设
  • 聊城网站优化案例湖南网站建设网
  • 网页建站费用mui做网站
  • 做零售的国外网站5118站长网站
  • 网站大图分辨率做多大专门下软件的app
  • 重庆网站制作1000北京城建建设工程有限公司
  • 做团购网站哪家好些如何再国外网站做折扣
  • 泰安网站建设收益八戒网设计官网
  • 安陆网站制作公司房产网签备案查询
  • 头像制作器在线制作长沙优化公司
  • 南宁网站推广哪家好公司名称可以变更吗
  • 西安做网站公司哪家好 应该怎么选择vps建两个网站要两个程序池吗