奋斗板子例程函数梳理分析

上传人:206****923 文档编号:37505717 上传时间:2018-04-17 格式:DOC 页数:17 大小:6.19MB
返回 下载 相关 举报
奋斗板子例程函数梳理分析_第1页
第1页 / 共17页
奋斗板子例程函数梳理分析_第2页
第2页 / 共17页
奋斗板子例程函数梳理分析_第3页
第3页 / 共17页
奋斗板子例程函数梳理分析_第4页
第4页 / 共17页
奋斗板子例程函数梳理分析_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《奋斗板子例程函数梳理分析》由会员分享,可在线阅读,更多相关《奋斗板子例程函数梳理分析(17页珍藏版)》请在金锄头文库上搜索。

1、窗体回调函数,获得窗体部件的 ID 和动作代码,当窗体部件的值改变后调用_OnValueChanged(hDlg, Id)函数 窗体部件的值被改变的动作函数,本例中是空函数 显示及处理界面函数,通过 GUI_CreateDialogBox 函数建立窗体,包含了资源列表,资源数目, 并指定回调函数_cbCallback,通过 FRAMEWIN_SetFont(接上一行)设置窗体字体,设置 TEXT、按钮、Multiedit 部件属性、Mac 地址、IP 地址、网关等,响应触摸按键,显示连接状态 和收到的数据。 通过 OSInit 进行 ucOS 初始化,通过 BSP_init 硬件平台初始化,建

