一建立STM32cubeMX工程1.建立新工程,选择芯片STM32F302CCTx2. 在Pinout 中时钟配置为高速外部时钟, UART配置为异步通信, cube 会自动分配引脚。3.Clock Configuration 中配置如下4.configuration 中点击USART1可进入配置在USART1 configuration 中Parameter Settings 可以配置波特率,发送数据字长,奇偶校验位和停止位等。NVIC Setting 可以配置中断优先级。5.生成keil 软件代码点击工具栏中的齿轮按钮,可以选择代码的开发平台, ok 结束。(文件保存路径一定要是全英文的)进过了我们一系列的配置, cube 会为我们自动生成keil 软件的代码,代码中包括工程所需的固件库,配套的头文件,启动文件及用户文件。在main.c 中包括了我们工程所需外设的初始化,包括了系统时钟初始化,中断初始化, GPIO初始化, USART1初始化, HAL库初始化。我们只需要在main.c 中添加我们自己的代码就可以了。二keil 软件代码及HAL库使用UART_HandleTypeDef huart1;生成的代码中有声明一个USART处理的结构体HAL库中串口的数据收发有四个函数HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_tSize, uint32_t Timeout);HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_tSize, uint32_t Timeout);指针huart 指向我们之前定义的USART处理结构体, 我们将在函数中对结构体中的参数进行操作。pDate 是我们自己定义的数据发送接收缓存, Size 发送接收数据个数, Timeout 超时持续时间。UART状态的结构体:我们在发送接收函数中要经常对USART的状态进行判断,以便我们对函数结构体中的参数进行操作
标签: stm32cubemx 串口
上传时间: 2022-06-22
上传用户:shjgzh
——当你决定阅读本教程时,你已然超越了 90%的程序员《C 语言小白变怪兽》发布于 C 语言中文网,由站长亲自执笔,将多年的编程经验灌输其中,典型的实践派。八年的编程功力,加上四年的精雕细琢,使得这部教程独具匠心,不仅通俗易懂,而且深入你心。这看似平凡的背后,是默默的坚持以及超乎常人的付出,只要你稍加留意,就会处处见精妙。《C 语言小白变怪兽》分为基础部分和高级部分: 初级部分重点讲解语法知识,培养编程思维; 高级部分还会讲解内存、多文件编程(模块化开发)、字符编码、调试技巧、缓冲区(缓存)、复杂指针(花样指针)、数据存储格式、职业规划等进阶技能。阅读初级部分能够能轻松入门 C 语言,学会手敲代码,建立大脑的思维模式;阅读高级部分能够醍醐灌顶,颠覆三观, 以后在大神面前也可以吹牛逼。
标签: C语言
上传时间: 2022-06-23
上传用户:
本章参考资料《CM3 权威指南CnR2》第三章: Cortex-M3 基础,第四章:指令集。官方暂时没有《CM4 权威指南》,有关内核的部分暂时只能参考CM3,所幸的是CM4 跟CM3 有非常多的相似之处,资料基本一样。还有一个资料是ARM Development Tools:这个资料主要用来查询ARM 的汇编指令。1.1 启动文件简介启动文件由汇编编写,是系统上电复位后第一个执行的程序。主要做了以下工作:1、初始化堆栈指针SP=_initial_sp2、初始化PC 指针=Reset_Handler3、初始化中断向量表4、配置系统时钟5、调用C 库函数_main 初始化用户堆栈,从而最终调用main 函数去到C 的世界1.2 查找ARM 汇编指令在讲解启动代码的时候,会涉及到ARM 的汇编指令和Cortex 内核的指令,有关Cortex 内核的指令我们可以参考CM3 权威指南CnR2》第四章:指令集。剩下的ARM 的汇编指令我们可以在MDK->Help->Uvision Help 中搜索到,以EQU 为例,检索如下:
标签: stm32
上传时间: 2022-06-23
上传用户:aben
/产初始化RTL8019AS,PAGE2寄存器只读,PAGE3寄存器不是NE2000兼容的,均不用设置材/使用0x40-0x4b为网卡的发送缓冲区,共12页,刚好存储2个最大的以太网数据包。使用0x4c-0x7f为网卡的接收缓冲区,共52页,因此PSTART=0x4c,PSTOP=0x80(0x80为停止页,接收缓冲区直到Ox7f,不包括0x80),刚开始时,网卡没有接收到任何数据包,因此BNRY设置为指向第一个接收缓冲区的页0x4c)*/void RTL8019lnitO REG00=0×21;/选择页0的寄存器,网卡停止运行,因为还没有初始化REGO1=Ox4c;/寄存器PSTART,设置接收缓冲区的起始页的地址REG02=0×80;/寄存器PSTOP,设置接收缓冲区的结束页的地址REG03=0x4c;//寄存器BNRY,设置为指向第一个接收缓冲区的页Ox4c(用作读指针)REG04=0x40;/寄存器TPSR.发送起始页地址初始化为指向第一个发送缓冲区的页REGOx=0xce;/*接收配置寄存器RCR,设置为仅接收自己地址的数据包以及广播地址和多点播送地址数据包,小于64字节的包丢弃,校验错的数据包不接收材REG0d=0xe0;/发送配置寄存器TCR,设置为启用crc自动生成和校验,正常模式工作REG0e=0xc8;/*数据配置寄存器DCR,设置为使用FIFO缓存,普通模式,8位数据传输,字节顺序为高位字节在前,低位字节在后*制REGOf=0x00;/中断屏蔽资存器IMR,设置为屏蔽所有中断SelectPage(l);/选择页l的寄存器REG07-0x4d;/寄存器CURR.设置为指向当前正在写的页的下一页(用作写指针)
上传时间: 2022-06-24
上传用户:
文件较大,存在网盘中,下载文件获取分享链接及提取码第1章单片机基础主要介绍了单片机的发展状况、体系结构,同时对单片机的编程方法及编程环境进行了简单描述。第2章C语言编程基础主要介绍了C语言中常用的数据类型和程序控制语句。第3章C语言高级编程主要介绍了函数、数组、指针以及结构体等内容,同时对各部分进行了说明,分别列举了相应的示例。第4章C51程序设计主要介绍了C51对标准C语言的扩展、C51函数库和C程序基本结构。第5章 Windows集成开发环境uVision2主要介绍了uVision2中各个菜单栏的作用,通过创建程序流程和调试流程详细介绍各菜单的使用以及仿真功能的应用。第6章C51编译器主要介绍了预处理的方法、C51编译器控制指令和C51的高级配置文件。第7章C51的典型资源编程主要介绍了C51典型资源的编程方法,包括中断系统设计、定时/计数器的使用、I/O口的使用和扩展存储器的方法等,最后还给出了一个使用多种资源的完整例程。第8章单片机通信主要介绍了单片机通信的相关内容,包括串口通信、单片机点对点通信、单片机多机通信、单片机I'C总线通信、单片机与计算机的互连等。第9章C51单片机的工程开发实例通过一个典型的应用实例介绍了单片机工程开发的一般方法。第10章 C51单片机典型模块实例主要以实例的形式,介绍了单片机典型模块的开发方法。在本书的编写过程中,借鉴了许多现行教材的宝贵经验,在此,谨向这些作者表示诚挚的感谢。由于时间仓促,加之编者水平有限,书中有错误或是不足之处在所难免,敬请广大读者批评指正
上传时间: 2022-06-24
上传用户:
C语言学习必备知识,值得推荐的一本书,对于更深入了解C语言有很大帮助。
上传时间: 2022-07-03
上传用户:
讲解电子电路入门基础:电阻器、电容器、电感器与变压器、二极管、三极管、光电器件、场效应管、传感器、基础电子电路等提高篇也已上传:http://dl.21ic.com/download/ic-306149.html 《电子工程师自学速成——入门篇》的内容包括电子技术入门基础、电子元器件(电 阻器、电容器、电感器、变压器、二极管、三极管、光电器件、电声器件、晶闸管、场效 应管、IGBT、继电器、干簧管、显示器件、贴片元器件、集成电路和传感器)、基础电 子电路、收音机与电子产品的检修、电子测量基础、指针万用表、数字万用表、信号发生 器、毫伏表、示波器、频率计和扫频仪等。
上传时间: 2022-07-09
上传用户:
本文档介绍如何使用 GNU 语言工具来编写 16 位单片机 / 数字信号控制器应用程序代 码。内容安排如下: • 第 1 章 “编译器概述”——介绍编译器、开发工具和功能集。 • 第 2 章“通用 C 接口”——介绍可用于增强 MPLAB XC 编译器之间代码可移植性 的通用 C 接口。 • 第 3 章“操作指南”——列出了一些具体操作方面的问题和简要说明,以及指向手 册中相关章节的链接。 • 第 4 章“XC16 工具链和 MPLAB X IDE”——说明关于如何通过 MPLAB X IDE 设 置和使用编译器及相关工具的基础知识。 • 第 5 章 “编译器命令行驱动程序”——介绍如何从命令行中使用编译器。 • 第 6 章“与器件相关的特性”——介绍编译器头文件和寄存器定义文件,以及如何 用于 SFR。 • 第 7 章 “MPLAB XC16 和 ANSI C 之间的差别”——介绍编译器语法支持的 C 语 言与标准 ANSI-89 C 之间的差别。 • 第8章“支持的数据类型和变量”——介绍编译器的整型、浮点型和指针数据类型。第 9 章 “定点算术支持”——说明编译器中的定点算术支持。 • 第 10 章 “存储器分配和访问”——介绍编译器运行时模型,包括关于段、初始 化、存储模型、软件堆栈和更多方面的信息。 • 第 11 章 “操作符和语句”——介绍操作符和语句。 • 第 12 章 “寄存器使用”——说明如何访问和使用 SFR。 • 第 13 章 “函数”——详细介绍可用的函数。 • 第 14 章 “中断”——介绍如何使用中断。 • 第 15 章 “main、运行时启动和复位”——介绍 C 代码的重要元素。 • 第 16 章 “混合使用 C 代码和汇编代码”——提供关于编译器与 16 位汇编语言模 块配合使用的指导。 • 第 17 章 “库程序”——说明如何使用库。 • 第 18 章 “优化”——介绍优化选项。 • 第 19 章 “预处理”——详细介绍预处理操作。 • 第 20 章 “链接程序”——说明链接如何工作。
标签: mplab xc16 编译器
上传时间: 2022-07-16
上传用户:
Altium Designer 10 提供了一个强大的高集成度的板级设计发布过程,它可以验证并将您的设计和制造数据进行打包,这些操作只需一键完成,从而避免了人为交互中可能出现的错误。发布管理系统简化规范了发布您的设计项目的流程,或者更具体地说,是那些项目中定义的配置, 直观,简洁而且稳定。更重要的是,该系统可以被直接链接到您的后台版本控制系统。 新增的强大的预发布验证手段的组合 - 用以确保所有包含在发布中的设计文件都是当前的,与存储在您的版本控制系统中的相应的文件“主人”保持同步的文件,并且通过了所有特定的规则检查(ERC, DRC, 等等) – 从而您可以在更高层面上控制发布管理,并可保证卓越的发布质量。亮点 ● 提供了将设计数据管理置于设计流程核心地位的全新桌面平台● 提供了新的维度,以供器件数据的搜寻和管理,确保输出到制造厂的设计数据具有准确性和可重复性● 为设计环境提供供应链信息的智能链接,确保对元器件的使用有更好的选择● 提供了涵盖整个设计与生产生命周期的器件数据管理方案,而结构性的输出流程更是确保了输出信息的完整性R10 系列的增强功能包括:输出Output Job编辑器、内电层分割加速改善、弹出式的多边形铺铜管理器、AtmelQTouch支持、自定制的笛卡尔直角和极坐标栅格、Aldec HDL 仿真功能、实现比使用指针更多的GUI增强,以及随着Altium Designer10临近发布日前,我们将构建其中的更多酷炫功能。而且,其平台稳定性也得到了增强。新功能与过去以季节性主题(如Winter09,Summer09)来命名的方案不同,而是采用新型的平实的编号形式来为新的发布版本进行命名。最新发布的Altium Designer - Release 10 将继续保持不断插入新的功能和技术的过程,使得您可以更方便轻松地创建您的下一代电子产品设计。 Altium 的统一的设计架构以将硬件,软件和可编程硬件等等集成到一个单一的应用程序中而闻名。它可让您在一个项目内,甚或是整个团队里自由地探索和开发新的设计创意和设计思想,团队中的每个人都拥有对于整个设计过程的统一的设计视图。在软件解决方案的开发过程中,偶尔脑子里会跳出不断进化的创意,跳出的每一个创意都在它能做么,并且能给用户带来什么好处方面,带领软件的解决方案到一个更高的台阶。Release 10 的到来是对于Altium Designer的又一个进化跳跃 – 是软件及其功能上的世代性的交替和革新,如果您愿意纵向追溯,其规模DXP平台推出以来,从未见过的以单一的统一模式交付的设计经验。 此次飞跃的亮点是收集了大量令人印象深刻而广泛全面的新技术,旨在不但帮助进化您管理您的设计信息的方式,而且还帮助您自动配置发布程。AD10 与Altium Vault Server -- 来自Altium的另一解决方案 -- 提供了一个设计数据管理系统,它可以有效地识别并解决许多导致设计,发布和制造等进程缓慢的各种问题。它是一种非常具有创造性和革命性的智能数据管理系统。该数据管理解决方案的重要组成部分是一个元器件管理系统。该元器件管理系统提供了真正的生命周期追踪功能和器件检验的独立性。 Altium Designer 10 提供了一个强大的高集成度的板级设计发布过程,它可以验证并将您的设计和制造数据进行打包,这些操作只需一键完成,从而避免了人为交互中可能出现的误差。发布管理系统简化规范了发布您的设计项目的流程,或者更具体地说,是那些项目中定义的配置, 直观,简洁而且稳定。更重要的是,该系统可以被直接链接到您的后台版本控制系统。 新增的强大的预发布验证手段的组合 - 用以确保所有包含在发布中的设计文件都是当前的,与存储在您的版本控制系统中的相应的文件“主人”保持同步的文件,并且通过了所有特定的规则检查(ERC, DRC, 等等) – 从而您可以在更高层面上控制发布管理,并可保证卓越的发布质量。通过AD10,您可以利用完整的生命周期(从概念和设计,经由原型和产品,到折旧和废弃 )来开发并管理您的电子产品,关于所有这些操作的正确性您都有足够的信心。我们很高兴能带给您这些富有灵感的新技术,和很多其他新功能一起,我们开发了这个发布系统并且得到了很多正面的反应,我们相信您也会很兴奋!通过全新的安装和内容交付系统,以及Altium Subscrption 订户计划可让您访问那些酷炫的新功能,并且随时保持更新。以可选择的插件方式交付各种功能模块,您再也不需要为下一个主体(或附体)发布而等待。相反,如果您愿意,您可以通过一个内容流水线 持续不断地从Altium获得最新的技术和解决方案的更新。Altium Designer 10 – ---所有一切将从这里开始。设计数据和发布管理设计数据管理系统Altium Designer 的统一平台 – 用一个统一的数据模型来代表所设计的系统 – 已被有效地运用,而且已有效地解决了在确保不断增长的产品性能增强和革新的要求的同时,提供更高的数据完整性的问题。其结果是一个设计数据管理模式的执行,允许关于设计世界和最终负责构建实际产品的供应链这二者之间的链接进行正式的定义。统一的数据模型会将设计数据映射到供应链将实际构建的特定的产品条目(裸装配板)。有了这种模型,并且配以各种功能和技术的广泛支持,该软件可使您轻松无痛苦地,流线式地,自动地传递来自设计领域的数据到产品领域 – 以高集成度的,直观的方式一键生成数据的输出。板级实现导出到 Ansoft HFSS™Updated in Beta 4对于那些需要用到RF和几G频率数字信号的PCB设计,您现在可以直接从PCB编辑器导出您的PCB文档到一个 Ansoft Neutral文件格式,这种格式可以被直接导入并使用 Ansys' ANSOFT HFSS™ 3D Full-wave Electromagnetic Field Simulation软件来进行仿真。 Ansoft 与Altium合作提供了在PCB设计以及其电磁场分析方面的高质量协作能力。导出到 SiSoft Quantum-SI™Altium Designer 的 PCB编辑器支持保存PCB设计时同时包括详细的层栈信息以及过孔和焊盘的几何信息,并保存为CSV文件,该文件可用于 SiSoft 的 Quantum-SI 系列信号完整性分析软件工具。 SiSoft 与 Altium 合作特别为Altium Designer的用户提供了最理想的 Quantum-SI 可接受的导入格式。PCB 3D 视频为了提供对于您的PCB板的更为生动和更为有用的文档, Altium Designer 的 Release 10 提供了生成PCB 3D视频文档的功能。 从您的主管那边所看到的PCB 3D视频的内容,就是简单的一系列关于您的PCB板3维画面的快照截图,类似于关键帧。对于这一系列按顺序排列的每一个后来的画面关键帧,您都可以调整其缩放程度,平移或者旋转,调整这些所有相对之前的关键帧的设置。输出时,画面帧的顺序采用强大的多媒体发布器导出为视频格式 – 一个可配置的输出媒介被单独添加到 Release 10 以用于生成PCB 3D 视频。 其结果就是一系列画面帧按顺序平滑地内插到关键帧系列。统一的光标捕获系统Altium Designer 的 PCB编辑器已经有了很好的栅格定义系统 – 通过可视栅格,捕获栅格,元件栅格和电气栅格等等都可以帮助您有效地放置您的设计对象到PCB文档。随着Altium Designer 10 的发布,该系统已休整而且随着统一的光标捕获系统的到来达到一个新的水平。该系统汇集了三个不同的子系统,共同驱动并达到将光标捕获到最优选的坐标集:用户可定义的栅格,直角坐标和极坐标之间可按照喜好选择;捕获栅格,它可以自由地放置并提供随时可见的对于对象排列进行参考的线索;以及增强的对象捕捉点,使得放置对象的时候自动定位光标到基于对象热点的位置。按照您觉得合适的方式,使用这些功能的组合, 可确保您轻松地搞定在PCB工作区放置和排列您的对象!PCB 中类的结构在将设计从原理图转移到PCB的时候,Altium Designer中已经提供了对于高质量,稳定的类(器件类和网络类)创建功能的支持。Release 10 将这种支持提升到一个新的水平,可以在PCB文档中定义生成类的层次结构。从本质上讲,这使得您可以按照图纸层次将元件或网络类组合到从那张图纸生成的一个母类,而这个母类本身也可以是它上面的一个母类的子类,如此一路到您的设计中的顶层图纸。而顶层生成的母类(或叫特级类)从本质上来讲即是类的结构层次的源头。这些所有生成的母类都被称为结构类。结构类,不仅允许在PCB领域中对原理图文档结构进行繁衍和高级导航 ,而且也可用于逻辑查询,例如,设计规则的范围,或者设置条件进行过滤查找。设计协作喜欢进行协同PCB设计,多个设计师可以同一时间对同一电路板进行工作,然后把他们的结果合并在一起的想法? Release 10 带来了真正的PCB设计过程中的协作。通过新的协作,比较和合并面板您会了解你的PCB板当前的状态,与您的协作同伴的结果进行比较。点击面板上的命令来显示差异,然后使用差异映射图得到关于谁在板上做了些什么的整体视图。在映射图中进行点击以所放到您感兴趣的区域,然后在工作区中使用右键单击命令来保留您的更改,或拖拽其他人所做的更改到您的PCB板。甚至还有一个自动命令,可以自动集成所有的与您的板子的当前版本不相冲突的更改 ,并且带来大量来自其他设计师的布线成果。当您一切准备就绪,可以将更新保存下来,并提交回储存库。每个设计师还可以定义工作区域,确保每个人都知道其他人在哪一块工作,以及不能在哪一块工作。对于 Atmel Touch Controls 的支持随便看一下如今任何最新的电子产品,您也许会发现一个很酷的用户界面 - 如按钮,滑条和滚轮等等触摸感应控制块。为了适应您的电子产品中对这种控制块的使用,Altium Designer 10 提供了在您的PCB中创建平面电容性的传感器模式的支持,用于 Atmel® QTouch® 和QMatrix® 传感器控制器。增强的多边形铺铜管理器Altium Designer 的Release 10 中的多边形铺铜管理器 对话框提供了更强大的功能性增强,提供了关于管理您的PCB板中所有多边形铺铜的附加功能。这些附加功能包括创建新的多边形铺铜,访问对话框的相关属性和多边形铺铜删除,等等都可以在这里进行操作 --- 全面地丰富了多边形铺铜管理器对话框的内容,并将多边形铺铜管理整体功能带到新的高度!为使设计师们成功协作的重要工具,是使得设计师们能够图形化地比较他们的工作成果,然后合并以保留任何他们认为合适的更改。但对于库方面的协作呢? Altium Designer 已经提供了在某一时间更新PCB到库元件的最新版本的功能,但Release 10 包含了一个功能强大,可视化比较的工具,以协助PCB设计师在更新和改变控制流程方面的工作。
上传时间: 2022-07-22
上传用户:canderile
啊哈c语言电子书+啊哈c编译器软件分享给大家。对于编程小白的话,这本书的确是可以坐在马桶上看着入门的书,知识点都挺好,介绍的也挺细,就是吧,精髓没有介绍到,比如指针,结构体都没有涉及到。恩,总体来说还是可以的。内容非常通俗易懂,最适合零基础的筒子。推荐给对编程有兴趣,想要自学的朋友,但是对于已经有一定基础的人来说,内容太简单了。书最后有一个推箱子游戏的教程,可以试着玩玩。啊哈C是一个轻量级超简洁的C语言编程入门软件,使用gcc内核编译,支持语法高亮,代码折叠,编译错误提示等,界面简介,操作方便,非常适合C语言学习入门使用。
上传时间: 2022-07-27
上传用户: