[HAL]stm32 ETH 使用UDP进行以太网通信

《作甚务甚》硬件攻城狮系列二——使用UDP进行以太网通信

软件工具: stm32cubeMX
编程工具:keil uvision5
使用芯片:stm32F437VIT6
编译环境:win10
任务目标:使用udp协议完成单片机与上位机的以太网通信。
数据流向如下:
data==>spi–>udp==>PC

stm32cubeMX配置说明

spi2的配置:
[HAL]stm32 ETH 使用UDP进行以太网通信_第1张图片
eth的配置

程序开发过程

使用stm32cubemx生成工程模板,在开发过程中的首要原则是尽量不改动hal库函数,自己用到的函数和文件自己重新写一个用户文件。
库函数中可以添加修改的地方,模板中会给出注释指示,如:

/* USER CODE BEGIN PM */

/* USER CODE END PM */

写在后面的吐槽

我使用的是某东上面买的开发板,到手之后看着像是二手的,不少元器件上面都有被人用过的标记。调了好几天,都不行,最后技术归零,最开始的问题是芯片是坏的。。。

  1. 如何发现是坏的?
    这是根据换过芯片之后烧的程序就能使用来判断的。期间发生了不明情况,原开发板的芯片不知咋地上电1秒后就特别烫,手都放不上去那种,然后换了芯片,发现未改过的程序能正常工作,推断是原来的芯片不好。

  2. 生僻芯片挑选要谨慎
    一般来说我们常用的STM32F103 F407 F427这样的芯片,有好多很正规的靠谱的老店研发,也有相应的开发手册和教程来指导。像我选用的F437这个芯片,选开发板就遇到拆机件了,很坑。有画电路板经验的我觉得还是自己买芯片画个电路板调试可能会更好一点。

  3. 网上教程不一定可靠
    遇到问题百度虽然能解决不少问题,但是硬件开发来说,还是自己看手册看库函数说明更好一点。一开始我直接看网上的教程,按他们一步步来,但是就是不行,出现各种问题。

你可能感兴趣的:(硬件攻城狮,单片机,stm32,网络)