STM32H723ZGT6 LAN8720A LWIP

news/2024/11/30 6:53:31/

Stm32CubeMX 版本:6.8.1

硬件库版本:STM32Cube FW_H7 V1.11.0

 

 

 

 

 

 

 

 

 

 

 

 

usart.c#include <stdio.h>
#if 1//标准库需要的支持函数                 
struct __FILE 
{ int handle; 
}; FILE __stdout;   //定义_sys_exit()以避免使用半主机模式    
void _sys_exit(int x) 
{ x = x; 
} //重定义fputc函数 
int fputc(int ch, FILE *f)
{ 	while((USART1->ISR&0X40)==0);//循环发送,直到发送完毕   USART1->TDR=(uint8_t)ch;      return ch;
}
#endif cc.h/* Define random number generator function */
#define LWIP_RAND() ((u32_t)rand())#if defined ( __ICCARM__ ) /*!< IAR Compiler */
#pragma location = 0x30000400
extern unsigned char memp_memory_RX_POOL_base[];#elif defined ( __CC_ARM )  /* MDK ARM Compiler */
extern unsigned char __attribute__((at(0x30000400))) memp_memory_RX_POOL_base[];#elif defined ( __GNUC__ ) /* GNU Compiler */
extern unsigned char memp_memory_RX_POOL_base[] __attribute__((section(".Rx_PoolSection")));
#endif 	
#endif /* __CC_H__ */ethernetif.c/* Accept broadcast address and ARP traffic *//* don't set NETIF_FLAG_ETHARP if this device is not an ethernet one */#if LWIP_ARPnetif->flags |= NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP;#elsenetif->flags |= NETIF_FLAG_BROADCAST;#endif /* LWIP_ARP *//* USER CODE BEGIN PHY_PRE_CONFIG */HAL_GPIO_WritePin(ETH_RESET_GPIO_Port,ETH_RESET_Pin,GPIO_PIN_RESET);HAL_Delay(50);HAL_GPIO_WritePin(ETH_RESET_GPIO_Port,ETH_RESET_Pin,GPIO_PIN_SET);HAL_Delay(50);
/* USER CODE END PHY_PRE_CONFIG *//* Set PHY IO functions */LAN8742_RegisterBusIO(&LAN8742, &LAN8742_IOCtx);/* Initialize the LAN8742 ETH PHY */LAN8742_Init(&LAN8742);if(linkchanged){/* Get MAC Config MAC */HAL_ETH_GetMACConfig(&heth, &MACConf);MACConf.DuplexMode = duplex;MACConf.Speed = speed;HAL_ETH_SetMACConfig(&heth, &MACConf);//HAL_ETH_Start(&heth);HAL_ETH_Start_IT(&heth);netif_set_up(netif);netif_set_link_up(netif);}lwip.c  添加函数一下函数 注释掉it.c  void ETH_IRQHandler(void)void ETH_IRQHandler(void)
{/* USER CODE BEGIN ETH_IRQn 0 */ethernetif_input(&gnetif);/* USER CODE END ETH_IRQn 0 */HAL_ETH_IRQHandler(&heth);/* USER CODE BEGIN ETH_IRQn 1 *//* USER CODE END ETH_IRQn 1 */
}main.cvoid SystemClock_Config(void)
{RCC_OscInitTypeDef RCC_OscInitStruct = {0};RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};/** Supply configuration update enable*/HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);/** Configure the main internal regulator output voltage*/__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}__HAL_RCC_D2SRAM1_CLK_ENABLE();__HAL_RCC_D2SRAM2_CLK_ENABLE();/** Initializes the RCC Oscillators according to the specified parameters* in the RCC_OscInitTypeDef structure.MX_GPIO_Init();
MX_USART1_UART_Init();
HAL_Delay(500);
MX_LWIP_Init();

 

 遗留问题

FILE __stdout;   不能注释,未找到原因,如知道原因,私信告诉小弟一声,谢谢。

链接:https://pan.baidu.com/s/1CGMPRxnMNRE2bVL5F0r97Q 
提取码:qr2o


http://www.ppmy.cn/news/109100.html

相关文章

【Android】CountDownTimer的使用

android中怎么实现倒计时 在Android中&#xff0c;可以使用CountDownTimer类来实现倒计时。以下是一个简单的示例&#xff1a; javaCopy new CountDownTimer(30000, 1000) {public void onTick(long millisUntilFinished) {// 每次倒计时间隔1秒&#xff0c;更新UI上的倒计时剩…

MySQL基于规则的优化

条件优化 移除不必要的括号 常量传递 这个表达式和其他涉及列a的表达式使⽤AND连接起来时&#xff0c;可以将其他表达式中的a的值替换为5&#xff0c;⽐如这样&#xff1a; a 5 AND b > a 就可以被转换为&#xff1a; a 5 AND b > 5 等值传递 a b and b c and c 5…

Excel·VBA自动生成日记账的对方科目

如图&#xff1a;根据日记账/序时账的日期、凭证号为一组&#xff0c;按借贷方向生成相反的科目&#xff0c;并写入H列。可能存在一对一、一对多、多对多等情况的账目 目录 数组法遍历、判断、写入测试结果 多对多问题处理测试结果 数组法遍历、判断、写入 适用日期凭证号连续…

Baumer工业相机堡盟工业相机测试使用InsCodeAI创作助手进行技术博客相关问题的创作与测试

Baumer工业相机堡盟工业相机测试使用InsCodeAI创作助手进行技术博客相关问题的创作与测试 一、使用AI写作类工具进行创作的利弊 由于目前大语言数据模型越来越广泛&#xff0c;应用的工具也是越来越多&#xff0c;从AI绘画到AI咨询等等&#xff0c;这些方式可以将很多领域的专…

Linux [权限]

Linux 权限 Linux用户分类切换成root方法例子 切换成普通用户方法例子 短暂提权 什么是权限理论知识展示区域 修改权限(1)修改文件属性1. 采用 w/r/x的形式2. 采用八进制的形式 (2)修改身份1. 修改拥有者2. 修改所属组3. 修改拥有者 && 所属组 问题区问题1问题2问题3 L…

图解系列 图解Spring Boot 最大连接数及最大并发数

文章目录 概序架构图TCP的3次握手4次挥手时序图核心参数AcceptCountMaxConnectionsMinSpareThread/MaxThreadMaxKeepAliveRequestsConnectionTimeoutKeepAliveTimeout 内部线程AcceptorPollerTomcatThreadPoolExecutor 测试参考 每个Spring Boot版本和内置容器不同&#xff0c;…

正规文法、正规表达式、有限自动机及其之间的转换(笔记)

The Equivalent Transforming among RG, RE and FA 正规文法 A Grammar G is a quadruple (四元组):G (VN, VT, S, P ) Where, VN is a finite set of nonterminals.VT is a finite set of terminals.S is the start symbol, S ∈ \in ∈ VN.P is a finite set of product…

ProtoBuf 语法(三)

系列文章 ProtoBuf 语法&#xff08;一&#xff09; ProtoBuf 语法&#xff08;二&#xff09; 文章目录 九、option 选项9.1 选项分类9.2 常用选项 十、ProtoBuf 与 JSON 的性能对比10.1 序列化能力对比10.2 总结 九、option 选项 .proto文件中可以声明许多选项&#xff0c;使…