ecos增值包应用举例---视频监控终端方案

从 H.264/AAC Packet 到 MP4:FFmpeg Muxer 深度解析 编码器解决的是“如何压缩”,muxer 解决的是“如何组织”。本文以中的Mp4Muxer为主线,解释 FFmpeg muxing 的对象模型、生命周期、时间基和边界条件。 阅读详情
gdtyy 发表于 2007-3-16 10:12 ZLG-ARM ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

*****************************************
* ecos增值包应用举例---视频监控终端方案 *
*****************************************
    2007/03/15  asdjf@163.com  www.armecos.com
    
    ecos增值包提供了多线程调度、文件系统、TCP/IP协议栈、图形用户界面等完整功能,裁减配置能力强,特别适合中高端嵌入式应用开发。税控机、行驶记录仪、视频监控终端、网络传输设备等都可以考虑使用ecos平台简化设计,减少代码量。
    
    下图是一个视频监控终端示意图:
    
    
                        键盘、烟雾/温度/红外传感器、I/O输出控制
                          -------------------------------
                          |       DMA/中断              |--------->蓝牙模块
    四路视频输入--------->| SAA7111     视音频          |--------->以太网Ethernet
    一路音频输入/输出---->| A/D、D/A   编解码器   MCU   |--------->GPRS、CDMA串口
                          |                    RTC      |
                          -------------------------------
                          硬盘/CF卡/SD卡/USB存储设备
    
    此系统包括四路视频输入(一路选通,支持CMOS摄像头、PAL/NTSC/用户自定义制式);一路音频输入输出;多种大容量存储外设,满足配置文件和视频文件存储;输入输出I/O设备;各种传感器探测;网络通信部分,满足远近距离音视频传输。
    系统内部由A/D、D/A转换器,视音频编解码器,MCU子系统组成。
    
    对于这么一个小系统,使用ecos增值包来设计是非常方便的。
    
    存储设备:直接挂装文件系统,mount /hd、/cf、/sd、/usb,然后利用标准的文件操作函数读写各种介质上的数据。(项目进度可控)
    
    输入输出设备:采用《第二讲硬件IO操作》和《第三讲ecos中断操作》可以非常容易地实现输入输出控制。键盘中断结构直接抄模板,I/O操作使用宏,便于移植。(项目进度可控)
    
    网络传输设备:采用《第六讲串口操作》,将GPRS/CDMA的MODEM串口挂装到/dev/ser1上,ecos自动枚举串口,会自动识别出MODEM串口和各种版本的16C55x工业标准,编译时已经配置好是否需要RAM缓冲区及其大小(带缓冲区的自动基于中断驱动),用户只要操作抽象的串口文件即可。ecos自带完整协议栈,支持PPP、UDP、TCP,用户只要使用标准的socket编程(多播、组播、RTP/RTCP)即可。(项目进度可控)
    
    A/D、D/A设备:视频数据量大,采用DMA能大大减少压栈、出栈操作,提高效率。中断操作参考《第三讲》。SAA7111采用I2C接口,操作复杂,适宜使用C++编程,参考《第十三讲 宏、汇编、C和C++混合编程》。抽象I2C、EEPROM和SAA7111为C++对象:
    
//======================================================
    class CIICBus
    {
    private:
        //for video iic
        //for eeprom iic
        
    public:
        CIICBus(int who );
        
        void  SCLOut( IIC_LEVEL Level );
    void  SDAOut( IIC_LEVEL Level );
    IIC_LEVEL  SCLIn( void );
    IIC_LEVEL  SDAIn( void );
    void  BusDelay( int Count );

    BOOL  CheckBusState( void );
    void  BusStart( void );
    void  BusRepeatStart( void );
    void  BusStop( void );
    void  WriteByte( unsigned char Data );
    void  ReadByte( unsigned char &Data );
    BOOL  GetAck( void );
    void  SetAck( IIC_LEVEL );
        static void  Init();
        static void  Lock();
        static void  Unlock();
    };
