奋斗STM32开发板uIP1.0 以太网例程讲解
STM32_WIFI开发板开发指南及使用说明-V0.32

北京世讯电子技术有限公司STM32 WIFI 开发板开发指南及教程欢迎选用世讯电子的开发板! 注意: 注意:如果你是初学者, 如果你是初学者,务必仔细 务必仔细阅读 仔细阅读每节内容 阅读每节内容! 每节内容! 1. 使用指南1.1 adhoc 模式工作( 模式工作(板子默认 wifi 工作模式) 工作模式)拿到板子后, ,先不要下载程序, 1) 拿到板子后 先不要下载程序,先给板子上电, 先给板子上电,测试运行一下! 测试运行一下! 2) 观看开发板上的指示灯, 观看开发板上的指示灯,等到 WIFI 模块旁边的 LED 不闪烁了。
不闪烁了。
3) 打开电脑的 wifi, 搜索一下, 搜索一下,看看能不能找到“ 看看能不能找到“ShiXun_ADHOC”这样的网 络,如下图所示4) 如果不能找到“ 如果不能找到“ShiXun_ADHOC”网络, 网络,需先恢复出厂设置, 需先恢复出厂设置,具体查看 1.2恢复出厂设置模式5) 在电脑上选中“ 在电脑上选中“ShiXun_ADHOC”网络, 网络,输入密码“ 输入密码“1234567890123”然后 选择连接。
选择连接。
6) 然后等待, 然后等待,这个过程有点长, 这个过程有点长,几十秒甚至 几十秒甚至 1 分多钟。
分多钟。
7) 等 wifi 模块旁边的 D6(LED)指示常亮 指示常亮了 常亮了,说明网络连接上了。
说明网络连接上了。
说明板子工 作正常。
作正常。
如下所示Rev 0.32Confidential Copyright@2014 by Shixun Electronic Inc-1-北京世讯电子技术有限公司B. 显示分配到 IP A. 显示已经连接上 8) 打开浏览器, 打开浏览器,输入地址 http://192.168.10.10/ 就可以出来下面页面了9) 然后点击测试部分, 然后点击测试部分,继电器开、 继电器开、关,LED 灯开、 灯开、关。
stm32官方udp例程详解

stm32官方udp例程详解摘要:1.STM32 简介2.UDP 协议简介3.STM32 的UDP 实现4.STM32 官方UDP 例程的特点5.例程详解6.总结正文:1.STM32 简介STM32 是一种基于ARM Cortex-M 内核的微控制器,它具有高性能、低功耗、多功能、易扩展等特点,广泛应用于嵌入式系统中。
2.UDP 协议简介UDP(User Datagram Protocol)是一种无连接的传输层协议,它提供面向数据报的传输服务,不保证数据的可靠性和顺序性,但具有较高的传输效率,适用于那些对数据传输实时性要求较高,但不要求数据完整性的应用场景。
3.STM32 的UDP 实现STM32 的UDP 实现基于ARM 的UDP 库,它提供了一系列的UDP 相关函数,包括UDP 套接字初始化、数据发送、数据接收等。
4.STM32 官方UDP 例程的特点STM32 官方UDP 例程是基于STM32 的UDP 实现编写的,它具有以下特点:(1)简洁明了:例程代码简洁,易于理解;(2)功能完善:例程实现了UDP 的基本功能,包括UDP 套接字初始化、数据发送、数据接收等;(3)实用性强:例程在实际应用中可以直接使用,或者作为参考进行UDP 相关功能的开发。
5.例程详解以STM32 官方UDP 例程中的JoyStick 功能为例,详细说明例程的实现。
(1)UDP 套接字初始化在例程中,使用了UDP_Init() 函数进行UDP 套接字初始化,该函数主要完成以下工作:(1)配置UDP 缓冲区;(2)配置UDP 发送和接收函数;(3)初始化UDP 套接字。
(2)数据发送在例程中,使用了UDP_SendData() 函数进行数据发送,该函数实现了将数据通过UDP 套接字发送到目标主机的功能。
(3)数据接收在例程中,使用了UDP_ReceiveData() 函数进行数据接收,该函数实现了从UDP 套接字接收数据的功能。
零死角玩转stm32-高级篇8、以太网(ENC28J60 + Lwip)

