STM32U575ZIT6Q+W5300实现UDP网络通信

  while (1)
  {

		if(HAL_GPIO_ReadPin(W5300_LINK_GPIO_Port, L_LINK)==1)  // LINK——LED 为高电平
		{
			for(i=0;i<8;i++)
			{
		    close(i);
			}	
		}	
		else
		{	
					W5300_UDP_Loopback(0,1000,Dip,1000, S_Buffer);   //socket号,本机端口,目的IP,目的端口,收发缓存
		}

  }

一、硬件配置

        1.1 stm32与W5300的硬件连接

        我选择的是16位数据宽度,因此这个地方地址线需要串一位进行连接,板子的A9不需要连,W5300的A0位也不需要连接

        下面是W5300的排针引脚:需要注意的是J1和J2不要画反了

二、软件配置

        软件的话我是用的是STM32CubeMX+keil5.32配置的。由于stm32外接w5300需要用到32的FSMC总线,这个总线可以用来外扩SRAM/FLASH/LCD的,这个地方W5300是可以当成SRAM来配置的。

 1、以下是cubemx的配置过程:

        1、首先得选择好自己的芯片型号

        2、配置ICACHE

        选择1-way就好了

        3、配置RCC

        高速时钟选择晶振

        4、配置sys

        开启系统基准时钟

        5、配置FSMC总线

        STM32的FSMC有一个存储区间,我们要用的是BANK1,BANK3一般用来外扩NAND FLASH,

然后BANK1里面又分了四个小区间每块64M,说明用户自己的话可以外扩4块SRAM类似的内存。

在这里我们选择BANK1里面的第三块,也就是NE3,这个可以随意选择,我第一块用来外扩SRAM了,这个后面再说。

chip select 选择 NE3

memory type 选择SRAM

address 选择10位的地址长度

data选择16位数据长度

然后不用勾选byte enable,不用高低位字节操作

使能write oporation 因为开了这个才能写数据

使能writefifo可以进行快速读写

下面两个图来自于W5300的数据手册,描述了地址建立时间和数据建立时间还有保持时间,一般就用到Address setup time、Address hold time、data setup time以及data hold time,我看到很多文章没有说明这个怎么来的,这个地方是根据你的系统时钟计算出来的,我在cubemx里面配置了160M的时钟频率。

下图中Address setup time最大需要7ns,那就直接用7ns来计算我们需要配置的数

7ns/(1/160M)=1.12,因此cubemx里

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值