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

语法: value=kbhit( );和 value=kbhit( stream );

KBHIT( )是PIC CCS编译器中PIC单片机的专有函数。

语法:   value=kbhit( );

        value=kbhit( stream );

参数:   将stream这个id分配成可访问的RS232端口;若没有参数stream,该函数将getc()用作最初的stream,即默认参数为getc();

返回值:  如果getc()将要等待一个字符进来,则kbhit( )的返回值为0(或FALSE);

         如果一个字符对于接收函数getc()来说已经准备好了,则kbhit( )的返回值为1(或TRUE);

功能:   如果一个字符的开始位已经通过RS232的RCV脚发送出去,RS232在软件控制下,使kbhit( )返回TRUE; 如果一个字符已经被接收了,且在硬件缓冲区等待getc()来读取时,则RS232采用硬件使得kbhit( )返回TRUE; kbhit( )常用来检测不带停止位的数据,且等待数据出现.注意:在RS232软件控制的情况下, kbhit( )函数至少被调用10次,目的是保证数据不被丢失.

有效性: 适合所有的设备.

要求:   必须包含#use rs232这样的语句,才可使能kbhit( )函数;

例子:   char  timed_getc(){

long  timeout;   //声明暂态长整型变量timeout

timeout_error=FALSE;   //将timeout_error赋初值FALSE

timeout=0;

while(!kbhit( ) && (++timeout<50000) )

      delay_us(10);  //延时为10usX50000,即0.5s

if( kbhit( ) )  return( getc() ); //如果一个字符已经被接收了kbhit()返回1;

else{

    timeout_error=TRUE;  //若没有接收到数据,则将timeout_error赋TRUE

    return(0);

}

        }

例子文件: ex_tgetc.c;

相关文章:

  • 10天速通强化学习-009--DDPG、SAC、TD3
  • 闭包和装饰器
  • 工业自动化领域边缘计算机崛起:PLC 替代之势渐显
  • 基于spring boot 鲜花销售系统PPT(源码+lw+部署文档+讲解),源码可白嫖!
  • 微软主要收入云计算,OFFICE,操作系统和游戏10大分类
  • 【项目管理】第2章 信息技术发展 --知识点整理
  • AutowiredAnnotationBeanPostProcessor
  • AIDD-人工智能药物设计-双扩散模型结合多目标优化策略助力3D小分子药物设计
  • 产品经理课程
  • Go语言常用算法实现
  • c++进阶--c++11
  • 更详细的广度优先搜索合集
  • LLM-大语言模型浅谈
  • 【Python使用】嘿马python数据分析教程第3篇:全渠道业务概述,目的,获取数据,连带率【附代码文档】
  • 浔川代码编辑器v1.1.0(测试版)使用教程
  • Python学习之numpy
  • JSX、支持HTML标签、Ref的使用、虚拟DOM的使用
  • 设计模式 Day 3:抽象工厂模式(Abstract Factory Pattern)详解
  • xv6 内存管理
  • 存储模块cache
  • flash网站项目背景/十大互联网平台
  • 有没有教做化学药品的网站/宁波seo推广定制
  • 学做网站的视频/竞价代运营
  • 武汉哪些网站做免费广告/微信营销软件手机版
  • 湘西网站建设/建立网站有哪些步骤
  • 建立网站第一步怎么做/网页制作成品模板网站