0、友情提示《零死角玩转STM32》系列教程由初级篇、中级篇、高级篇、系统篇、四个部分组成,根据野火STM32开发板旧版教程升级而来,且经过重新深入编写,重新排版,更适合初学者,步步为营,从入门到精通,从裸奔到系统,让您零死角玩转STM32。
M3的世界,与野火同行,乐意惬无边。
另外,野火团队历时一年精心打造的《STM32库开发实战指南》将于今年10月份由机械工业出版社出版,该书的排版更适于纸质书本阅读以及更有利于查阅资料。
内容上会给你带来更多的惊喜。
是一本学习STM32必备的工具书。
敬请期待!8、以太网(ENC28J60+LWIP)8.1 友情提醒Lwip的教程非常庞大且深入,是《stm32库开发实战指南》里面的内容,鉴于跟出版社的合约的关系,这里不能够开源,但野火STM32开发板里面提供了源码。
欲知更详细内容,请关注机械工业出版社将于10月份出版的《stm32库开发实战指南》。
LWIP实验需要用到ENC28J60这个以太网模块,野火STM32开发板已经板载了这个模块,可直接做LWIP实验。
8.2实验步骤下面简单介绍下LWIP的操作方法和能够达到的效果。
野火STM32开发板供电(DC5V),插上JLINK,插上串口线(两头都是母的交叉线),利用网线把STM32开发板接入与PC相同的路由,也可以直接利用网线把开发板和PC相连,其实验的操作是相同的(这样可以排除路由的问题),但在进行浏览网页实验时,图片可能无法正常显示。
把本工程文件编译后烧录到开发板上,在程序运行框输入cmd命令进入dos模式。
8.2.1 ping实验在命令提示符窗口输入命令并回车: ping 192.168.1.18输入ping命令成功后的现象ping 192.168.1.188.2.2 telnet实验1.如果使用windows 7系统,系统没有telnet程序,需要自行下载安装。
使用xp系统的用户,在命令提示符窗口输入命令并回车:telnet 192.168.1.18输入命令后弹出如下窗口:进入 telnet程序2.见错误!未找到引用源。
奋斗版STM32开发板V2.0硬件说明书

奋斗版STM32开发板V2.0的硬件说明1. 供电电路:AMS1117-3.3输入+5V,提供3.3V的固定电压输出,为了降低电磁干扰,C1-C5为CPU 提供BANK电源(VCC:P50、P75、P100、P28、P11 GND:P49、P74、P99、P27、P10)滤波。
CPU的模拟输入电源供电脚VDDA(P22)通过L1 22uH的电感与+3.3V VDD电压连接,CPU的模拟地VSSA(P19)及VREF-(P20)通过R1 0欧电阻与GND连接。
VREF+(P21)采用VDDA(P22)电源基准。
AMS1117-2.5输入+5V,提供2.5V的固定电压输出,为MP3电路VS1003提供所需的电压。
为RTC的备份电源采用V1 3.3V锂离子片状电池。
2. 启动方式设置:Boot1—Boot0(P37,P94): x0: 内部程序存储区启动01:系统存储区启动(为异步通信ISP编程方式)在此将BOOT1始终设置为0, BOOT0为可变的状态,在正常模式下将其置为0,在ISP 编程时将其置为1。
用JP1跳线块设置,开路为ISP模式,短路为正常运行模式。
3. 时钟源电路:外部晶体/陶瓷谐振器(HSE)(P12、P13):B1:8MHz晶体谐振器,C8,C9谐振电容选择10P。
系统的时钟经过PLL模块将时钟提高到72MHz。
低速外部时钟源(LSE)(P8、P9):B2: 32.768KHz晶体谐振器。
C10,C11谐振电容选择10P。
注意:根据ST公司的推荐, B2要采用电容负载为6P的晶振,否则有可能会出现停振的现象。
4. SPI存储电路:D2 AT45DB161(2M Bytes)CPU采用SPI1端口PA7-SPI1-MOSI(P32)、PA6-SPI1-MISO (P31)、PA5-SPI1-SCK(P30)、PC4-SPI1-CS2(P33)控制读写访问, SPI1地址:0x4000 3800 - 0x4000 3BFF5. 显示及触摸接口模块:显示器采用2.4” TFT320X240LCD(控制器ILI9325), 采用CPU的FSMC功能,LCD片选CS采用FSMC_NE1(P88),FSMC_A16(P58)作为LCD的RS选择,FSMC_nWE(P86)作为LCD的/WR, FSMC_nOE(P85)作为LCD的/RD, LCD的RESET脚用CPU的PE1(P98)(LCD-RST),FSMC_D0---FSMC_D15和LCD的D1-D8 D10-D17相互连接,触摸屏接口采用SPI1接口,片选为PB7-SPI1-CS3,由于LCD背光采用恒流源芯片PT4101控制,采用了PWM控制信号控制背光的明暗, PWM信号由PD13-LIGHT-PWM来控制。
STM32使用说明

