STM32H743使用CubeMX配置Lwip、Freertos

这篇具有很好参考价值的文章主要介绍了STM32H743使用CubeMX配置Lwip、Freertos。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、开发环境

硬件:野火挑战者开发板STM32H743IIT6
软件版本: CubeMX 6.7.0 STM32CubeH7 Firmware Package V1.11.0 / 04-Nov-2022

原理图:
cubemx 配置lwip,STM32,stm32
cubemx 配置lwip,STM32,stm32cubemx 配置lwip,STM32,stm32

2、配置时钟

cubemx 配置lwip,STM32,stm32
时钟树参数仅供参考
cubemx 配置lwip,STM32,stm32

3、配置MPU

MPU配置需要查相关资料,一知半解
cubemx 配置lwip,STM32,stm32

4、配置调试串口

修改GPIO与硬件原理图对应,串口参数默认
cubemx 配置lwip,STM32,stm32

5、配置网口

参数配置与硬件对应
cubemx 配置lwip,STM32,stm32
此处网络收发地址非常重要!!!
cubemx 配置lwip,STM32,stm32
使能中断
cubemx 配置lwip,STM32,stm32

6、配置Lwip

cubemx 配置lwip,STM32,stm32
cubemx 配置lwip,STM32,stm32

7、生成keil工程

cubemx 配置lwip,STM32,stm32
cubemx 配置lwip,STM32,stm32
串口printf函数相关配置
cubemx 配置lwip,STM32,stm32

/void Usart_SendString(uint8_t *str)
{
	unsigned int k=0;
  do 
  {
      HAL_UART_Transmit( &huart1,(uint8_t *)(str + k) ,1,1000);
      k++;
  } while(*(str + k)!='\0');
  
}
///重定向c库函数printf到串口DEBUG_USART,重定向后可使用printf函数
int fputc(int ch, FILE *f)
{
	/* 发送一个字节数据到串口DEBUG_USART */
	HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 1000);	
	
	return (ch);
}

///重定向c库函数scanf到串口DEBUG_USART,重写向后可使用scanf、getchar等函数
int fgetc(FILE *f)
{
		
	int ch;
	HAL_UART_Receive(&huart1, (uint8_t *)&ch, 1, 1000);	
	return (ch);
}

添加打印、网络处理函数
cubemx 配置lwip,STM32,stm32

编译程序,测试网络、串口功能
cubemx 配置lwip,STM32,stm32

8、添加Freertos

cubemx 配置lwip,STM32,stm32
!!!!!下面这一步非常重要,卡了很长时间才找到原因!!!!!
cubemx 配置lwip,STM32,stm32

生成keil工程,屏蔽之前的调试程序
cubemx 配置lwip,STM32,stm32
添加如下代码:
cubemx 配置lwip,STM32,stm32

测试网络:
cubemx 配置lwip,STM32,stm32

9、测试网络传输性能

单板上使用的LAN8720,而CubeMX配置的是LAN8742,两者稍有差异,按照下图配置为100M速率,否则速率为10M
cubemx 配置lwip,STM32,stm32

参考:https://www.freesion.com/article/29491218149/
[野火]《LwIP应用开发实战指南—基于野火 STM32 全系列(M4-M7)开发板》
cubemx 配置lwip,STM32,stm32

10、总结

在开发过程中,由于很多细节不清楚,走了很多弯路,临时查了很多资料,没有完全吸收,有很多地方还不是很明白,需要继续学习。最后,欢迎大家留言讨论以及提出指导意见。文章来源地址https://www.toymoban.com/news/detail-731121.html

