1、开发环境
硬件:野火挑战者开发板STM32H743IIT6
软件版本: CubeMX 6.7.0 STM32CubeH7 Firmware Package V1.11.0 / 04-Nov-2022
原理图:
2、配置时钟
时钟树参数仅供参考
3、配置MPU
MPU配置需要查相关资料,一知半解
4、配置调试串口
修改GPIO与硬件原理图对应,串口参数默认
5、配置网口
参数配置与硬件对应
此处网络收发地址非常重要!!!
使能中断
6、配置Lwip
7、生成keil工程
串口printf函数相关配置
/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);
}
添加打印、网络处理函数
编译程序,测试网络、串口功能
8、添加Freertos
!!!!!下面这一步非常重要,卡了很长时间才找到原因!!!!!
生成keil工程,屏蔽之前的调试程序
添加如下代码:
测试网络:
9、测试网络传输性能
单板上使用的LAN8720,而CubeMX配置的是LAN8742,两者稍有差异,按照下图配置为100M速率,否则速率为10M
参考:https://www.freesion.com/article/29491218149/
[野火]《LwIP应用开发实战指南—基于野火 STM32 全系列(M4-M7)开发板》
文章来源:https://www.toymoban.com/news/detail-731121.html
10、总结
在开发过程中,由于很多细节不清楚,走了很多弯路,临时查了很多资料,没有完全吸收,有很多地方还不是很明白,需要继续学习。最后,欢迎大家留言讨论以及提出指导意见。文章来源地址https://www.toymoban.com/news/detail-731121.html
到了这里,关于STM32H743使用CubeMX配置Lwip、Freertos的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!