当前位置:首页 » 币种行情 » stm32eth标准库

stm32eth标准库

发布时间: 2022-07-03 21:25:36

1. 如何使用STM32CubeMX配置ETH

具体配置过程:
1、打开STM32CubeMX,并选择好相应的芯片。
文中的芯片为STM32F207VCT6,选择后:
2、配置RCC时钟、ETH、PA8以及使能LWIP;
由于此处的开发板硬件上为RMII方式,因此选择ETH-RMII,若有同志的开发板为MII方式,请参考MII的配置方法,此处只针对RMII;
RCC选择外部时钟源,另外勾选MCO1,软件会自动将PA8配置为MCO1模式,该引脚对于RMII方式很重要,用于为PHY芯片提供50MHz时钟;
使能LWIP;
3、时钟树的相关配置,必须保证MCO1输出为50Mhz,如果这个频率不对会导致PHY芯片无法工作;
这里因为芯片为207VCT6,为了使MCO1输出为50Mhz,做了PLL倍频参数的一些调整,总体如下:(同志们配置时可根据自己的芯片灵活配置,但需保证MCO1的输出为50Mhz)
4、ETH、LWIP、RCC相关参数设置;
至此,比较重要的都在前面了,但是还有一点仍需要注意,即PA8引脚输出速度,几次不成功都是因为这个引脚没注意。
后续的参数设置可以根据同志们自己的需求分别设置,这里给出设置供参考;
ETH参数保持默认,但中断勾选一下;
LWIP参数设置如下:(因为这里是配置UDP服务器,IP选择静态分配)
5、生成工程,做最后的函数修改;
给生成的工程添加UDP服务器的初始化以及端口绑定等相关函数;
这里直接将之前的官方例程中的UDP服务器文件加进来,如下:
之后将。
c文件添加到用户程序,主函数添加Udp的。
h头文件;
如下:(udp文件的具体内容在后面给出)
6、主函数还需要添加一下几个函数,在这里不对函数作用及实现原理讲解,仅做添加说明。

2. 你好,我也是刚接触STM32,很多东西都不懂,看了你讲解的很详细,那个ST标准库哪里有下载啊

你去装一下高一点的keil版本,在rv31文件夹里的st里就有了

3. STM32标准库函数是不是所有的都能用

应该不能吧,F1/F2/F4他们寄存器的定义应该不一样,同一个函数在这个芯片里面操作这个寄存器,在另一个芯片可能操作的就不是了。还是F1对应F1库函数,F2对应F2库函数比较好。

4. STM32 CUBE和标准库各有什么优缺点

有了cube,以且就慢慢的没有标准库了,所以不管怎么样,尽量用cube

5. STM32的HAL库和标准外设库中定义了很多布尔类型的变量,请简述下列常量的含义

摘要 缩写定义 标准外设库中的主要外设均采用了缩写的形式,通过这些缩写可以很容易的辨认对应的外设。

6. STM32L071 有标准库开发吗

使用标准外设库进行开发最大的优势就在于可以使开发者不用深入了解底层硬件细节就可以灵活规范的使用每一个外设。

7. STM32Cube库和standard peripheral library有什么区别

这两套库存在很大的区别,现在这两套库ST公司由两个开发团队在维护;
HAL库(STM32Cube)有点类似面向对象的库,里面封装了很多东西,对于想理解深入(或底层的人, 不适合用这个库)。

标准外设库是开发STM32比较经典的库,直接反应底层(寄存器)的代码,适合初学者,或需要深入理解的人。

关于STM32CubeMX的文章:
STM32CubeMX介绍、下载与安装:
http://blog.csdn.net/ybhuangfugui/article/details/52225736

STM32CubeMX使用方法及功能介绍:
http://blog.csdn.net/ybhuangfugui/article/details/52264403

STM32CubeMX新建工程+基本IO配置过程:
http://blog.csdn.net/ybhuangfugui/article/details/52281260

STM32CubeMX软件工程描述_USART配置过程:
http://blog.csdn.net/ybhuangfugui/article/details/52332504

8. 如何将stm32标准库封装成lib

以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程。

这个编译过程是一个相当慢的过程!完全编译大约需要一支烟的时间。每次建立工程都这么编译,是一个相当浪费时间和香烟的过程。

于是,我有了将库编译成lib文件的想法。本博文就是我将STM32F4的标准库编译成lib文件并在工程中使用的过程。

适用对象:

1、熟悉库,不想再看库里边代码

2、有稳定的库,库文件更新不频繁

3、库文件多,每次编译时间长

下面是我将STM32F4的标准库编译成lib并在工程中使用的过程:

使用工具链:MDK4.70A。其实各个工具链几乎是一样的

1、建立创建lib的工程

2、将库文件拷贝到工程目录:

将库里边目录\STM32F4xx_StdPeriph_lib v1.0.2\STM32F4xx_StdPeriph_Driver下的inc和src两个文件夹拷贝到预创建工程的目录。

我计划在目录E:\学习\ARM\库\stm32f4-2中创建库。于是我将两个文件夹拷贝到了这里。

3、选择芯片:STM32F407VG

4、选择NO。因为这不是可运行的程序,这里不需要加入启动文件。

5、创建完工程后,工程结构如图:

6、MDK中点击工具栏上的设置工程结构,并将库文件加入工程:

为了通用,我将库中所有的C文件都加入了工程

7、完成后MDK下的目录结构:

8、MDK下设置输出选项:

工程选项中设置输出,选择输出lib到目录E:\学习\ARM\库\stm32f4-2\lib\:

9、设置C语言预编译宏和引用目录:

因为要使用STM32F4标准库,预编译选项设置:USE_STDPERIPH_DRIVER,STM32F4XX

将刚才拷贝的inc和工程根目录文件夹加入引用:

10、设置完成后:

11、将stm32f4xx_conf.h文件拷贝到工程:

这个文件需要在标准库提供的示例工程中找:

我使用的是\STM32F4-Discovery_FW_V1.1.0\Project\Peripheral_Examples\ADC3_DMA\stm32f4xx_conf.h

这个文件引用了库文件中所有的头文件。因为不包含在库中,我将这个文件拷贝到E:\学习\ARM\库\stm32f4-2文件夹。

12、到此,工程设置完成。按F7编译,经过一支烟的时间即可生成库的lib。

生成完成后,MDK工程中:

13、工程输出目录:

文件stm32f4lib.lib就是我们生成的lib文件

14、将库文件加入该工程

15、新建工程,我命名成stm32f4use,处理器依旧选择STM32F407VG。

16、这是选择yes,因为这是一个可执行的工程:

17、将标准库示例工程的\STM32F4-Discovery_FW_V1.1.0\Project\Peripheral_Examples\ADC3_DMA中的system_stm32f4xx.c拷贝到工程目录(E:\学习\ARM\库\stm32f4-2)中

18、再次点击菜单上的设置工程目录结构,将刚才生成的lib库加入到工程中:

19、将示例工程\STM32F4-Discovery_FW_V1.1.0\Project\Peripheral_Examples\ADC3_DMA中的system_stm32f4xx.c拷贝到工程目录。

20、将main.c和 system_stm32f4xx.c 加入到工程

21、完成后的目录结构:

22、加入编译选项

与上边生成lib相似,预编译选项设置:USE_STDPERIPH_DRIVER,STM32F4XX

引用目录:.\inc;..\stm32f4-2 (这里的.\inc;..文件夹就是刚才建立库时候的文件夹)

输出可执行文件:

23、添加几行简单的代码

//点亮一个LED
#include <stm32f4xx.h>
#include "stm32f4xx_conf.h"
#include "stm32f4xx_tim.h"

int main()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD,ENABLE);

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOD,&GPIO_InitStructure);
GPIO_SetBits(GPIOD,GPIO_Pin_12);

while(1);
}

24、工程设置完成,按F7试试。现在编译速度快起来了,点个烟的时间就编译完了

9. STM32F4 AHL库和标准函数库区别在哪

标准库3.5之后已经不再更新了,有些新出的芯片已经不支持标准库了。
HAL库是官方推广的,比如cubeMx生成的底层都是Hal库。两者底层有些是相同的都是操作寄存器,一些函数也是近似,但是HAL有一些新的机制,两者会越来越不一样的,学着使用HAL库吧。

10. stm32g474能用标准库吗

新出的芯片,估计不会有标准库了,用HAL吧。

热点内容
大学生需要了解的区块链 发布:2025-07-04 10:31:22 浏览:972
元宇宙旅游媒体 发布:2025-07-04 10:31:20 浏览:627
交换机的eth口干嘛的 发布:2025-07-04 10:29:54 浏览:664
shib币地址 发布:2025-07-04 10:13:47 浏览:769
eth算力报告数据 发布:2025-07-04 09:59:35 浏览:71
lp矿池是什么意思 发布:2025-07-04 09:47:24 浏览:2
usdt政策 发布:2025-07-04 09:39:14 浏览:886
btc如何地址充值 发布:2025-07-04 09:34:18 浏览:433
币圈术语2019 发布:2025-07-04 08:59:43 浏览:892
usdt支付接口视频教程 发布:2025-07-04 08:38:00 浏览:972