tag 标签: 实现

相关博文
  • 热度 16
    2015-4-20 18:22
    1608 次阅读|
    0 个评论
    以前发过两版简易的串口printf函数实现,最近学习了一段时间Linux的库文件,回过头又有不同的理解。 这一版函数基于MSP430F169,%d %x %o %b的实现不再由自己编写函数,而是调用MSP430-GCC的标准库函数: #include char *itoa(int num, char *str, int radix); send_fun函数指针,指向调用的UARTx的字节发送函数: void uart_printf(send_fun fun, char *fmt, ...) {         char *pnt = (char *)fmt + sizeof(fmt);         char *str, buf ;         int radix;         while (*fmt != '\0') {                 if (*fmt != '%') {                         fun(*fmt);                         fmt += 1;                         continue;                 }                 switch (*(fmt + 1)) {                 case 'c':                         fun(*((int *)pnt));                         pnt += sizeof(int);                         fmt += 2;                         continue;                 case 's':                         str = (char *)*((int *)pnt);                         while (*str != '\0')                                 fun(*str++);                         pnt += sizeof(int);                         fmt += 2;                         continue;                 case 'd':                         radix = 10;                         goto SEND_NUM;                 case 'x':                         radix = 16;                         goto SEND_NUM;                 case 'o':                         radix = 8;                         goto SEND_NUM;                 case 'b':                         radix = 2;                         goto SEND_NUM; SEND_NUM:                         str = itoa(*(int *)pnt, buf, radix);                         while (*str != '\0')                                 fun(*str++);                         pnt += sizeof(int);                         fmt += 2;                         continue;                 default:                         break;                 }         } } 实际上,库stdio.h中也提供了printf的实现,直接调用它们就可以了: int __attribute__((format (printf, 2, 3))) uprintf(int (*func)(int c), const char *fmt, ...);  
  • 热度 18
    2013-9-25 21:12
    3239 次阅读|
    0 个评论
      本安电源 原理与设计           本安电源即本质安全型输出电源,属于有本质安全性保护的电气设备(GB3836.4)。 通过控制设备本身能量水平,使其在正常工作或故障条件下产生的电火花能量均低于点燃爆炸性气体的临界条件,而不用通过其他方式(如隔爆)屏蔽或阻拦。     通过限制电气设备电路的各种参数,或采取保护措施来限制电路的火花放电能量和热能,使其在正常工作和规定的故障状态下产生的电火花和热效应均不能点燃周围环境的爆炸性混合物,从而实现了电气防爆,这种电气设备的电路本身就具有防爆性能,也就是从“本质”上就是安全的,故称为本质安全型。采用本安电路的电气设备称为本质安全型电气设备。     由于本安型电气设备的电路本身就是安全的,所产生的火花、电弧和热能都不会引燃周围环境爆炸性混合物,因此本安型电气设备不需要专门的防爆外壳,这样就可以缩小设备的体积和重量,简化设备的结构。同时本安型电气设备的传输线可以用胶质线和裸线,可以节省大量电缆。因此,本安型电气设备具有安全可靠、结构简单、体积小、重量轻、造价低、制造维修方便等特点,是一种比较理想的防爆电气设备。但由于本安型电气设备的最大输出功率为25W左右,因而使用范围受到了限制。目前本安型电气设备主要用于通讯、监控、信号和控制系统,以及仪器、仪表等。    本安电源为本安设备(传感器,变送器,执行器等)提供电源。一个系统或者设备要达到本安的条件,电源输出必须达到本质安全的要求,而且电源和设备连接工作后整体需要达到本质安全的要求。实现本质安全的措施即限制电源在个中状态下的能量,记载正常工作情况下和故障状态下的火花放电能量。具体措施包括电流限制,电压限制,过电压限制。     图一给出一种本质安全电源的功能结构框图。   图1 本质安全电源的结构框图     图2给出图1中 本质安全管理模块的原理框图。   图2  为 本质安全管理模块的原理框图。       如图1图2所示,本安电源包括 输入模块、隔离型DC-DC稳压变换模块 (又叫DC-DC电源隔离模块) 本质安全管理模块、状态指示模块。所述本质安全管理模块包括两个电流检测单元、两个电压检测单元和两个快速关断单元, 本质安全管理模块为核心模块,当出现人为故障或输出短路故障或者外接负载接通和断开瞬间,本质安全管理模块保证所产生的电火花的能量不致于点燃环境中的爆炸物质。    对于输出能量小的本安电源还有一种简单的处理方式,如图3 友情链接: http://only-1s.taobao.com/  