STM32F103核心模块开发板使用说明V1.0一、核心模块特点介绍1、MCU:STM32F103VB,Cortex-M3内核,128kB Flash, 20KB RAM,最高工作时钟72MHz,100脚2、USB接口,可以做USB实验3、包括CAN-BUS芯片TJA1050,可做CAN通信实验4、ARM JTAG 2x10 座5、所有 IO 口均引出6、专用复位芯片电路7、电源指示灯、状态指示灯8、两个用户按键9、启动模式选择10、板载5V、3.3V LDO 1117,最大提供 800mA 电流11、USB供电或单电源供电: +9VDC ,电容滤波12、8MHz 晶振,32.768kHz 晶振13、PCB尺寸: 90mm×64mm二、跳线说明1、启动方式选择跳线说明开发板上的启动方式选择跳线R16100KV33231SW2BOOT0R15100KV33231SW1PB2启动方式选择跳线对应的原理图SW1和SW2为STM32启动方式选择跳线,当SW2左边两个插针短接(即中间插针BOOT0与GND 短接),SW1不接任何跳线帽时,为从FLASH 启动模式,正常使用开发板时,此跳线需短接,如上图所示。
当SW1左边两个插针短接(即中间插针PB2与GND 短接,1和2短接),SW2不接任何跳线帽时,为System Memory 模式。
2、其他跳线说明 (1) JP4和JP5开发板上的JP4和JP5跳线JP4和JP5跳线对应的原理图如上图所示,JP4短接后可以通过USB接口给开发板供电,JP5用来选择是否给PA12(D+)提供1.5k电阻的上拉,做USB相关实验时,需短接。
(2) JP8跳线开发板上的JP8跳线V33VDDAJP8跳线对应的原理图JP8跳线用来给STM32芯片的模拟电源选择供电电源,通常情况下,JP8跳线需短接,用+3.3V提供电源。
(3) JP9双排针(4) JP10双排针(5) JP11双排针(6) JP12双排针三、IAR下用Jlink调试STM32核心模块开发板确认SW2,JP8,JP4,JP5跳线正确短接后,开始安装IAR软件,安装EWARM-EV-WEB-511后,在安装后的目录里\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\examples\ST\STM32F10x\IAR-STM32-SK ,打开IAR-STM32-SK.eww文件,它里面包含多个工程,除了LCD_Demo外,其它工程均无需改动,可以直接使用JLINK下载调试。
详解STM32 ISP设置及使用说明