//======================================================
    class CEeprom : public CIICBus
    {
    private:
    cyg_mutex_t hMutex;
    public:
    CEeprom();  //:CIICBus( 0 ) { BusStop(); }
    public:
    void Init();
    int Write( unsigned char *buf, unsigned char pos, unsigned char size );
        int Read( unsigned char *buf, unsigned char pos, unsigned char size );
    };
//======================================================
    class CSAA7111 : public CIICBus
    {
    private:
#ifdef __ECOS__
        //寄存器地址
#endif
    protected:
        unsigned int  m_BusTimeout;
    
    public:
        CSAA7111( unsigned int DelayConst = 10, unsigned int BusTimeout = 3 )
        :CIICBus(1), m_BusTimeout( BusTimeout )   {}  

#ifdef __ECOS__
        void  Reset( void );
        void  PowerSave( BOOL Enable );
        void  ForbidOutput( BOOL Enable );  // operate CE, not FEI#
#endif

    public:
        BOOL  Initialize( void );
        BOOL  WriteReg( unsigned char Reg, unsigned char Data );
        BOOL  ReadReg( unsigned char Reg, unsigned char &Data );
        BOOL  SetVideoSource( int CamNo );
        BOOL  GetVideoSource( int &CamNo );
        BOOL  CheckVideoSingal( );
        void  SetBusTimeout( unsigned int BusTimeout  ) { m_BusTimeout = BusTimeout; }
        void  GetBusTimeout( unsigned int &BusTimeout ) { BusTimeout = m_BusTimeout; }
    };
    
    对象化的SAA7111操作接近人类的思维习惯,初始化、读写寄存器、设置视频源、检测视频信号等思路非常清晰。利用《第十二讲 多目录下makefile的通用写法》中介绍的宏定义可以根据实际情况调节代码,如“#ifdef __ECOS__”。
    
    视音频编解码器:采用自行设计的ASIC芯片HJV进行H.264视频压缩,视频编码器寄存器种类繁多,采用面向对象的设计方法可以保证代码质量。
    
    class CHJVCodec
    {
    private:
        // HJ602 status
        // Video input
        // Display generation
        // Video output
        // Codec operation    
        // Chip operation
        // video buffer management
    public:
        void WriteDecBuf
        void WriteDecBuf
        int ReadDecBuf

    private:
        void ValueBitrate
        void ValueChunkThreshold

    public:
        CHJVCodec

        // Chip IO
#ifdef _ECOS_
        void ReadReg
        void WriteReg
        void WriteRegNoMask
        void ReadDram
        void ReadDram
        void WriteDram
        void WriteDram
        void Vstrm_Out
        void GetStatus
        int CheckHW
#endif
        void ReadTLB
        void WriteTLB
        void RegDump

        // Chip Initialization
#ifdef _ECOS_
        void HwReset
        void SwReset
#endif
        void Initialize
        void InitReg
        void InitTLB

    // Clock Setting
    void SetClock
    void PowerSave

        // Video Input
        void SetViControl
        void SetViFilter
        void SetViSource
        void SetViTvFormat
        BOOL SetViScaling
        BOOL SetEncImgSize
        void SetDecImgSize

        // Codec Operation
        void SetIPFrame
        void SetAlgorithm
        void EncFastUpdate
        void SetEncVideoMode
        void SetEncPolicy
        void SetEncBitRate
        void SetStatisticsCtl
        void SetMBFresh

        // Display Generation
        void SetDeBlock
        void SetPipSrc
        void SetPipBorder
        void SetPipPos
        void SetPipScaling
        void SetPipBitmapSize
        void SetPipMirror
        void MainMirror
        void SetOSDCtl
        void SetFrameBufSize
        void SetDispScaling
        void SetDispUpdate
        void ManualUpdate

        // Display Interface
        void SetVoTvFormat
        void SetRGBDAC
        void SetDvOut
        void SetDoubleImgSize
        void SetPixelFetch
        void SetDispTiming
        void SetDispMode
        void SetDispLayout

        // Chip Operation
#ifdef _ECOS_
        void SetOperationMode
#endif     
        void SetHwIntLoop

        // Member data retrievel    
        void GetDramSize
        void GetClock
        void GetViSource
        void GetViControl
        void GetViFilter
        void GetViScaling
        void GetEncImgSize
        void GetDecImgSize
        void GetIPFrame
        void GetAlgorithm
        void GetEncVideoMode
        void GetEncPolicy
        void GetEncBitRate
        void GetStatisticsCtl
    
        void GetDeBlock
        void GetPipCtl
        void GetMirror
        void GetOsdCtl
        void GetFrameBufSize
        void GetDispUpdate
        void GetVoCtl
        void GetOperationMode
        void GetHwIntLoop

        void SetEncodeMode
        void StartEncoding
        void SetVideoFormat
        void SetFrameRate
        void SetEncQuality
        void SetIFrameInterval
        void ResetBuffer
    };
    
    经过H.264和g.723.1/g.729压缩的视音频数据加上H.245控制经H.223合路,就可以实现串型码流的音频、视频、数据同时传输,Windows上的DirectX可以直接解码此音视频流数据。ecos库里带有H.264、MP4、MP3、G系列音视频编解码库,但软件运行太慢,即使DSP也显得芯片面积太大了,这里使用一小颗视音频编解码ASIC芯片。不过合路时的数据量仍然很大,对MCU速率有较高要求。
    因为网络传输速率可变,所以需要实时调整视频源编码速率,以保证视频的连续实时,此时,要用到《第十讲 时间管理》里介绍的时间相关函数辅助计算编码速率,按照码源速率控制算法控制数据生成。
    在访问一些临界资源时要采用《第十一讲 同步原语》介绍的同步函数进行控制。
    
    好了,这只是ecos增值包的一个简单应用例子,介绍它的目的主要是让使用者明白文档中各章节的讲解是如何与实际项目联系起来的。以后再介绍行使记录仪的方案、路由器方案、VPN/防火墙方案等。
    
    总之,ecos是一个不错的平台,学习和使用ecos增值包很有益处。
 