相关资源
  • 所需E币: 1
    时间: 2024-4-23 19:52
    大小: 321.79KB
    上传者: 张红川
    电容是如何实现滤波的?.docx
  • 所需E币: 0
    时间: 2024-5-11 16:03
    大小: 1.71KB
    下面给大家讲讲关于Springboot3+Vue3实现副业(创业)智能语音项目开发的整个操作流程,希望对大家的学习有所帮助!一、Vue3的操作流程和执行步骤2.1安装VueCLI在开始使用Vue3之前,首先需要安装VueCLI。通过命令行运行npminstall-g@vue/cli来进行安装。2.2创建Vue项目运行vuecreateproject-name(你的项目名称)命令来创建一个新的Vue项目。在项目创建过程中,可以选择使用默认配置或者手动配置项目。2.3编写Vue组件在Vue项目中,我们可以使用Vue的单文件组件(.vue文件)来编写前端组件。通过Vue的语法,我们可以实现各种交互和数据绑定。2.4运行Vue项目在项目根目录下运行npmrunserve命令,即可启动Vue的开发服务器,并在浏览器中查看项目运行效果。二、SpringBoot3的操作流程和执行步骤3.1环境搭建首先,确保已经安装了Java开发环境和Maven构建工具。然后,下载并安装SpringToolSuite(STS)来进行SpringBoot项目的开发。3.2创建SpringBoot项目在STS中,通过选择"File->New->SpringStarterProject"来创建一个新的SpringBoot项目。在创建过程中,可以选择项目的依赖和配置。3.3编写Controller和Service在SpringBoot项目中,我们可以通过编写Controller来处理前端请求,并通过Service来处理业务逻辑。使用注解来标识Controller和Service。3.4运行SpringBoot项目在STS中,右键点击项目,并选择"RunAs->SpringBootApp"来运行SpringBoot项目。SpringBoot会自动启动嵌入式的Tomcat服务器,并监听指定的端口。三、项目创建使用idea创建spring新建项目选择springinitializr,选择Maven打包方式选择jar,点击下一步选择3.0及其以上版本选择web下的springweb打开pom.xml  <dependencies>    <!--web起步依赖-->    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-test</artifactId>      <scope>test</scope>    </dependency>  </dependencies>  <!--boot工程的父工程,用于管理起步依赖的版本-->  <parent>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-parent</artifactId>    <version>3.2.1</version>    <relativePath/><!--lookupparentfromrepository-->  </parent>四、spring工程创建手动创建Boot工程创建项目选择MavenArchetype选择Archetype下的org.apache.maven.archetypes:maven-archetype-quickstart<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.2</version></parent>在<dependencies>中添加dependency <dependencies><dependency>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-web</artifactId>  </dependency> <!--不变-->    </dependencies>   以上就是关于Springboot3+Vue3实现副业(创业)智能语音项目开发的相关介绍,感谢大家的阅读
  • 所需E币: 0
    时间: 2024-3-12 10:43
    大小: 7.6MB
    上传者: htwdb
    随着计算机技术的飞速发展和生物识别技术的广泛应用,人们越来越多地关注身份认证的安全,指纹识别因其隐私性和便捷性,已经成为当前发展最成熟的身份认证技术,在各个行业领域中都得到了广泛应用.除了有着重要的理论意义和应用价值之外,指纹识别技术也是一门能广泛应用在信息安全、网络安全、犯罪处理等多个领域的综合性技术.本文以本人在校外实习期间参与完成的高性能指纹识别芯片课题为基础,详细介绍了指纹组成、特征及指纹识别算法流程,并对各个步骤的原理和算法具体实现过程做出了详细描述,并结合C语言指纹识别算法,针对PC端对系统时间、系统空间以及函数代码这三个方面提出了一些优化策略和方法.然后详细介绍了用MFC图形化界面设计指纹预处理图形交互界面的流程,通过对C语言各个模块函数的调用展示了指纹录入、指纹预处理的功能,并对界面进行优化,增强了软件界面的灵活性.   本文将研究设计分为"C语言算法描述与优化"和"MFC图形化界面设计"这两个主要部分:(1)C语言算法描述与优化:对指纹识别算法中指纹图像采集、指纹图像预处理、指纹特征提取这三个关键步骤的原理进行了介绍,并结合C语言指纹识别算法,详细描述了各个步骤的原理和算法实现过程.针对PC端系统时间、系统空间的一些优化方案的原理和具体实现进行了说明和概述.主要内容包括系统时间优化的方案如Gabor滤波模块优化、算法数据浮点转定点,系统空间优化的方案如选择合适的数据结构和尽量小的数据类型,并概括了一些实习工作中总结的函数代码优化的方法.(2)MFC图形化界面设计:着重介绍用MFC中的C++类库设计一个指纹预处理系统界面,这个系统界面的目的是评估指纹预处理算法,在MFC对话框类的基础上添加不同的控件,通过对C语言的算法调用,在PC端展示从文件中选择指纹图像、指纹预处理图像显示、各模块阈值自定义设定等功能,并对界面进行优化,实现了界面与控件自适应、界面尺寸控制等功能,增强了软件界面的灵活性.最后,本文对研究工作进行总结,并在本论文的工作基础上提出了一些进一步的优化方案,对课题未来进行展望.
  • 所需E币: 5
    时间: 2024-3-1 10:22
    大小: 2.63MB
    上传者: htwdb
    本文通过总结实习中的项目,根据实用的代码详细论述C++语言在跨平台开发相关的技术和管理策略,包括代码编写、测试以及部署上的设计和考量。围绕本文的论题,本文将主要论述基于C++语言的多元化软件开发的设计与实现,主要涉及到以下几个方面,C++语言自身的特性,不同平台下C++语言开发的差异性,C++语言的可移植性,以及跨平台开发的项目环境部署。不同于其他高级编程语言,虽然几乎所有的操作平台都支持C/C++语言,但在不同的平台下,它们对C_阡语言内部变量的定义以及扩展的功能却不尽相同。所以C.卜十语言的多元化开发涉及到目前主流平台之间以及不同编译器之间的差异。而跨平台的开发策略也会根据最终软件发布的平台而有所差异,策略的不同源于根据不同平台,例如Linux,W'mdows,Mac等主流平台上C++项目的开发、测试规则的差异。
  • 所需E币: 1
    时间: 2024-2-27 21:10
    大小: 12.75MB
    上传者: zhusx123
    RT-Thread内核实现与应用开发实战—基于STM32
  • 所需E币: 5
    时间: 2024-2-7 13:16
    大小: 1.43MB
    上传者: 丙丁先生
    用Visual+C实现PC与PLC之间的串行通讯.pdf
  • 所需E币: 5
    时间: 2023-10-29 23:35
    大小: 10.08MB
    上传者: 宝藏库
    5G+工业互联网行业应用白皮书—中国实现新型工业化的探索与实践
  • 所需E币: 0
    时间: 2023-10-25 16:13
    大小: 2.19MB
    上传者: 背带小秋裤
    使用TMS320F2837x实现三相永磁同步电机的场定向控制
  • 所需E币: 0
    时间: 2023-10-24 10:11
    大小: 1.17KB
    上传者: huangyasir1990
    基于SpringBoot3.x+Vue3.x整合从0到1一步一步实现酒店管理系统,本系统主要分前台和后台,其中:前台主要功能有:注册和登录,首页信息展示、列表页信息展示、详情页信息展示、会员预订房间、会员中心、个人信息修改、我的预订、我的充值记录等。后台主要功能有:后台首页展示、个人信息展示和修改、用户管理、角色管理、日志管理、楼层管理、房间类型管理、房间管理、入住管理、会员管理、日历房态、预订管理等。第1章开发环境搭建及功能展示第2章房间类型管理功能实现第3章楼层管理功能实现第4章房间管理功能实现第5章会员管理功能实现第6章预订管理功能实现第8章前台首页功能实现第9章前台列表页功能实现第10章前台注册和登录功能实现第11章前台详情页功能实现第12章前台会员中心功能实现第13章房态管理功能实现第14章系统后台首页功能实现前言因为工作需要,要搭建一套非微服务的单体应用,主要场景是针对中小型企业或者客户,并发量不高、数据量也比较有限的情况。在使用ruoyi等框架的时候,总感觉有些地方还是用不太顺手。因此也根据个人习惯,在开发项目的同时,尽量整理输出一个针对纯代码开发者使用的快速开发框架。开发目标使用对象:有vue与java开发能力的开发者,需要开发中小型企业管理、oa等系统。提供比较成熟并且扩展性优秀的快速开发框架。能够集成流程引擎、用户认证、权限校验、系统监控等通用功能模块。
  • 所需E币: 1
    时间: 2023-9-26 09:48
    大小: 2.94MB
    上传者: 一蓑烟雨as
    电路基础是电子领域中最基本的概念之一。电路是由电气元件(例如电阻、电容、电感等)、电源和导线等组成的系统,它们通过电流来传输和控制电能。电路基础主要涵盖了电路的基本原理、电气元件的特性和基本电路的分析方法。首先,电路基础包括了电流、电压和电阻的概念。电流是指电荷在导体中流动的量,单位为安培(A)。电压是指单位电荷所带的能量,也称为电势差,单位为伏特(V)。电阻是导体阻碍电流流动的特性,单位为欧姆(Ω)。电流、电压和电阻之间的关系可以通过欧姆定律来描述,即电流等于电压除以电阻。欧姆定律为电路分析提供了基础。其次,电路基础还包括了电气元件的特性和应用。电阻是电阻器的主要代表,它可以用来限制电流的大小和调整电路的电阻值。电容是储存电荷的元件,它可以储存电能并释放。电感是储存磁场能量的元件,它可以储存和传输能量。电路中还有诸如开关、电源等元件,它们用于控制和供应电路的电能。最后,电路基础也包括了基本电路的分析方法。通过应用基本电路定律和网络理论,可以对电路进行分析和计算。例如,串联电路和并联电路是最基本的电路连接方式,它们的电流和电压分布可以通过串联规则和并联规则来求解。此外,戴维南定理和叠加定理等也是常用的分析方法,可以帮助我们理解和解决复杂电路中的问题。综上所述,电路基础包括了电路的基本概念、电气元件的特性和基本电路的分析方法。了解电路基础对于电子工程师和电路设计师来说至关重要,它是进一步学习和应用电子学知识的基石。。
  • 所需E币: 1
    时间: 2023-7-29 15:34
    大小: 662.68KB
    上传者: Argent
    如何利用USBPD实现便携式设备的快速充电
  • 所需E币: 0
    时间: 2023-7-29 08:52
    大小: 1.21KB
    上传者: 开心就很好了
    AIGC与NLP大模型实战-经典CV与NLP大模型及其下游应用任务实现视频教程下载,视频+源码+课件!AIGC全称AI-GeneratedContent,指基于人工智能通过已有数据寻找规律,并自动生成内容的生产方式。AIGC既是一种内容分类方式,也是一种内容生产方式,还是一种用于内容自动生成的一类技术集合。NLP是目前世界上最实用有效的一门心理行为科学。NLP全名是NeuroLinguisticProgramming,中文译为【神经语言程序学】。大模型又可以称为FoundationModel(基石)模型,模型通过亿级的语料或者图像进行知识抽取,学习进而生产了亿级参数的大模型。其实感觉就是自监督学习,利用大量无标签很便宜的数据去做预训练。AIGC是目前自然语言处理和计算机视觉领域的前沿技术之一。它可以被用于很多应用场景,比如:1、在商业领域,可以帮助企业进行智能客服、舆情监测、自然语言处理等方面的工作;2、在教育领域,它可以辅助学生写作、阅读理解、语言学习等方面的任务;3、在医疗领域,它可以帮助医生进行医学文献智能分析、病历自动填写等工作;4、在游戏领域,它可以用于游戏中的角色设计、场景设计和动画制作等方面,便于游戏开发者更为快速、更准确地创造出高质量的游戏素材,提高游戏的制作效率和品质。
  • 所需E币: 0
    时间: 2023-7-29 09:51
    大小: 1.48KB
    当今社会是科技的社会,是算力快速发展的时代。随着数据中心、东数西算、高性能计算、数据分析、数据挖掘的快速发展,大模型得到了快速地发展。大模型是“大算力+强算法”相结合的产物,是人工智能的发展趋势和未来。目前,大规模的生态已初具规模。其可以实现从“手工作坊”到“工厂模式”的AI转型。大模型通常在大规模无标记数据上进行训练,以学习某种特征和规则。基于大模型开发应用时,可以对大模型进行微调,或者不进行微调,就可以完成多个应用场景的任务;更重要的是,大模型具有自监督学习能力,不需要或很少需要人工标注数据进行训练,降低训练成本,从而可以加快AI产业化进程,降低AI应用门槛。NLP大模型是被认为最接近人类中文理解能力的AI大模型,而CV大模型首次兼顾了图像判别与生成能力。未来的方向1.进一步扩大模型规模,改善模型架构和训练改善模型的架构或者训练过程可能会带来具有涌现能力的高质量模型,并减少计算量。一种方向是使用稀疏混合专家架构,其在保持恒定输入成本时具有更好的计算效率,使用更加局部的学习策略,而不是在神经网络的所有权重上进行反向传播,以及使用外部存储来增强模型。2.扩大数据规模在一个足够大的数据集上训练足够长的时间被证明是语言模型获得语法、语义和其他世界知识的关键。近期,Hoffmannetal.认为先前的工作低估了训练一个最优模型的训练数据量,低估了训练数据的重要性。收集模型可以在其上训练更长时间的大量数据,允许在一个固定模型尺寸的约束下有更大范围的涌现能力。3.更好的prompt虽然few-shotprompting简单有效,对prompting通用性的改善将进一步扩展语言模型的能力。
  • 所需E币: 0
    时间: 2023-7-27 13:47
    大小: 309.04KB
    上传者: Aigtekatdz
    【功率放大器实例】驱动线圈实现LED灯点亮测试
  • 所需E币: 0
    时间: 2023-7-25 15:34
    大小: 1.39KB
    上传者: 蝴蝶结欧恩
    分享一套课程——AIGC与NLP大模型实战-经典CV与NLP大模型及其下游应用任务实现,附源码+课件。本章节以当下最流行大模型技术为核心,通俗讲解CV与NLP任务中的经典大模型及其实现方法,详细解读其论文思想与应用场景,并结合实例进行项目实战。所选内容全部基于当下主流算法及其源码实现,覆盖CV与NLP核心应用场景与落地方案。AIGC全称为AIGeneratedContent,即人工智能生产的内容,认为是继PGC、UGC之后的新型内容创作方式。在技术上,AIGC能够以优于人类的制造能力和知识水平承担信息挖掘、素材调用、复刻编辑等基础性机械劳动,从技术层面实现以低边际成本、高效率的方式满足海量个性化需求。在市场需求上,由于Web3.0时代的到来,人工智能、关联数据和语义网络构建了形成全新格局,相关消费需求高速增长。传统的UGC\PGC内容生成方式将落后于现有需求,而AIGC技术的将成为新的内容生产方式,更被认为是元宇宙和web3.0的底层基础设施之一。
  • 所需E币: 0
    时间: 2023-7-13 10:36
    大小: 1.04KB
    上传者: 蝴蝶结欧恩
    分享课程——Vue3+Uni+Node+MySQL从零实现跨端小程序的全栈应用,提供源码+PDF课件,课程包更新。在前端越来越卷的当下,学习全栈技术已经变得刻不容缓。本课程带你从入门到进阶,体系化学习微信小程序、Vue3、Uni-APP、NodeJs、MySQL最新全栈技术,并最后开发一个跨端、复杂、完整的并且已上线全栈小程序应用,让你具备商业级小程序的跨平台落地能力。Vue3+Uni+Node+MySQL是一种全栈开发技术栈,它可以支持前端、移动端和后端应用程序的开发。Vue3是一个流行的JavaScript框架,Uni是一个跨平台移动开发框架,Node是一个JavaScript运行时环境,MySQL是一个流行的关系型数据库管理系统。Vue3+Uni+Node+MySQL的主要特点包括:强大的前端UI渲染能力跨平台应用开发支持高效的后端处理能力可靠的数据存储和管理能力跨端框架和小程序容器的结合可以实现在不同小程序平台上进行跨端开发,提供一种统一的开发方式和代码复用的能力,同时还可以充分利用小程序容器技术的功能和特性。这种结合能够提高开发效率,降低开发成本,并且使开发者能够更好地面对多个小程序平台的开发需求。
  • 所需E币: 5
    时间: 2023-7-11 10:23
    大小: 6.35MB
    上传者: htwdb
    随着开关电源应用场景的不断增多,开关电源的使用环境也日趋复杂,对于开关电源质量的要求也越来越高。目前关于出厂开关电源的检测通常采用多设备组合的检测方式,工作效率低,检测结果精度不高。本文根据开关电源检测标准,对开关电源高精度、高效率的检测方法进行研究。主要研究内容如下:  首先,对开关电源检测系统的指标进行分析,确定了开关电源待测参数特征。针对检测精度的提高开展两个方面的研究:一个是对信号采集电路进行分析设计,研究电路噪声对检测精度的影响;另一个是在信号采集完成后对数据进行处理方法的研究。
  • 所需E币: 1
    时间: 2023-7-10 15:35
    大小: 7.82MB
    上传者: 张红川
    Day4实现代码驱动NB-IOT.rar
  • 所需E币: 1
    时间: 2023-6-28 11:26
    大小: 35.26KB
    上传者: 张红川
    CRC算法原理及C语言实现.pdf
  • 所需E币: 1
    时间: 2023-6-25 13:33
    大小: 464.92KB
    上传者: 张红川
    FFT算法DSP实现(DIT基2FFT运算流图).pdf