详解STM32 ISP设置及使用说明(原创)1. STM32的BOOT概述STM32三种启动模式对应的存储介质均是芯片内置的,它们是:用户闪存:BOOT1=x BOOT0=0芯片内置的Flash,即主存储器FlashSRAM:BOOT1=1 BOOT0=1芯片内置的SRAM 区,就是内存啦。
系统存储器:BOOT1=0 BOOT0=1芯片内部一块特定的区域,叫做系统存储器。
芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。
这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM 区。
在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表:BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。
BOOT1=1 BOOT0=1 从内置SRAM 启动,这种模式可以用于调试。
要注意的是,一般不使用内置SRAM 启动(BOOT1=1 BOOT0=1),因为SRAM 掉电后数据就丢失。
多数情况下SRAM 只是在调试时使用,也可以做其他一些用途。
如做故障的局部诊断,写一段小程序加载到SRAM 中诊断板上的其他电路,或用此方法读写板上的Flash 或EEPROM 等。
还可以通过这种方法解除内部Flash 的读写保护,当然解除读写保护的同时Flash 的内容也被自动清除,以防止恶意的软件拷贝。
一般BOOT0 和BOOT1 跳线都跳到0(GND),即正常的从片内Flash运行,只是在ISP下载的情况下,需要设置BOOT0=1,BOOT1=0 ,下载完成后,把BOOT0 的跳线接回0,这样系统可以正常运行了。
对于一般的应用来说,直接把BOOT0 和BOOT1 引脚接地即可,不用设置跳线,使用IAR 调试程序时可以选择RAM 调试还是Flash 调试,与BOOT0 和BOOT1 的配置无关。
奋斗STM32开发板串口1中断例程详解及实验手册

淘宝店铺:
8
奋斗版 STM32 开发板例程详解———串口 1 中断实验
应答起始位。发送和接收由一共用的波特率发生器驱动,当发送器和接收器的使能位分别置 位时,分别为其产生时钟。每个功能块的详细资料如下给出。 图2 字长设置
单字节通信
清零TXE 位总是通过对数据寄存器的写操作来完成的。TXE 位由硬件来设置,它表明: ● 数据已经从TDR 移送到移位寄存器,数据发送已经开始 ● TDR 寄存器被清空 ● 下一个数据可以被写进USART_DR 寄存器而不会覆盖先前的数据如果TXEIE 位被设置,此 标志将产生一个中断。如果此时USART 正在发送数据,对USART_DR 寄存器的写操作把数据 存进TDR 寄存器,并在当前传输结束时把该数据复制进移位寄存器。如果此时USART 没有在 发送数据,处于空闲状态,对USART_DR 寄存器的写操作直接把数据放进移位寄存器,数据 传输开始,TXE 位立即被置起。当一帧发送完成时(停止位发送后),TC 位被置起,并且 如果USART_CR1 寄存器中的TCIE 位被置起时,中断产生。先读一下USART_SR 寄存器,再写 一下USART_DR 寄存器,可以完成对TC 位的清零。 注意: TC 位也可以通过对它软件写0 来清除。此清零方式只在多缓冲器通信模式 下推荐使用。
断开符号
淘宝店铺:
10
奋斗版 STM32 开发板例程详解———串口 1 中断实验
置位SBK位可发送一个断开符号。断开帧长度取决M位(见图166)。如果SBK位被置1,在完成 当前数据发送后,将在TX线上发送一个断开符号。断开字符发送完成时(在断开符号的停止 位时)SBK被硬件复位。USART在最后一个断开帧的结束处插入一逻辑1 位,以保证能识别下 一帧的起始位。 注意:如果在开始发送断开帧之前,软件又复位了SBK 位,断开符号将不被发送。如果要发 送两个连续的断开帧,SBK 位应该在前一个断开符号的停止位之后置起。
STM32开发板使用说明