ecos增值包 ecos是有名的嵌入式RTOS,这个包里是相关的文档 立即下载

相关推荐

2026年AI大模型面试题整理(含答案).zip

2026年AI大模型面试题整理(含答案),共76份。供大家学习参阅。 AI大模型八股文(102).pdf Transformer面试题总结97道.pdf 大模型 LLM 最全八股和答案.pdf 大模型 RAG 经验面.pdf 大模型LLMS面试宝典.pdf 大模型岗位面试全纪录.pdf 大模型常考面试题总结+答案.pdf 大模型常见面试题及解答1.pdf 大模型常见面试题及解答2.pdf 大模型常见面试题及解答3.pdf 大模型校招面试题.pdf 50个精通AI大模型面试题.pdf 52道大模型八股文面试题\1-大模型(LLMs)基础面.docx 52道大模型八股文面试题\10-LLMs+训练经验帖.docx 52道大模型八股文面试题\11-大模型(LLMs)langchain+面.docx 52道大模型八股文面试题\12-多轮对话中让AI保持长期记忆的8种优化方式篇.docx 52道大模型八股文面试题\13-基于langchain+RAG问答应用实战.docx 52道大模型八股文面试题\14-基于LLM+向量库的文档对话+经验面.docx 52道大模型八股文面试题\15-大模型+RAG+经验面.docx 52道大模型八股文面试题\16-LLM文档对话+——+pdf解析关键问题.docx 52道大模型八股文面试题\17-大模型(LLMs)RAG+版面分析——表格识别方法篇.docx 52道大模型八股文面试题\18-大模型(LLMs)RAG+版面分析——文本分块面.docx 52道大模型八股文面试题\19-大模型外挂知识库优化——如何利用大模型辅助召回?.docx 52道大模型八股文面试题\2-Layer+normalization+篇.docx 52道大模型八股文面试题\20-大模型外挂知识库优化——负样本样本挖掘篇.docx 52道大模型八股文面试题\21-RAG(Retrieval-Augmented+Generation)评测面.docx 52道大模型八股文面试题\22-检索增强生成(RAG)+优化策略篇6.docx 52道大模型八股文面试题\23-大模型(LLMs)RAG+——+关键痛点及对应解决方案.docx 52道大模型八股文面试题\24-大模型(LLMs)RAG+优化策略+——+RAG-Fusion篇.docx 52道大模型八股文面试题\25-Graph+RAG+面+—+一种+基于知识图谱的大模型检索增强实现策略.docx 52道大模型八股文面试题\26-大模型(LLMs)参数高效微调(PEFT)+面.docx 52道大模型八股文面试题\27-适配器微调(Adapter-tuning)篇.docx 52道大模型八股文面试题\28-提示学习(Prompting)篇.docx 52道大模型八股文面试题\29-LoRA+系列篇.docx 52道大模型八股文面试题\3-LLMs+激活函数篇.docx 52道大模型八股文面试题\30-如何使用+PEFT库+中+LoRA?.docx 52道大模型八股文面试题\31-大模型(LLMs)推理面.docx 52道大模型八股文面试题\32-大模型(LLMs)增量预训练篇.docx 52道大模型八股文面试题\33-增量预训练(Pretrain)样本拼接篇.docx 52道大模型八股文面试题\34-基于lora的llama2二次预训练.docx 52道大模型八股文面试题\35-大模型(LLMs)评测面.docx 52道大模型八股文面试题\36-大模型(LLMs)强化学习面.docx 52道大模型八股文面试题\37-大模型(LLMs)强化学习——RLHF及其变种面.docx 52道大模型八股文面试题\38-大模型(LLMs)强化学习——+PPO+面.docx 52道大模型八股文面试题\39-强化学习在自然语言处理下的应用篇.docx 52道大模型八股文面试题\4-Attention+升级面.docx 52道大模型八股文面试题\40-大模型(LLMs)训练集面.docx 52道大模型八股文面试题\41-大模型(LLMs)LLM生成SFT数据方法面.docx 52道大模型八股文面试题\42-大模型(LLMs)显存问题面.docx 52道大模型八股文面试题\43-显存优化策略篇.docx 52道大模型八股文面试题\44-大模型(LLMs)分布式训练面.docx 52道大模型八股文面试题\45-图解分布式训练(一)+——+流水线并行(Pipeline+Parallelism).docx 52道大模型八股文面试题\46-图解分布式训练(二)+——+nn.DataParallel篇.docx 52道大模型八股文面试题\47-图解分布式训练(三)+——+nn.parallel.DistributedDataParallel.docx 52道大模型八股文面试题\48-图解分布式训练(四)+——+torch.multiprocessing+详细解析0.docx 52道大模型八股文面试题\49-图解分布式训练(五)+——+AMP混合精度训练+详细解析.docx 52道大模型八股文面试题\5-transformers+操作篇.docx 52道大模型八股文面试题\50-图解分布式训练(六)——+Pytorch的+DeepSpeed+详细解析.docx 52道大模型八股文面试题\51-图解分布式训练(七)——+accelerate+分布式训练+详细解析.docx 52道大模型八股文面试题\52-图解分布式训练(八)——+ZeRO+学习.docx 52道大模型八股文面试题\6-LLMs+损失函数篇.docx 52道大模型八股文面试题\7-相似度函数篇.docx 52道大模型八股文面试题\8-大模型(LLMs)进阶面.docx 52道大模型八股文面试题\9-大模型(LLMs)微调面.docx 李老师AI大模型面试题资料\Agent Loop&Loop Engineering面试10连问.md 李老师AI大模型面试题资料\Agent Loop面试10连问.pptx 李老师AI大模型面试题资料\AI大模型面试题.png 李老师AI大模型面试题资料\DeepSeek Harness 10连问.pptx 李老师AI大模型面试题资料\FDE岗位常见面试题.pptx 李老师AI大模型面试题资料\Milvus3.0新特性.pptx 李老师AI大模型面试题资料\RAG码士学习平台知识库项目.png 李老师AI大模型面试题资料\RAG码士学习平台知识库项目.pptx 连老师AI大模型面试资料\Langchain.txt 连老师AI大模型面试资料\连老师LangChain面试题:httpscloud.fynote.comsharesZUIogPG4.txt

