找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3282|回复: 2
打印 上一主题 下一主题
收起左侧

发一个W5500的STM32源代码 DMA

[复制链接]
跳转到指定楼层
楼主

  1. /**
  2. ******************************************************************************
  3. * @file                            main.c
  4. * @author                          fire
  5. * @version                         V1.0
  6. * @brief                           用3.5.0版本库建的工程模板
  7. ******************************************************************************
  8. **@attention          内网测试,请保证W5500的IP与测试PC机在同一网段内,且不冲突;
  9. * @attention          如果是用网线跟PC机直连,请设置PC机本地连接地址IP为静态IP;
  10. * @attention          网络调试助手打开时的IP地址若是你本地连接地址,请自行设定;
  11. *
  12. * 使用本程序,先将w5500_conf.C 文件中的PC_IP,设定为PC机的IP地址,端口号可任意,默认为5000
  13. *
  14. ******************************************************************************
  15. */
  16. #include <stdio.h>
  17. #include <string.h>

  18. #include "stm32f10x.h"
  19. #include "bsp_spi_flash.h"
  20. #include "bsp_usart1.h"
  21. #include "bsp_i2c_ee.h"
  22. #include "bsp_i2c_gpio.h"
  23. #include "bsp_led.h"
  24. #include "bsp_dht11.h"

  25. #include "w5500.h"
  26. #include "W5500_conf.h"
  27. #include "socket.h"
  28. #include "utility.h"
  29. /*app函数头文件*/
  30. #include "tcp_demo.h"
  31. uint8 buffer[2048];
  32. int main(void)
  33. {         
  34.     uint16 size=0;
  35.         systick_init(72);/* 初始化Systick工作时钟*/
  36.         NVIC_Configuration();
  37.                 USART1_Config(); /*初始化串口通信:115200@8-n-1*/
  38.         i2c_CfgGpio();/*初始化eeprom*/
  39.         LED_GPIO_Config();
  40.         
  41.         printf(" 初始化W5500…… \r\n");         
  42.         gpio_for_w5500_config();/* 初始化MCU相关引脚*/
  43. //        SPI_DMA_Config();
  44.         reset_w5500();/*复位W5500*/
  45.         printf(" W5500 Hardware initialized! \r\n");
  46.         
  47.         set_w5500_mac();/*配置W5500MAC地址*/

  48.         if(use_define==1||use_eeprom==1)/*不DHCP获取IP地址,就配置默认IP地址*/
  49.         set_w5500_ip();/*配置W5500IP地址*/
  50.         printf(" 电脑作为TCP客户端连接W5500TCP服务器 \r\n");
  51.         printf(" W5500服务器端口默认为: %d \r\n",W5500_tcp_server_port);
  52.         printf(" 连接成功后,PC机发送数据给W5500,W5500将返回对应数据 \r\n");
  53.         socket_buf_init(txsize, rxsize); /*初始化8个Socket的发送接收缓存大小*/
  54.         printf(" 应用程序执行中……\r\n");
  55.         while(1)//循环执行的函数
  56.         {
  57.                 do_tcp_server();/*TCP_Server 数据回环测试程序*/
  58.         }

  59. }

复制代码

如图,某宝提供的源代码,分享给大家

DMA-W5500.rar (384.08 KB, 下载次数: 125)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:897478 发表于 2021-6-28 23:35 | 只看该作者
好像不是用DMA实现的吧
回复

使用道具 举报

板凳
ID:897478 发表于 2021-6-28 23:39 | 只看该作者
这一个一个写而且里面还有一个while等待,完全没有发挥DMA的作用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表