STM32开发板使用说明1、开发板使用到的软件及安装说明在开始学习开发板之前需要安装的软件有:1、KEIL3.80A,2、PL-2303HX驱动,3、串口调试助手,4、下载器MCUISP。
这些软件在课件文件下面的软件文件里。
具体安装步骤如下:1.KEIL3.80A的安装,打开路径:课件\软件\KEIL3.80A\MDK3.80A安装手册,根据上面的步骤安装软件。
2.PL-2303HX驱动的安装,打开路径:课件\软件\PL-2303HX新版驱动,可根据使用电脑的操作系统来选择安装的软件,如选择安装XP驱动,可打开XP驱动,根据里面的安装说明来安装软件。
一般只要运行PL-2303 Driver Installer。
exe就可以了。
3.串口调试助手的安装,打开路径:课件\软件\串口调试助手,点击sscom33。
exe即可,也可以创建快捷方式在桌面。
4.下载器MCUISP的安装,打开路径:课件\软件\下载器MCUISP,点击mcuisp。
exe 即可,也可以创建快捷方式在桌面。
2、开发环境介绍及使用说明首先是我们之前安装的keil3.80a。
再点击Project->New uVision Project如下图所示:弹出create new project 对话框,新建一个文件夹TEST,然后把工程名字设为test。
点击保存。
弹出选择器件的对话框,因为我们的开发板使用的是STM32F103RBT6 ,所以在这里我们选择STMicroelectronics 下面的STM32F103RB( 如果使用的是其他系列的芯片,选择相应的型号就可以了)。
如下图所示:点击OK,MDK会弹出一个对话框,问你是否加载启动代码到当前工程下面,这里我们选择是。
启动代码是一段和硬件相关的汇编代码。
是必不可少的!在上面点击了是以后,MDK 就把启动代码STM32F10x。
s 加入到了我们的工程下面。
如下图所示:到这里,我们就可以开始编写自己的代码了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
奋斗版 STM32 开发板例程文档———uIP1.0 ENC28J60 以太网例程uIP1.0 ENC28J60 以太网例程实验平台:奋斗版STM32开发板V2、V2.1、V3 实验内容:本例程演示了在奋斗STM32开发板上完成ARP,ICMP,TCP服务器、WEB 服务器以及UDP服务器,该实验学习了基于uIP1.0网络协议栈的程序编制。
预先需要掌握的知识1.ENC28J60ENC28J60是MICROCHIP公司的带SPI 接口的独立以太网控制器, 以太网控制器特性 • IEEE 802.3 兼容的以太网控制器 • 集成MAC 和10 BASE-T PHY • 接收器和冲突抑制电路 • 支持一个带自动极性检测和校正的10BASE-T 端口 • 支持全双工和半双工模式 • 可编程在发生冲突时自动重发 • 可编程填充和CRC 生成 • 可编程自动拒绝错误数据包 • 最高速度可达10 Mb/s 的SPI 接口 缓冲器 • 8 KB 发送/ 接收数据包双端口SRAM • 可配置发送/ 接收缓冲器大小 • 硬件管理的循环接收FIFO • 字节宽度的随机访问和顺序访问(地址自动递增) • 用于快速数据传送的内部DMA • 硬件支持的IP 校验和计算 介质访问控制器(MAC)特性 • 支持单播、组播和广播数据包 • 可编程数据包过滤,并在以下事件的逻辑“与” 和“或”结果为真时唤醒主机: - 单播目标地址 - 组播地址 广播地址 - Magic Packet - 由64 位哈希表定义的组目标地址 - 多达64 字节的可编程模式匹配(偏移量可由用户定义)淘宝店铺:1奋斗版 STM32 开发板例程文档———uIP1.0 ENC28J60 以太网例程• 环回模式 物理层(PHY)特性 • 整形输出滤波器 • 环回模式 工作特性 • 两个用来表示连接、发送、接收、冲突和全/ 半双工状态的可编程LED 输出 • 使用两个中断引脚的七个中断源 • 25 MHz 时钟 • 带可编程预分频器的时钟输出引脚 • 工作电压范围是3.14V 到3.45V • TTL 电平输入 • 温度范围:-40°C 到+85°C (工业级), 0°C 到 +70°C (商业级)(仅SSOP 封装) • 28 引脚SPDIP、SSOP、SOIC 和QFN 封装概述ENC28J60 是带有行业标准串行外设接口(SerialPeripheral Interface,SPI)的独立以太网控制器。
它可作为任何配备有SPI 的控制器的以太网接口。
ENC28J60 符合IEEE 802.3 的全部规范,采用了一系列包过滤机制以对传入数据包进行限制。
它还提 供了一个内部DMA 模块,以实现快速数据吞吐和硬件支持的IP校验和计算。
与主控制器的通信通过两个中断引脚和SPI 实现, 数据传输速率高达10 Mb/s。
两个专用的引脚用于连接LED,进行网络活动状态指示。
图1-1所示为ENC28J60的简化框图。
图1-2所示为使用该器件的典型应用电路。
要将单片机连接到速率为10 Mbps 的以太网, 只需ENC28J60、两个脉冲变压器和一些无源元件即可。
淘宝店铺:2奋斗版 STM32 开发板例程文档———uIP1.0 ENC28J60 以太网例程ENC28J60 由七个主要功能模块组成: 1. SPI 接口——充当主控制器和ENC28J60 之间通信通道。
2. 控制寄存器——用于控制和监视ENC28J60。
3. 双端口RAM缓冲器——用于接收和发送数据包。
4. 判优器——当DMA、发送和接收模块发出请求时对RAM 缓冲器的访问进行控制。
5. 总线接口——对通过SPI 接收的数据和命令进行解析。
6. MAC (Medium Access Control)模块——实现符合IEEE 802.3 标准的MAC 逻辑。
7. PHY(物理层)模块——对双绞线上的模拟数据进行编码和译码。
该器件还包括其他支持模块,诸如振荡器、片内稳压器、电平变换器(提供可以接受5V 电压的I/O 引脚)和系统控制逻辑。
奋斗板STM32 V3和ENC28J60的连接淘宝店铺:3奋斗版 STM32 开发板例程文档———uIP1.0 ENC28J60 以太网例程2. 轻型以太网协议栈uIP:开源的uIP软件包为嵌入式位处理器建立TCP/IP协议堆栈提供了一种解决方法。
它为互联网提供了一系列必要的协议。
对 代码和数据的内存要求量十分小。
uIP是亚当-邓克尔斯(Adam Dunkels)在瑞典计算机学院开发的。
uIP1.0版本实现了符合 IEEE802.3的比较重要的协议, 例如ARP,ICMP,IP,TCP,UDP等,详细手册可以参考光盘资料目录下的UIP1.0源码目录下的参 考手册。
本例程是选用了uIP1.0版本作为移植版本,移植到了基于STM32F103VET6控制的ENC28J60网络模块上。
实现了以下协议。
ARP:地址解析协议。
IP: 网际协议 ICMP: 因特网信息控制协议(包含了ping的响应) TCP: UDP: 传输控制协议(包含了TCP服务器,WEB服务器) 数据报协议(包含了UDP服务)3. 应用实例设计要求本例程移植uIP-1.0协议栈,演示开发板和PC间的TCP通信。
自定义了一个简单的应用层 有: (1)实现一个TCP服务器,可以通过PC机的TCP客户端控制板子上的LED (2)实现了一个简单的Web服务器。
可以通过PC的浏览器控制板子上的LED (3)实现了一个UDP服务器。
可以通过PC机的UDP客户端控制板子上的LED 本例程设置的缺省IP地址是 192.168.1.15,默认的TCP服务器监听端口是1200, WEB服务器监听端口80, UDP服务器监听端口 2000。
用户可以做如下测试: (1)ping 试验 (ICMP) 点击windows 开始-运行,执行cmd命令,然后在dos窗口输入 ping 192.168.1.15 应该看到如下结果: Reply from 192.168.0.15: bytes=32 time<1ms TTL=128 Reply from 192.168.0.15: bytes=32 time<1ms TTL=128 Reply from 192.168.0.15: bytes=32 time<1ms TTL=128 Reply from 192.168.0.15: bytes=32 time<1ms TTL=128 (2)PC机的TCP客户端控制开发板上的LED试验 (TCP服务器) 通信协议。
本例程实现的功能淘宝店铺:4奋斗版 STM32 开发板例程文档———uIP1.0 ENC28J60 以太网例程运行网络调试助手软件,端口选择1200,服务器IP地址选择192.168.1.15, 协议类型选择TCP客户端, 点击连接按钮,在命令输入窗口输入控制LED的命令字符串,然后点击发送,开发板上对应的LED灯会发生 变化。
命令代码如下: (末尾无0x00和回车字符) ledon 1 ledoff 1 ledon 2 ledoff 2 ledon 3 ledoff 3 ----- 点亮LED1 ----- 关闭LED1 ----- 点亮LED2 ----- 关闭LED2 ----- 点亮LED3 ----- 关闭LED3 (WEB服务器) 可以看到基于uIP的Web测试页面,在对话框输入1-3,点确定按钮,(3)WEB网页控制开发板上的LED试验打开IE浏览器,在地址栏输入http://192.168.1.15可以控制相应的LED点亮。
网页保存在httpd-fsdata.c的data_index_html数组里, 是通过amo的编程小工具集合转换的,可以 在奋斗论坛下载到。
(4)UDP服务器实验 本地UDP端口默认是2000, 远端UDP可以直接连接本地端口,并进行通信 命令代码如下: (末尾无0x00和回车字符) getname ledon 1 ledoff 1 ledon 2 ledoff 2 ledon 3 ledoff 3 ------返回板子的信息 ----- 点亮LED1 ----- 关闭LED1 ----- 点亮LED2 ----- 关闭LED2 ----- 点亮LED3 ----- 关闭LED33.2 硬件电路连接用网络线把PC和开发板连接起来。
需要注意的是,由于开发板断的网络芯片配置为10M 全双工。
由于该芯片不具有自动协 商功能,需要将PC端得网络设置为10M 全双工。
否则采用自动协商的话,会判别开发板采用的是10M 半双工, 由于开发板默 认的IP地址设置为192.168.1.15, 需要将连接的网络设备设置为192.168.1.X, 否则会引起不能正常通信。
3.3 软件程序设计根据任务要求,主程序内容主要包括: 1. 2. 3. 4. 5. 6. 7. 8. 9. 设置系统时钟为72Mhz 中断源配置 (采用了ENC28J60的中断接收模式) 串口1初始化(用于监视网络状态) GPIO接口初始化 (配置LED控制) SPI1接口初始化 (用于END28J60的控制) 网络配置初始化 (ENC28J60的初始化设置以及uip的接口函数设置) 创建TCP服务器端口及WEB服务器端口 根据接收的UDP包进行UDP初始化设置 (绑定远端及本地的IP及端口) 网络状态监控及响应。
整个工程包含6类源文件:淘宝店铺:5奋斗版 STM32 开发板例程文档———uIP1.0 ENC28J60 以太网例程Startup--startup_stm32f10x_hd.s由于奋斗板采用的是STM32F103大存储器芯片,因此采用STM32标准库自带的大存储器芯片启动代码,这个文件已经配置好了初始状态,以及中断向量表。
可以直接在工程里使用,如果你在以后的应用中采用了中存储 器或者小存储器STM32芯片,可以将启动代码换为startup_stm32f10x_md.s 或者startup_stm32f10x_ld.s。
FWLIB--stm32f10x_gpio.c ST公司的标准库,包含了关于对通用IO口设置的函数。
stm32f10x_rcc.c stm32f10x_USART.c ST公司的标准库,包含了关于对系统时钟及外设设置的函数。
ST公司的标准库,包含了关于串口的函数。
stm32f10x_SPI.c ST公司的标准库,包含了关于SPI的函数。
stm32f10x_EXTI.c ST公司的标准库,包含了关于EXTI中断的函数。