基于STM32和DM9000的照明控制系统毕业论文.doc_第1页
基于STM32和DM9000的照明控制系统毕业论文.doc_第2页
基于STM32和DM9000的照明控制系统毕业论文.doc_第3页
基于STM32和DM9000的照明控制系统毕业论文.doc_第4页
基于STM32和DM9000的照明控制系统毕业论文.doc_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安徽建筑大学毕业设计(论文) 本科毕业论文专 业: 测控技术与仪器 班 级: 11测控2班 _ 学生姓名: 管国翀 学 号: 11210040218 课 题: 基于STM32和DM9000的照明控制系统 指导老师: 陈 松 完成时间: 2015年6月7日 安徽建筑大学机械与电气工程 学 院 二一五年六月七日 II摘 要随着计算机技术和电子信息技术的高速发展,特别是近年来在互联网建设的推动下,照明控制系统越来越受到人们的关注。本课题在分析照明控制系统的研究现状、发展趋势、研究意义的基础上提出了基于单片机以及嵌入式操作系统的照明控制系统的设计方案。STM32F103是意法半导体推出全新STM32互连型系列微控制器中的一款性能较强产品,此芯片集成了各种高性能工业标准接口,且STM32不同型号产品在引脚和软件上具有完美的兼容性,可以轻松适应更多的应用,此芯片可以满足工业、医疗、楼宇自动化、家庭音响和家电市场多种产品需求。DM9000是一款单芯片快速以太网MAC控制器,它与STM32控制器通信,发送指令,通过I/O端口高低电平,控制继电器,来实现整个照明系统的智能控制。其主要特点在于功能实用、操作简单、价格低廉、易于安装,使得该系统可以广泛应用于学校、工厂等照明设施。关键词:单片机;照明控制;嵌入式Abstract With the rapid development of computer technology and electronic information technology, especially in recent years in the construction of the Internet Push the lighting control system more and more attention of people. This paper on the basis of analysis of lighting control system, the research present situation, development trend and the research significance the microcontroller and embedded operating system of lighting control system design based on. STM32F103 is STMicroelectronics launched new STM32 interconnection series micro controller in a high performance products. The chip integrates a variety of high performance industrial standard interface and STM32 different types of products on the pin and software with perfect compatibility can easily adapt to the application of more, this chip can meet the industrial, medical, building automation and home audio and home appliances market various demands of products. Dm9000 is a single chip fast Ethernet MAC controller, it communicate with the STM32 controller, send the command, through the I / O port level, control relay to achieve intelligent control of the lighting system. Its main features are practical, simple operation, low cost, easy installation, so that the system can be widely used in schools, factories and other lighting facilities.Key words: single chip computer;lightingcontrol;flushbonadingIV目 录第一章 绪论11.1 照明控制系统设计研究的意义11.2 国内外发展概况与发展趋势1第二章 系统总体设计方案与硬件介绍32.1 系统的总体方案设计介绍32.2 系统的硬件设计42.2.1 单片机控制模块设计42.2.2 DM9000网络通信模块7第三章 系统软件设计103.1 网络通信协议133.1.1 uIP协议栈及其体系结构143.1.2 协议栈接口143.2 程序流程图163.2.1 程序运行初始化流程图163.2.2 程序功能流程图173.3 系统 LED灯程序183.4系统主程序223.5通信协议程序30第四章 系统的程序调试314.1 系统的主程序调试314.1.1 编写程序31 4.1.2 烧写代码下载 324.2系统硬件连接 33 4.3系统调试结果34第五章 毕业设计总结36致谢37参考文献38附录一:硬件电路图39附录二:英文资料和译文41第一章 绪论1.1 照明控制系统设计研究的意义 采用智能照明控制系统,使照明系统工作在全自动状态,系统按预先设定的开馆、值班、清扫、保安等照明模式进行工作,这些照明模式会按预先设定的时间相互自动地进行切换。提高管理水平,减少维护费用。博物馆建筑面积一般较大,人工维护繁琐,智能照明控制系统的应用,将普通照明人为的开与关转换成智能化管理,使管理者能将其高素质的管理意识运用于照明控制系统中去,同时大大减少了馆内的运行维护费用。可观的节能效果。智能照明控制系统使用了先进的电力电子技术,能对控制区域内的灯具进行智能调光,当室外光较强时,室内照度自动调暗,室外光较弱时,室内照度则自动调亮,使室内的照度始终保持在恒定值附近,从而能够充分利用自然光实现节能的目的。此外,智能照明的管理系统采用设置照明工作状态等方式,通过智能化自动管理避免了照明区域“长明灯”等现象,根据照明的使用规律启动不用的灯光场景,通过对灯光的调光也可以让灯光不用满负荷使用,又达到好的照度效果,大幅度的节约用电。 保护灯具,延长寿命。保护灯具实际上也是节能的一种方式,灯具损坏的致命原因主要是电压过高,工作电压越高,其寿命则成倍降低。因此适当降低灯具工作电压是延长灯具寿命的有效途径。美莱恩控制系统能成功地抑制电网的冲击电压和浪涌电压,使灯具不会因上述原因而过早损坏。并且美莱恩采用了软启动和软关断技术,避免了灯丝的热冲击,使灯具寿命进一步得到延长。智能照明系统通常能使灯具寿命延长24倍,不仅节省大量灯具,而且大大减少更换灯具的工作量,有效地降低了照明系统的运行费用。1.2 国内外发展概况与发展趋势 上世纪90年代,美国率先提出了“绿色照明计划”,这以后,各国也都在不同程度开始对其进行推广工作。在我国,近几年也加大了扶持LED绿色照明企业的力度,并制定节能认证标准,提高产品技术和质量水平,建立持续、高效发热照明产品市场。更值得一提的是,国家和地方政府组织的“LED照明产品的大宗采购”,将LED绿色照明产品推广到市政建设、轨道交通、公共空间等领域;同时,开展电力需求管理活动,将绿色照明活动扩展到大型的集团公司、央企及私人企业。 从绿色照明的发展阶段来看,目前正处在产品创新、节能标准进一步规范的环节。以LED照明产品为例,由于其是一种高效、节能环保的新光源,国家和地方政府已开始从各方面推广和扶持。然而照明行业的发展也面临着一些难题,例如LED照明市场混乱,低价、质量差的产品居多,为一些性能优异的绿色照明产品的市场占有率造成了很大影响。除此之外,照明产品标准不明确、节能要求不统一也为其推广造成了困扰。 年初,国家出台的绿色建筑行动方案中,倡导节能减排、降低建筑能耗、减少二氧化碳排放、发展绿色建筑,这对绿色照明的发展是有一定的影响和推动作用的。当然,仅有这个方案也是远远不够的,我认为,在建立绿色建材标准体系时,绿色照明作为绿色建材的一部分也应该纳入标准体系之中。同时,国家在规范绿色照明标准及要求、对照明产品进行质量管制的同时,也应该为照明企业的产品发展与创新指出阶段性的方向,并适当对绿色照明企业进行扶持。62第二章 系统总体设计方案与硬件介绍2.1 系统的总体方案设计介绍 电 脑 命令 照明灯状态 DM9000 命令 I/O状态(照明灯状态) STM32 I/O 继电器 照明灯 图2.1方案介绍首先控制端,通过网络给网络端口(dm9000网卡)发命令stm32取到命令控制I/O高低电平,控制继电器控制照明灯。2.2 系统的硬件设计 电路原理图绘制软件Protel99SE介绍 Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源-地层和16个机加工层。 2.2.1 单片机控制模块设计 普通设计中大多采用51单片机、PIC单片机或者是AVR 单片机,这些单片机的缺点是高功耗、性能低并且硬件资源匮乏。 相比之下, STM32 系列是基于专为要求高性能、低成本、低功耗的嵌入式应用而专门设计的 ARM Cortex-M3 内核的微控制器。 图2.2 STM32F103 1.ARM控制器使用STM32F103,STM32F103是意法半导体推出全新STM32互连型系列微控制器中的一款性能较强产品,此芯片集成了各种高性能工业标准接口,且STM32不同型号产品在引脚和软件上具有完美的兼容性,可以轻松适应更多的应用。 新STM32的标准外设包括10个定时器、两个12位AD(模数转换器) (快速交替模式下2M sample/s)、两个12位DA(数模转换器)、两个I2C接口、五个USART接口和三个SPI端口和高质量数字音频接口IIS,另外STM32F103拥有全速USB(OTG)接口,两路CAN2.0B接口,以及以太网10/100 MAC模块。此芯片可以满足工业、医疗、楼宇自动化、家庭音响和家电市场多种产品需求。 2.STM32F1系列属于中低端的32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3。该系列芯片按片内Flash的大小可分为三大类:小容量(16K和32K)、中容量(64K和128K)、大容量(256K、384K和512K)。 3.芯片集成定时器,CAN,ADC,SPI,I2C,USB,UART,等多种功能 内核:-ARM 32位的Cortex-M3,-最高72MHz工作频率,在存储器的0等待周期访问时可达1.25DMips/MHZ(DhrystONe2.1)-单周期乘法和硬件除法存储器-从32K到512K字节的闪存程序存储器(STM32F103XXXX中的第二个X表示FLASH容量,其中:“4”=16K,“6”=32K,“8”=64K,B=128K,C=256K,D=384K,E=512K)-最大64K字节的SRAM电源管理-2.0-3.6V供电和I/O引脚-上电/断电复位(POR/PDR)、可编程电压监测器(PVD)-4-16MHZ晶振振荡器-内嵌经出厂调教的8MHz的RC振荡器-内嵌带校准的40KHz的RC振荡器-产生CPU时钟的PLL-带校准的32KHz的RC振荡器低功耗 睡眠、停机和待机模为RTC和后备寄存器供电模数转换器-2个12位模数转换器,1us转换时间(多达16个输入通道)-转换范围:0至3.6V-双采样和保持功能-温度传感器DMA-2个DMA控制器,共12个DMA通道:DMA1有7个通道,DMA2有5个通道-支持的外设:定时器、ADC、SPI、USB、IIC和UART-多达112个快速I/O端口(仅Z系列有超过100个引脚)-26/37/51/80/112个I/O口,所有I/O口一块映像到16个外部中断;几乎所有的端口均可容忍5V信号 调试模式-串行单线调试(SWD)和JTAG接口-多达8个定时器-3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入-1个16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器-2个看门狗定时器(独立的和窗口型的)-系统时间定时器:24位自减型计数器-多达9个通信接口:2个I2C接口3个USART接口(支持ISO7816接口,LIN,IRDA接口和调制解调控制)2个SPI接口(18M位/秒)CAN接口(2.0B主动)USB 2.0全速接口计算单元CRC计算单元,96位的新批唯一代码 封装 ECOPACK封装。 图 2.3 STM32F103电路原理图 图 2.4 时钟电路 图2.5 STM32F103 引脚分布图2.2.2 DM9000网络通信模块1.DM9000是一款单芯片快速以太网MAC控制器。它有一个一般处理接口,一个10/100M自适应的PHY和4K DWORD值的SRAM。它的目的是在低功耗和高性能进程的3.3V与5V的支持宽容,DM9000还提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用电话线网络设备或其他收发器。该DM9000支持8位,16位和32 位接口访问内部存储器,以支持不同的处理器。DM9000物理协议层接口完全支持使用10MBps下3类、4类、5类非屏蔽双绞线和100MBps下5类非屏蔽双绞线,完全符合IEEE 802.3u规格。2.DM9000是Davicom公司的一款以太网控制芯片,在网络中他可自动获得同设定MAC地址一致的IP包,完成IP包的收发,再用ARM来结合完成上层协议,就构成了一个完整的网络终端。图2.6 DM9000电路原理图图2.7驱动电路电路图 3. 网卡芯片 DM9000 和 STM32的连接。首 先,可 以 从 硬 件 上 完 成 网 卡 芯 片DM9000 与 ARM 处理器 STM32 的三大总线连接,以及和以太网的连接, 嵌入式 ARM系统和以太网接口连接图 DM9000嵌入式系统 数据 网卡芯片 以太网连接 地址 DMSTM32 控制 图2.8 连接示意图 4.DM9000 默认 I/O 基地址为 300 H。CMD引脚用于设置 COMMAND 模式, CMD 为高时,选择数据端口。CMD 为低时, 选地址端口。数据端口和地址端口的地址码由下式决定:DM9000 地址端口 = 高位片选地址 +300H+0H,DM9000 数据端口 = 高位片选地址 +300H+4H 5.DM9000 的调试过程DM9000 的调试过程中, 首先要确保芯片能否正常工作, 即确保 MAC 地址是存储在 EE-PROM 中,且 MAC 地址正常。对DM9000 的寄存器进行读写测试, 从 PAB0 到 PAB5 把 MAC地址写入到 DM9000 寄存器,然后再读取寄存器来验证它。其次可以进行EEPROM93C46 的字数据测试, 进行以太网连接测试, 通过连接LED 灯的亮灭以及读取NSR寄存器来检查IINKST bit 6 的状态是否为“1” 来验证以太网是否已经连接成功。进行外部环回测试, 使用一个交叉线插到 RJ-45, 检查能否收到所发送的包。进行向另一台主机发包、 收包的测试, 最后连上交换机, 把事先编译好的程序下载到处理器中去, 验证是否实现联网。第三章 系统软件设计3.1 网络通信协议 TCPIP协议在全球互联网上取得了巨大的成功,人们通过该协议进行文件传送,电子邮件发送等多种应用,TCPIP协议已成为事实上的全球网络通信标准。随着嵌入式系统技术的深入发展,越来越多的嵌入式设备也需要互连成网,协同工作,如无线传感器、信息家电、智能仪表等。在嵌入式设备中通过TCPIP协议连接Interact网络需求更加强烈。在嵌入式系统上运行TCPIP协议可以使得该系统直接与内部网络甚至全球互联网相联,而不需要引入额外的网关设备,给嵌入式设备通信带来巨大的便利。嵌入式系统的本身资源有限,并且其应用和功能比较单一,具有较强的针对性,因此不需要一个完整的TCPIP网络协议组件,只需要实现与需求相关的部分协议,不使用的协议则不需要支持。另一方面,对于某些特定的嵌入式系统,甚至需要优化TCPIP协议栈或者在TCPIP协议栈中编写自己需要的网络协议。那些不能提供开放源码的商用嵌入式系统的TCPIP协议栈很难满足用户的配置需求,需要用户自行开发和定制适合自己系统需求的嵌入式 TCPIP协议栈。 由瑞典计算机科学研究所Adam Dunkels开发的uIP09,去掉了全功能TCPIP协议栈中不常用的功能,保留网络通信所必要的协议机制,大大减少了协议代码量,降低了协议对系统资源的要求。该协议由公开源代码的c语言编写,任何人都可以在网络上下载其源代码并对其进行修改,以适应各自不同的应用场合。uIP09采用模块化设计,其代码量在几千字节左右,仅需要几百字节的内存就可以顺利运行,完全适应当前的嵌入式系统。3.1.1 UIP协议栈及其体系结构 UIP是一个适用于816位机上的小型嵌入式TCPIP协议栈,简单易用,资源占用少是它的设计特点。其设计重点放在IP、ICMP和TCP协议的实现上,协议虽然也同时实现了UDP和ARP协议,但仅将其作为可选模块。UIP处于网络通信的中间层,其上层协议在这里被称之为应用程序,而下层硬件或固件被称之为网络设备驱动。TCPIP协议组中的链路层协议如PPP等可由UIP之下的设备驱动实现;应用层协议如H33P、FTP、SMTP等可由UIP之上的应用程序实现。这样的设计方式大大减小了协议代码量和RAM 占用量。为进一步节省资源占用,简化应用接口,UIP在内部实现上还作了如下特殊的处理: 采用单一的全局数据收发缓冲区,不支持内存动态分配; 基于事件驱动的应用程序接口,各并发连接采用轮循处理,仅当网络事件发生时,由UIP内核唤起应用程序处理。这样,UIP用户只须关注特定应用就可以了。传统的TCPIP实现一般要基于多任务处理环境,而大多数8位机系统不具备这个条件; 应用程序主动参与部分协议栈功能的实现(如TCP的重发机制,数据包分段和流量控制),由UIP内核设置重发事件,应用程序重新生成数据提交发送,免去了大量内部缓存的占用。基于事件驱动的应用接口使得这些实现较为简单。正是由于UIP所具有的以上显著特点,自从06版本以来就被移植到多种处理器上,包括MSP430、AVR和Z80等。3.1.2 协议栈接口 图1描述了UIP、底层系统和应用程序三者之间的调用关系。其中UIP协议通过一系列接口函数与底层系统和上层应用程序通信,它内部的协议集合对外部系统来说是透明的,从而增强了该协议的通用性和独立性,可以非常方便地移植到不同系统和应用平台。图1描述了UIP、底层系统和应用程序三者之间的调用关系。其中UIP提供了3个函数给底层系统:uip init()uip input()uip periodic()。应用程序向UIP提供一个调用函数uip appcall(),在网络事件或计时事件发生时进行调用;同时,UIP也要向应用程序提供一些与协议栈的接口函数,应用程序根据接口函数提供的信息或者状态,执行相应的操作。 应用程序 Uip-appcall() UIP协议栈Uip-input() uip-periodc() 底 层 系 统 系统定时器 网卡驱动图3.1 UIP、底层系统和应用程序之间的调用关系 设备驱动程序接口:UIP内核中有两个函数直接提供给底层设备驱动程序。一个是uip input(),当设备驱动程序从网络层收到的一个数据包时要调用这个函数,设备驱动程序必须事先将数据包存入到uip bur中,包长放到uip len,然后交由uipinput()处理。当函数返回时,如果uip len不为0,则表明有带外数据(如SYN,ACK等)要发送。当需要ARP支持时,还需要考虑更新ARP表示或发出ARP请求和回应。以下代码即为设备驱动程序从网络层收到的个数据包后的处理过程:#define BUF (struet uipeth hdr*)&uip bufO)uiplen=ethemetdevicedriver poll();接收以太网数据包(设备驱动程序)if(uip len0) 收到数据if(BUF一type: :HTONS(UIPETHTYPE IP)是IP包吗?uip arpipin(); 去除以太网头结构,更新ARP表uip input(); IP包处理if(uip len0) 有带外回应数据uip-arp out(); 加以太网头结构,在主动连接时可能要构造ARP请求ethemetdevieedriver send();发送数据到以太网(设备驱动程序)elseif(sot一type=HTONS(U1P-ETHTYPE-ARP)是ARP请求包uip arparpin();如是是ARP回应,更新ARP表;如果是请求,构造回应数据包if(uip len0)是ARP请求,要发送回应ethernetdevicedriver send();发ARP回应到以太网上另一个UIP内核直接提供给底层设备驱动程序的函数是uip periodic(conn)。这个函数用于UIP内核对各连接的定时轮循,因此需要一个硬件支持的定时程序周期性地用它轮循各连接,一般用于检查主机是否有数据要发送,如有,则构造IP包。以下示例即为UIP内核对各连接的定时轮循过程:for(i=0;iO)uip arpout();ethemetdevicedriver send();从本质上来说,uip input()和uip periodic()在内部是一个函数,即uip process(u8一t flag),uIP的设计者将uip process(UIP DATA)定义成uip_intput(),而将uip process(UIP TIMER)定义成uipperiodic(),因此从代码实现上来说是完全复用的。 应用程序接口:UIP使用基于事件的程序模式,应用程序由c语言函数实现。当收发数据、新连接建立或者数据需要重新传输时,UIP都会调用应用程序。同时,应用程序还要周期查询是否有新的数据收发。因为应用程序只提供了一个回调函数,所以应用程序还要把不同的网络服务映射到不同的端13和连接。UIP在接受到底层传来的数据包后,如果需要送上层应用程序处理,就调用UIP APPCALL()。同时设置结构体UIP eonn指针指向当前连接。UIP conn记录一条TCP连接的所有相关信息,它是维持UIP运行的关键结构,定义如下:struct【cp connu8一t tcpstateflags;TCP的状态和标志ul6一t lport,rpert;当地和远端端口ul6一t fipodar2;远端的地址u8一t rcvnxt4;下一个要接收的序列号u8一t sod xt4; 上一个已发送的序列号u8一t aek-nxt4;对端下一个应答序列号u8一t timer;重传时间u8一t nrtx;计算特殊段的重发数量u8一t mss;连接中最大分段的大小u8一t appstateUIP APPSTATE SIZE;UIP提供给应用程序的接口函数如:tep listen()、uip connect()、uip send()、tcp datalen()、tcpclose()、tcp abort()、tcp stop()、uip stopped()、uip restart()等,实现了TCPIP协议栈的基本功能。为了将用户的应用程序挂接到UIP中,必须将宏UIP APPcALL()定义成实际的应用程序函数名,这样每当某个UIP事件发生时,内核就会调用该应用程序进行处理。如果要加入应用程序状态的话,必须将宏UIPAPPSTATESIZE定义成应用程序状态结构体的长度。在应用程序函数中,依靠UIP事件检测函数来决定处理的方法,另外可以通过判断当前连接的端口号来区分处理不同的连接。3.2 程序流程图 开始3.2.1 程序运行初始化流程图 系统时钟设置初始化网络设备以及UIP协议栈,配置IP地址 应用层MAC初始化 UIP MAC初始化 UIP 初始化 ARP 初始化创建TCP监听窗口和HTTP监听窗口 图3.2初始化流程图 3.2.2 程序功能流程图指令 当通过网络调 试助手发来的指令时处理uIP事件 查询指令设置指令命令错误 否 否 是 是 查询IO状态(灯的开关状态)设置IO高低平(设置灯的开关)输出IO(灯)的状态发生错误 是 否 结束 图3.3功能流程图3.3 系统 LED灯程序#include stm32f10x.h#include uip.h #include uipopt.h#include uip_arch.h#include #define LED1_ON()GPIO_SetBits(GPIOB, GPIO_Pin_5);#define LED2_ON()GPIO_SetBits(GPIOC, GPIO_Pin_6);#define LED3_ON()GPIO_SetBits(GPIOC, GPIO_Pin_7);#define LED1_OFF()GPIO_ResetBits(GPIOB, GPIO_Pin_5);#define LED2_OFF()GPIO_ResetBits(GPIOC, GPIO_Pin_6);#define LED3_OFF()GPIO_ResetBits(GPIOC, GPIO_Pin_7);extern unsigned short LPORT;void server_udp_appcall(void);void led_poll(void);* 函数名: void led_poll(void)* 参 数: 无* 返 回: 无* 功 能: 查询LED灯的状态并返回其状态*/void led_poll(void) uint8_t led1_readvalue; uint8_t led2_readvalue; uint8_t led3_readvalue; led1_readvalue = GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_5 ); led2_readvalue = GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_6 ); led3_readvalue = GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_7 ); if(led1_readvalue = 0)myudp_send(LED1 亮n,8); else myudp_send(LED1 灭n,8); if(led2_readvalue = 0)myudp_send(LED2 亮n,8); else myudp_send(LED2 灭n,8); if(led3_readvalue = 0)myudp_send(LED3 亮n,8); else myudp_send(LED3 灭n,8);/*函数名: void myudp_send(char *str,short n) *参 数: *返 回: 无*功 能: UDP 数据包发送*/void myudp_send(char *str,short n) char *nptr; nptr = (char *)uip_appdata; memcpy(nptr, str, n); uip_udp_send(n); /发送n个数据 /*函数名: void UDP_newdata(void) *参 数: *返 回: 无*功 能: UDP 数据包发送*/void server_udp_newdata(void) char *nptr; short len; len = uip_datalen();/读取数据长度 nptr = (char *)uip_appdata; /取得数据起始指针 if(len PB1 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOA, &GPIO_InitStructure);/* 名 称:void RCC_Configuration(void)* 功 能:系统时钟配置为72MHZ, 外设时钟配置* 入口参数:无* 出口参数:无* 说 明:* 调用方法:无 */ void RCC_Configuration(void) / RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO , ENABLE); SystemInit();struct timer periodic_timer, arp_timer;/* 名 称:int main(void)* 功 能:程序入口* 入口参数:无* 出口参数:无* 说 明:* 调用方法:无 */ int main(void)const uint8_t mac_addr6 = 0x00,0xe0,0x3d,0xf4,0xdd,0xf7;int i;struct uip_eth_addr ethaddr;struct timer t; DHCP_SUCCESS_FLAG = 0x00;RCC_Configuration(); /系统时钟设置LED_config();Usart1_Init(); /串口1初始化Usart2_Init(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论