概念所谓表驱动法(Table-Driven Approach)简而言之就是用查表的方法获取数据。此处的“表”通常为数组,但可视为数据库的一种体现。根据字典中的部首检字表查找读音未知的汉字就是典型的表驱动法,即以每个字的字形为依据,计算出一个索引值,并映射到对应的页数。相比一页一页地顺序翻字典查字,部
知晓编程 关注Ta
资深嵌入式软件开发工程师,分享嵌入式软硬件方面知识。
关于软件定时器的一些讨论
简介这里先介绍下软件定时器和硬件定时器的区别硬件定时器:CPU内部自带的定时器模块,通过初始化、配置可以实现定时,定时时间到以后就会执行相应的定时器中断处理函数。硬件定时器一般都带有其它功能,比如PWM输出、输入捕获等等功能。但是缺点是硬件定时器数量少!!软件定时器:软件定时器允许设置一段时间,当设
之前的文章主要介绍了STM32的ExternalPHY Intereface部分,《STM32网络电路设计》也就是下图区域1。本文将重点讲解STM32的MAC控制器,也就是下图区域2。01STM32的MAC概述STM32的MAC控制器全称是:MediaAccess Control。STM32F207
STM32网络控制器框图如下:前面的文章我们已经讲解了:①External PHY Intereface:《STM32网络电路设计》②MAC控制器:《STM32MAC控制器》下面我们讲解第③部分,STM32网络的DMA控制器。01DMA控制器操作DMA具有自主的发送和接收引擎,还有一个CSR(控制和
PHY寄存器
在之前的文章,我们讲解了STM32的网络外设部分。文章有《STM32网络电路设计》《STM32网络之MAC控制器》《STM32网络之DMA控制器》《STM32网络之中断》。STM32只有网络外设时不能进行网络通信的,因为STM32只提供了SMI接口,MII和RMII接口。我们还需要与之通信的外部网络
Lwip数据包管理
01数据包结构-pbuf1.1、pbuf结构LWIP是TCP/IP协议栈的一种具体实现,本质就是对数据包的处理,在LWIP中使用一个被称为pbuf的结构管理数据包,LWIP源码中的pbuf.c和pbuf.h这两个文件就是关于pbuf的,pbuf结构如下:在pbuf.h文件中下面是翻译版struct
Lwip内存管理策略
01内存池LWIP中的内存池(POOL)分配策略简单,但是内存的分配、释放效率高,可以有效的防止内存碎片的产生。在内存的策略下用户只能申请固定大小的空间,内存池方法主要用于LWIP内核中固定数据结构的分配,比如UDP控制块,TCP控制块等。LWIP内核在初始化的时候已经为每个数据结构类型都初始化了一
01网络接口简介TCP/IP参考模型中网络分为4层:应用层、传输层、网络层和网络接口层。网络接口层就对应着我们实际的网卡,LWIP支持多网口设计,LWIP中使用netif来描述每种网络接口的特性,如接口的IP地址、接口状态等等。那么如果有多个网卡的话LWIP是如何来组织这些网卡呢?在LWIP中用链表
下文将介绍STM32F207的时钟系统如何将25M晶振时钟转换为120M系统主频时钟的。01、时钟系统介绍▲时钟系统专业名词缩写时钟系统关键组成部分01、内部高速时钟(HSI)HSI时钟信号可以通过内部16MHZ的RC振荡器产生,可以直接用
开发板设计
在MCU的学习中,大部分人都是学习别人的开发板,例如正点原子、野火等,优点是有可靠的教程和代码,缺点是容易让人有种自己全部都学会的了错觉,听了课程编写了代码,运行正常。这个时候,可以尝试自已做一块属于自己的开发板,尽管它的电气特性可能没有那么好,没有达到商用的标准,但这个过程中会踩到很多坑,这样对驱