嵌入式可配置实时操作系统eCos

eCos是为嵌入式应用设计的无版税开放源代码的实时操作系统。eCos的高度可配置性,允许对操作系统进行定制,以精确地匹配应用需求,提供最佳运行时性能和最少硬件资源占用。一个欣欣向荣的网络社区已经围绕eCos成长起来,可以确保持续的技术创新和广泛的平台支持。——eCos官网对eCos的介绍 mingdu.zheng <at> gmail <dot> comhttp://...

zoomdy's blog 1万+

政府科技管理者如何保障科技成果评价的公正透明?.docx

政府科技管理者如何保障科技成果评价的公正透明?

Linux 使用pppd和ppp程序进行3G/4G拨号

试验环境:Linux marsboard 3.4.90 #9 SMP PREEMPT Thu Mar 3 18:28:43 CST 2016 armv7l armv7l armv7l GNU/Linux (注:A20核心板)       通讯模块,加载成ttyUSB*设备; 目标:使用通讯模块进行3G4G拨号连接互联网 方法:使用pppd和ppp程序,进行拨号连接 前提:安装了p...

weixin_30567471的博客 700

【Web服务器运维】基于Nginx与Keepalived的高可用负载均衡系统部署:实现故障自动切换与虚拟IP管理

内容概要:本文详细介绍了如何通过Nginx与Keepalived实现高可用的负载均衡架构。首先讲解了Nginx的安装部署流程,包括依赖环境的准备、源码解压编译、启动及配置重载;接着介绍了Keepalived的安装步骤及其服务管理方式;重点在于通过配置Keepalived的主备节点(MASTER/BACKUP),结合VRRP协议和虚拟IP(VIP)实现故障自动切换,并通过自定义脚本nginx_check.sh实时检测Nginx运行状态,确保服务高可用;最后补充了在云环境中因组播限制导致心跳不稳定时,应改用单播(unicast)方式进行通信的解决方案。; 适合人群:具备Linux系统操作基础、熟悉网络基础知识,从事运维、DevOps或Web服务部署的技术人员,尤其是工作1-3年的工程师。; 使用场景及目标:①搭建高可用的Web负载均衡系统,避免单点故障;②掌握Nginx与Keepalived协同工作的原理与实战配置方法;③应用于生产环境中提升服务稳定性与容灾能力。; 阅读建议:学习时应结合实验环境动手操作,重点关注keepalived.conf配置差异与nginx_check.sh脚本逻辑,理解VRRP机制及单播替代组播的实际应用场景,注意根据实际网络环境调整IP与网卡参数。