到了这里,关于STM32H743使用CubeMX配置Lwip、Freertos的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • EtherCAT主站源码 基于STM32F407和STM32H743两款芯片 通过移植开源SOME主站代码,使两款芯片具有EtherCAT主站功能,支持DC同步功能

    EtherCAT主站源码基于STM32F407和STM32H743两款芯片,通过移植开源SOME主站代码,使两款芯片具有EtherCAT主站功能,支持DC同步功能。可支持汇川IS620N、松下A5B/A6B、欧姆龙G5系列、埃斯顿ProNet、迈信EP3E、台达A2-E,伟创SD700这几款EtherCAT总线伺服。支持的这些驱动器可以混用,主站自动

    2024年02月04日
    浏览(52)
  • STM32H723 + DP83848 + LWIP + RT-Thread(FreeRTOS) + STM32CubeMX + Keil MDK 超详细

    MCU:STM32H723ZGT ETH PHY :DP83848 RT-Thread:RT-Thread nano 3.1.5 Software Pack:STM32CubeH7 Firmware Package V1.10.0 / 11-February-2022 STM32H723配置以太网+Freertos注意事项 STM32H723+Lwip+ETH+CUBE 完整配置(排了巨多坑!) Cube配置STM32H743+DP83848以太网工程 STM32H743+CubeMX-梳理MPU的设置 首先使用 CubeMX配置相关外

    2024年02月13日
    浏览(52)
  • STM32CUBEMX配置STM32H750时钟480M时失败

    STM32H750最高的时钟是支持480M的,但是在CUBEMX新建工程配置始终时,却无法设置为480M。 解决方案如下: 原因是电压级别设置的问题。STM32CUBEMX默认设置的事VOS3,是不能支持480M运行的。 在H750的参考手册中有相应的描述 必须设置为0时,系统的时钟才能达到最高的480MHz ‍ ‍

    2024年02月16日
    浏览(61)
  • 【LWIP】stm32用CubeMX(6.4版)配置LwIP+Ping+TCPclient+TCPserver发送信息到PC(操作部分)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 这是我写的第一篇博客,欢迎大家给点鼓励和提出建议! 本人由于理想和爱好,辞去土木工作,于不到一个月前入职某科技公司开始从事嵌入式,专业能力和刚毕业的大学生一样都是很薄弱的。然后被

    2024年02月03日
    浏览(32)
  • 【物联网学习笔记】CubeMx+STM32F407ZGT6+LWIP最最最基础配置

    使用正点原子探索者开发板 板载芯片:STM32F407ZGT6 PHY芯片:LAN8720 LWIP版本:2.1.2 本次目标:先ping通开发板再说! 修订: · 2024.4.23经评论区反馈又重新下载6.10版本CubeMX,发现确实没有Advanced Parameters,目前使用6.6.1存在,如有需要可以改成这个版本。 更改引脚 在ethernetif.c中找

    2024年04月27日
    浏览(73)
  • 【通过STM32CubeMx配置LWIP+FreeRTOS并通过Socket实现TCP_Client/Sever】

    测试平台 → Nucleo_F429ZI 软件工具 → STM32CubeMx 6.6.1 MDK 5.3.0 网络调试助手V1.2 在CubeMx上面选择NUCLEO-F429ZI开发板,并采用默认配置 使能FreeRTOS 修改defaultTask的栈大小 由于使用了FreeRTOS,因此系统的TimeBase Source修改成TIM1 使能LWIP,并且先禁用DHCP,设置好静态IP Platform选择LAN8742 修改

    2024年02月08日
    浏览(46)
  • STM32 CubeMX LwIP + freertOS 移植

    开发板: 官方 STM32F746  MCU型号:STM32F746NGH 网卡型号:LAN8742A  原理图如下 先用裸机测试LAN8742A的网卡驱动 使用CubeMX创建工程 系统时钟和时基定时器如下 无系统LWIP协议栈设置,静态IP地址,关闭DHCP 生产代码,下载进开发板。开发板网口与电脑网口通过网线直连,设置电脑本

    2024年01月16日
    浏览(87)
  • STM32 CubeMX 无法将 STM32H7 的最大 CPU 频率设置为 480 MHz

    使用stm32cubemx设置时钟树为480MHz时,提示 cpu clock frequency must be =200MHZ 对于STM32H7 需要CPU修订版 为 V 才能达到 480 MHz 的最大频率。 使用STM32Programmer查看芯片修订版,确认是V版本: 在STM32CubeMX PinConfiguration 界面修改RCC选项,将Product Version设置为V: 此时时钟树界面已可以设置48

    2024年02月16日
    浏览(50)
  • 使用STM32CubeMX创建STM32工程(串口,硬件IIC配置)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 最近教研室的项目需要使用STM32做处理器,对环境数据进行采集处理,在拿到板子后,需要根据单片机具体型号(STM32F411CEU6)创建工程,再进行上层应用的开发。因为以前都是用的F1系列的开发板,用的

    2023年04月18日
    浏览(51)
  • STM32H5开发(5)----串口打印配置

    在使用STM32CUBEIDE开发STM32H5项目时,串口打印被证明是一项极其有益的调试工具,能够在开发过程中实时输出信息和调试数据,起到了至关重要的作用。通过充分利用串口打印功能,开发者可以轻松地在代码中插入打印语句,通过串口将这些信息传输至连接于PC端的终端软件,

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包