2、立主任务,uCOS 节拍计数器清零,启动 uCOS 内核 开始任务,初始化 ucosII 时钟节拍,OSStatInit()使能 ucos 的统计任务,建立其他的任务,读取 IP 包返回数据长度传递网络接收完成信号量,调用 eth_poll 建立其余任务,建立网络数据包接收完成的信号量, 建立用户界面、触摸驱动、网络处理任务 用户界面任务,调用 GUI_Init()初始化 ucgui,循环调用 Fun()函数显示及处理界面 触屏坐标获取任务,延时 10ms 会调用 GUI_TOUCH_Exec()读取一次触摸坐标 网络处理任务,循环调用 OSSemPend(ETH_SEM,0,是屏幕分辨率,G

3、UI_TOUCH_SetOrientation(DISPLAY_ORIENTATION)是显示方向的宏定义. 文件中#define XSIZE_PHYS 240,#define YSIZE_PHYS 400 是液晶屏分辨率定义。 #define DISPLAY_ORIENTATION (GUI_SWAP_XY | GUI_MIRROR_Y )是显示方向定义 #define GUI_TOUCH_AD_LEFT 170 #define GUI_TOUCH_AD_RIGHT 3774 #define GUI_TOUCH_AD_TOP 170 #define GUI_TOUCH_AD_BOTTOM 3

4、920是触摸参数驱动 在_InitController()语句中调用 LCD 初始化代码 以下是 emwin 移植例程的部分函数Uip 的头文件,无需更改 Uip 的 web 服务演示头文件,定义了 httpd_state_t 结构体数据类型,声明了初始化 web 服务器函数与 http 服务器处理函数 Uip 的 web 服务例程的 HTTP 文件存储文件的头文件 Uip 的 ARP 头文件 Enc28j60 网卡配置文件的头文件,包含网卡寄存器宏定义、SPI 操作码、IO 寄存器脚,最大数据帧长度,声明网卡读写操作函数等 配置 Uip 和 Enc28j60 的数据交互,声明网卡初始化 ta

5、pdev_init()、读包 tapdev_read ()、发包 tapdev_send()函数。该文件在 bsp.c 和 stm32f10x_it.c 中被引用。 C 标准库头文件,定义了一些标准宏以及类型。Lc_switch.h http.h http-fs.h uip_arp.h Enc28j60.h Tapdev.h Stddef.h画 16BPP 位图,无需修改 画 1BPP 位图,无需修改 画 2BPP 位图,无需修改 画 32BPP 位图,无需修改 画 4BPP 位图,无需修改 画 8BPP 位图,无需修改 通用绘制位图函数 绘制水平线,最终调用_SetPixelIndex()函

6、数 绘制垂直线,最终调用_SetPixelIndex()函数 填充矩形修改 LCD 控制器的查询表类的单个条目反转一个像素串行 FLASH 存储器与 FATFS 文件系统例程板级初始化文件 完成系统时钟初始化、GPIO 配置、串口、Flash、触屏、FSMC TFT 接口初始化,调用 OutPutFile()函数进行文件系统初始化并输出根目录下文件名。 GPIO 端口设置,主要是 flash 芯片片选 整形数据转字符串函数 Ucos 系统时钟节拍初始化,初始设置为 10ms 一次节拍 调用 systeminit()配置系统时钟 72MHz,复用时钟使能 SPI1 写函数 SPI1 写延时函数

7、触屏初始化,使能 SPI1 时钟,进行 SPI1 的 SCK(PA5) 、MISO(PA6) 、MOSI(PA7) 、片选 PB7 引脚进行设置,并禁用挂接在 SPI1 总线上的其他 3 个冲突外设 触屏 X 轴数据读出 触屏 Y 轴数据读出 串口配置 格式化串口输出函数(通过串口输出数据) CP936 简体中文字符库 Unicode 与 OEMCP 转换函数(查) (查) CM3 内核函数 FATFS 文件系统底层驱动的实现函数 存储媒介初始化函数 存储媒介控制函数 读扇区函数 状态检测函数,检测是否支持当前的存储介质,对于 tiny-FATFS,函数参数 dry 为 0 默认为支持 写扇区

8、函数 实时时钟函数,未用,返回 0 FATFS 文件系统文件 (略) 读取一个扇区并检查是否为 FAT 格式 变更当前目录 变更当前驱动器 更改属性 关闭一个文件 分割物理驱动盘 直接转发文件数据流 检索当前目录 获取未用的簇 读一个字符串 移动文件读/写指针,扩展文件大小 创建一个目录 在驱动盘创建一个文件系统 登记或注销一个工作域 打开或创建文件 打开一个目录 写一个格式化字串 写一个字符 写一个字符串原子扩展例程网络实验,LWIP ucos,页码指原子 探索者 STM32F4 LWIP 开发教程页码读文件 阅读目录项目 重命名/移动文件或目录 获取文件状态 刷新缓存的数据 截断文件的大小

9、 删除文件或目录 变更时间戳 写文件 Uc/GUI 图形用户接口,包括对话框等控件创建以及文件内容显示功能的实现 窗体回调函数,实现打开文件、列表框高亮条上移下移,文本框内容上翻下翻。 显示及处理界面,调用 GUI_CreateDialogBox()建立窗体,包含资源列表,资源数目,指定回调函数,设置按钮、multiedit 控件等。 流文件输出,由 BSP_Init()调用,对文件系统初始化,通过串口输出 Flash 内的文件名,将文件名保存在列表框控件,备 Fun()函数显示 Flash 应用配置与底层驱动函数 读该 Flash 芯片工厂码及型号的功能函数 读 Flash 芯片的状态寄存器

10、 Flash 芯片的页擦除 用于连接 Flash 芯片的串行通信外设接口初始化,并定义 SPI 接口的相关引脚和 SPI 接口相关参数。 从 Flash 芯片读一个字节 向 SPI 接口发送/接收一次数据 Flash 芯片块读操作 Flash 芯片块写操作 Flash 芯片写禁止 Flash 芯片写使能 Flash 芯片忙检测 Flash 芯片写状态 文件系统结构体,文件与文件夹结构体,目录相关的结构体,文件状态结构体,声明功能函数与各类返回值, FatFs 模块的整数类型定义 对文件系统进行配置 FatFs and disk I/O 模块公用的包含文件ff.h integer.h ffcon

11、f.h diskio.hNETCONN 的各个 API 函数,预留给用户的编程接口 P128 与 api_msg.c 中的内核 API 函数相配合完成完整的 API 功能。 用于 TCP 服务器程序,服务器调用此函数获得新的链接。调用此函数前需先调用 netconn_listen_with_backlog()函数将连接置为侦听状态。 将一个连接结构与本地 IP 地址和端口号进行绑定 关闭一个 TCP 连接,用户自己应调用 netconn_delete()函数删除连接结构占用的内存,否则造成内存泄露。将一个连接结构与目的 IP 地址与端口号进行绑定,连接服务器。 删除一个 netconn 连接结

12、构 用于 UDP 连接结构中,用于断开与服务器的连接 获取一个 netconn 连接结构的源 IP 地址和源端口号,或目的 IP 地址和目的端口号 使用 DNS 的查询功能,name 包含请求解析的域名,addr 是域名服务器返回的 IP 地址。 加入或退出一个多播组。Multiaddr 指多播组地址(D 类地址) ,interface 指本地 IP 地址,join_or_leave 表示加入或退出一个多播组。 在 TCP 服务器程序中使用,调用此函数获得一个新连接,将 TCP 控制块设置为侦听状态。 建立一个确定类型的连接,并为其分配一个回调函数。参数中 proto:RAW IP pcb 的

13、 IP 协议,callback:当物理链路有数据接收或发送时调用的回调函数。从连接的 recvmbox 邮箱中接收数据包,可用于 TCP 和 UDP 连接在已经建立的 UDP 上发送数据,若 IP 层分片未使能,则 netbuf 中的数据长度不能超过 MTU 值。在稳定的 TCP 连接上发送数据,对数据长度无限制。 内核进程中包含 API 消息的封装与处理函数 使用新连接的 TCP 控制块建立一个新的连接结构 netconn,并将该结构投递到服务器连接的 acceptmbox 邮箱中。TCP 客户端发起连接请求并完成三次握手后 TCP 控制块的 connected 函数被回调执行,释放信号量

14、op_completed,表示连接建立完毕。使用 DNS 的查询功能(用户需保证 dna_init 函数在协议栈初始化时被调用) 。在 TCP 内核中某个连接出现错误时调用,通知上层发生错误,如有 API 函数阻塞在连接上则释放 op_completed 信号量解除阻塞。由 TCP 慢定时器周期调用处理用户周期性事件,检查 netccon 是否仍处于数据发送状态,数据发完后释放 netconn 结构中 op_completed 信号量,解除阻塞。内 TCP 核接收到某个 TCP 控制块数据后,在控制块上注册的用户函数 recv 将被回调执行,将数据包 pbuf 递交到连接结构 netconn

15、的 recvmbox 邮箱上。 内 UDP 核接收到某个控制块函数后,在 UDP 控制块上注册的用户函数 recv 将被回调执行,将 pbuf 组装成 betbuf 并投递连接到 netconn 的 recvmbox 邮箱中。 本地待确认数据被对方 TCP 报文 ACK 确认后,调用 do_writemore 检查当前连接 netconn 是否仍有数据发送,数据发完后释放 netconn 结构中 op_completed 信号量DHCP(动态地址分配)客户端所有代码。dhcp_start 启动一个 DHCP 客户端,基于 UDP 实现。使用 Dhcp_stop 终止客户端。终止后 IP 地址失

16、效,必须手动指定。DNS(动态域名)客户端所有代码包含了 ARP 协议实现的相关函数,用于主机以太网物理地址到 IP 地址的映射。Etharp_tmr():定时函数,将表项生存时间大于设定值的项目删除。 网卡相关的函数,ethernetif_init()初始化(调用 low_level_init()、ethernetif_input()接收(调用 low_level_input()) 、low_level_output()发送,这些函数由移植者完成包含 ICMP 协议实现的相关函数:目的不可达 icmp_dest_unreach(),数据报超时 icmp_time_exceeded(),回送请求或回答 icmp_send_response(),用于 IP 层调用.icmp_input() 包含网络组管理协议 IGMP 的实现,为网络多播数据传输提供支持。仅 UDP 可以使用 IGMP 的多播功能。 包含 IP 层使用到的一些功能函数的定义,如 IP 地址转换,网络字节序和主机字节序转换等 包含 IP 数据包校验的相关函

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号