三电平Buck直流变换器双闭环、单闭环、开环仿真【附参考文献】(Simulink仿真实现)

内容概要:本文档系统介绍了三电平Buck直流变换器在Simulink环境下的开环、单闭环与双闭环控制系统的建模仿真方法,涵盖系统建模、控制策略设计及动态性能对比分析。通过构建不同控制结构,深入探讨电压调节精度、系统响应速度、抗干扰能力及稳定性差异,重点剖析双闭环控制中电压外环与电流内环的协同作用机制,揭示其在抑制输出纹波、提升负载适应性方面的优势,帮助读者掌握多电平DC-DC变换器的核心控制原理与工程实现技术;文档还提供了详实的仿真参数设置与参考文献,便于理论验证与实践复现。; 适合人群:电力电子、自动化、电气工程及其相关专业的高校本科生、研究生、科研人员,以及从事电源系统、新能源变换器开发的工程技术人员。; 使用场景及目标:①作为高校电力电子课程的教学案例,辅助学生理解Buck变换器多层次控制策略的设计思路与性能差异;②为科研项目中高效直流变换系统的仿真研究提供可复用的技术模板;③指导工业界在高精度电源设计中优化控制器参数,提升系统动态响应与稳定性。; 阅读建议:建议结合Simulink仿真模型同步操作,对照文档逐步搭建各控制结构,重点观察不同闭环配置下输出电压的瞬态与稳态表现,深入理解PI参数整定、环路耦合影响及系统频域特性的关联性,从而全面提升对电力电子系统控制设计的综合把握能力。

