zoukankan      html  css  js  c++  java
  • XON/OFF

    #define XON 0x11
    #define XOFF 0x13查找ASCII码表,这两个对应的是DC1(设备控制1)和DC3(设备控制3)

    X/ON和X/OFF为开启和关闭发送器的信号。X /ON的实际信号为ASCII的Ctrl-Q键盘组合的位组合,X/OFF信号为Ctrl-S字符。在为计算机操作系统定义调制解调器时,可能需要用 XON/XOFF或CTS/RTS来指定流控制的使用。在发送二进制数据时,XON/XOFF可能不能识别,因为它被译成了字符。

     1 #define XON  0x11    /*Ctrl-Q*/
     2 #define XOFF 0x13 /*Ctrl-S*/
     3 
     4 void Xon_Xoffsend(unsigned char *buf,unsigned char len)
     5 {
     6     static unsigned short int NbrDataToTransfer =len;
     7     
     8     while(USART_ReceiveData(USART1)!=XON);
     9     while(NbrDataToTransfer--) 
    10     {        
    11         USART_SendData(USART1,TxBuffer[TxCounter++]);
    12         while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); //等待发送结
    13         if (USART_ReceiveData(USART1)==XOFF) 
    14         {
    15             while(USART_ReceiveData(USART1)==XON); 
    16         } 
    17     }
    18 }
    19 
    20 void RTS_CTS(void)
    21 {
    22     if (接收缓冲区为空) 
    23     {
    24         RTS =0 ;/*从机查询if(CTS ==0)则从机可以发送,否则停止发送*/
    25     }
    26     else 
    27     {
    28         RTS =1 ;
    29     }
    30     if (CTS ==0) /*由从机复位和置位*/
    31     {
    32         Mast_send;
    33     }
    34     else 
    35     {
    36         Mast_sendStop!;
    37     }
    38 }
    View Code

    RTS/CTS:

      用在RS232中为控制收发方向;用在协议中或UART中是硬件流控,https://www.cnblogs.com/zurphy/p/4910847.html

    没有串口控制器,用中断和普通IO口即可实现RTS与CTS功能。

    RTS用GPIO实现,串口就绪准备接收数据拉低电平,串口停止接收拉高电平

    CTS(是否可以发送数据,低电平有效)用中断实现,检测到低电平,将串口数据发送出去,检测到高电平则保留串口数据直到检测到低电平为止。

    硬件流控:

      单片机   设备

      RTS     ->CTS

           CTS     <-RTS

    扩展 ISP一键下载电路分析https://blog.csdn.net/hola_ya/article/details/81323743

  • 相关阅读:
    Docker虚拟机配置手札(centos)
    Nginx配置手札
    登录的顶号功能实现
    苹果登录服务端JWT算法验证-PHP
    mac Read-Only filesystem (转载)
    ssh公私钥登录/git公私钥认证
    crontab 定时访问指定url,定时脚本
    网站通用 敏感词列表
    游戏行业术语一览(2)--游戏运营转化率[转载]
    <转载>为什么VR不可能成功?
  • 原文地址:https://www.cnblogs.com/jieruishu/p/7081116.html
Copyright © 2011-2022 走看看