关于ADS的优化与全局变量

这两个星期在LPC2214上调一些代码,前几天调试感觉代码稳定性特别差,同样的代码不做任何改动从新编译一次就有可能造成程序不能执行。后来逐渐发现了原因,在ADS中设置全局变量很可能造成代码不稳定甚至不能运行。而且编译器的优化可能会造成很多毛病,同样的代码 我用-O2编译能够正常运行,但是用-O0编译就不能正常执行。后来把容易造成错误的全局变量全部用VOLATILE声明,但是结果仍然不理想,最后是在

WishMaster 7199

国央企创新负责人如何实现科技成果的全流程数字化管理?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

搭建ecos开发环境

<br />虽然可以按照ecos官方网站的文档说明来安装ecos的开发环境,但我仍然自己手动完成了ecos开发环境的建立,就算是练练手吧。<br /> <br />按照ecos文档的安装方法:<br /> <br />wget --passive-ftp ftp://ecos.sourceware.org/pub/ecos/ecos-install.tcl<br /> <br />sh ecos-install.tcl<br /> <br />手动安装:<br /> <br />1、下载ecos源码,用cv

newkelt的专栏 3904

高校技术转移办公室人员在推介成果转化时,如何实现技术成果的精准呈现?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

单相PWM整流器基于直流电流控制+虚拟dq两种闭环控制仿真【2个仿真+参考资料】

内容概要:本文系统介绍了单相PWM整流器的两种主流闭环控制策略——基于直流电流控制和虚拟dq坐标系控制,配套提供了两个完整的Simulink仿真模型及相关参考资料。资源聚焦于控制系统的设计原理与实现细节,深入剖析电压外环与电流内环构成的双闭环结构,旨在实现高功率因数运行、直流侧电压稳定以及优异的动态响应性能。通过对两种控制方法的建模、仿真与对比分析,帮助使用者全面理解其在控制精度、抗扰动能力、系统稳定性及工程实用性等方面的差异与适用场景。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的本科生、研究生,以及从事新能源发电、电力变换系统、电能质量治理等领域研发工作的工程技术人员。; 使用场景及目标:①学习和掌握单相PWM整流器的基本工作原理、数学建模与主电路设计方法;②深入理解直流电流控制与虚拟dq控制的核心思想、实现流程及其在实际系统中的优缺点与应用场景差异;③为毕业设计、课程设计、科研课题或工业级产品开发提供可靠的仿真平台和技术参考依据。; 阅读建议:建议结合Simulink仿真模型与参考资料进行同步学习,动手调整控制器参数并观察系统动态响应变化,以深化对控制策略的理解;在掌握单相系统基础上,可进一步拓展学习三相PWM整流器、图腾柱PFC、Vienna整流器等先进拓扑及其控制技术,逐步构建完整的电力电子变换器控制知识体系。

ppp的linux移植及ppp0的路由设置

1、首先先下载ppp-2.4.4 2、交叉编译, 首先./configure 之后make CC=arm-linux-gcc(在configure时,试过--host=arm-linux-gcc,发现不好用就在这里加了) 3、编译完成后, 将pppd,chat复制到/usr/sbin目录下, 4、配置 4.1 修改源代码scripts目录下的ppp-on pp

tietao的专栏 2万+

产业园区运营负责人如何实现科技资源的高效配置与联动?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

《ecos增值包》之FAT文件系统篇

《ecos增值包》之FAT文件系统篇 ********************************* * 《ecos增值包》之FAT文件系统篇 * ********************************* ---FAT12/16/32在SD/MMC/CF/HDD等介质上的实现 2007/10/28 as...

weixin_30305735的博客 202

产业园区在推动科技成果转化时,如何精准匹配企业与技术供给方?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员如何提升技术成果的转化效率与市场对接成功率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

上一篇: 计数器(Counter)、时钟(Clock)、告警器(Alarm)、定时器(Timer)
下一篇: TCP编程
aaaaatiger
博客等级 码龄20年 535粉丝 627原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值