当前位置: 首页 > news >正文

网站建设中需求分析报告微信 网站 优劣势

网站建设中需求分析报告,微信 网站 优劣势,wordpress中文排版,怎么在网站上投放广告第一步#xff1a;资料下载 以太网协议栈芯片 CH395 - 南京沁恒微电子股份有限公司 第二步#xff1a;准备工程 #xff08;1#xff09; 首先准备一个编译无报错、可以正常打印和延时的工程文件#xff0c;官方例程采用STM32F1芯片#xff0c;但本文采用GD32F470芯片 …第一步资料下载 以太网协议栈芯片 CH395 - 南京沁恒微电子股份有限公司 第二步准备工程 1 首先准备一个编译无报错、可以正常打印和延时的工程文件官方例程采用STM32F1芯片但本文采用GD32F470芯片 2将例程代码中的PUB文件夹加入keil工程添加CH395CMD.c文件和CH395SPI_HW.c文件 3将例程代码中的main.c内容全部加入到自己的main.c文件中如果觉得函数较多可以自己放置到CH398CMD.c函数中 4例程代码使用SPI_DMA,看个人需要使用则配置不使用则屏蔽 5此时编译有很多错误继续下一步 第三步引脚配置 ch395Q支持SPI和串口通信本文采用SPI通信我们需要配置6个GPIO口分别如下 一、SPI通信基础引脚 CS片选引脚 功能用于使能CH395的SPI通信低电平有效。配置需连接到STM32的GPIO引脚并在代码中控制其电平12。 SCK时钟引脚 功能提供SPI通信的时钟信号由主设备如STM32控制。配置需连接到STM32的SPI外设时钟线如SPI1_SCK并设置时钟频率如36MHz13。 MOSI主出从入引脚 功能主设备向CH395发送数据。配置需连接到STM32的SPI外设MOSI线如SPI1_MOSI MISO主入从出引脚 功能CH395向主设备返回数据。配置需连接到STM32的SPI外设MISO线如SPI1_MISO 二、辅助控制引脚 INT中断引脚 功能用于CH395通知主设备事件如数据接收完成、错误状态。配置需连接到STM32的外部中断引脚如PA0并设置为输入模式同时启用中断服务程序14。 RST复位引脚 功能硬件复位CH395低电平有效。配置需连接到STM32的GPIO引脚初始化时拉低再拉高以完成复位 CH395_PORT_INIT();//SPI初始化 CH395_GPIO_INIT();//RST和INT引脚初始化 CH395Reset();//修改RST对应引脚 xCH395CmdStart();//修改CS对应引脚CMD_START_HANDEL();可以删除无作用 xEndCH395Cmd();//修改CS对应引脚CMD_END_HANDEL();可以删除无作用第四步延时函数配置 例程代码使用debug.c文件中配置的延时函数本文采用自定义函数或者直接全文替换  void Delay_Us(uint32_t us) {us * 168; // 72MHz下1us≈72个周期每条循环指令约3周期while (us--) {__NOP(); // 内联汇编NOP指令 } }void Delay_Ms(uint32_t ms) {delay_1ms(ms); }第五步编译 此处编译后肯定会多处报错比如UINT8没有定义stm32f10x_dma.h文件找不到等等这些都是正常的按照自己的经验进行修改即可直到编译无警告无报错 第六步ip修改 InitCH395InfParam() /* CH395 Related definition */ const uint8_t CH395IPAddr[4] {192, 168, 1, 101}; /* CH395 IP */ const uint8_t CH395GWIPAddr[4] {192, 168, 1, 1}; /* CH395 gateway */ const uint8_t CH395IPMask[4] {255, 255, 255, 0}; /* CH395 mask *//* Socket definitions */ const uint8_t Socket0DesIP[4] {192, 168, 1, 123}; /* Destination IP address for Socket 0 */ const uint16_t Socket0DesPort 1000; /* Destination port for Socket 0 */ const uint16_t Socket0SourPort 5000; /* Source port for Socket 0 */第七步查看保活机制 keeplive_set()#define DEF_KEEP_LIVE_IDLE (15 * 1000) /* Idle time */ #define DEF_KEEP_LIVE_PERIOD (20 * 1000) /* Send a KEEPALIVE packet every 20 seconds */ #define DEF_KEEP_LIVE_CNT 200 /* Number of retry attempts */DEF_KEEP_LIVE_IDLE空闲时间可能指的是在TCP连接建立后如果在15秒内没有数据传输则开始发送保活包。这与TCP的保活机制中的空闲时间类似用于确定何时开始检测连接是否有效。 DEF_KEEP_LIVE_PERIOD每隔20秒发送一次保活包。这个参数可能控制保活包的发送频率确保在空闲期间定期检测连接状态。 DEF_KEEP_LIVE_CNT重试次数200次。当保活包发送后未收到响应时会进行重试这个参数指定最大重试次数超过后认为连接已断开。保活机制主要用于维持TCP连接的活跃状态防止因网络中断或空闲导致连接被中间设备如路由器、防火墙主动断开应对网络环境不稳定在工业控制、远程监控等场景中网络可能因电磁干扰、信号衰减等问题出现瞬时中断。保活机制通过周期性发送心跳包空数据包可快速检测链路异常并触发重连避免数据丢失。支持物联网长连接需求CH395常用于MQTT、HTTP长连接等物联网协议需保持设备与服务器持续通信。若长时间无数据传输服务器或网关可能关闭连接保活包能维持连接有效性 第八步全局中断 CH395GlobalInterrupt  --》  GINT_STAT_SOCK0 针对一个TCP连接主要有以下几个中断 void CH395SocketInterrupt(uint8_t sockindex) {sock_int_status[sockindex] | CH395CMDGetSocketInt(sockindex); /* Gets the socket interrupt status */if (sock_int_status[sockindex] SINT_STAT_RECV) /* Receive interruption */{//接收中断接受到数据后会进来这里但例程代码在Data_Loop函数中处理// Handle it in the main program}if (sock_int_status[sockindex] SINT_STAT_SENDBUF_FREE) /* The send buffer is free and can continue writing data to be sent */{//发送缓冲区为空可以发送数据但例程代码在Data_Loop函数中处理// Handle it in the main program}if (sock_int_status[sockindex] SINT_STAT_SEND_OK) /* Send completion interrupt */{//发送完成中断sock_int_status[sockindex] ~SINT_STAT_SEND_OK;}if (sock_int_status[sockindex] SINT_STAT_CONNECT) /* The connection is interrupted, valid only in TCP mode */{//连接成功中断sock_int_status[sockindex] ~SINT_STAT_CONNECT;CH395CMDSetKeepLive(sockindex, 1); /* Enable the KEEPALIVE timer */LOG(SINT_STAT_CONNECT\r\n);}if (sock_int_status[sockindex] SINT_STAT_DISCONNECT) /* Disconnect interrupt, valid only in TCP mode */{//断开连接中断sock_int_status[sockindex] ~SINT_STAT_DISCONNECT;LOG(SINT_STAT_DISCONNECT \r\n);}if (sock_int_status[sockindex] SINT_STAT_TIM_OUT) /* Timeout interrupt, valid only in TCP mode */{//连接超时中断比如服务器未打开sock_int_status[sockindex] ~SINT_STAT_TIM_OUT;LOG(SINT_STAT_TIM_OUT\r\n);} } Data_Loop函数主要就是将接收到的数据发出去 第九步测试 调试心得  1当服务器主动关闭连接时会进入TIME_WAIT状态持续2*MSL默认约60秒导致原端口暂时无法复用如果服务器没有做端口复用这个功能可能会出现这个现象
http://www.zqtcl.cn/news/921785/

相关文章:

  • 湖南建设长沙网站建设价格关于网站的建设论文
  • 玉林网站制作网站建设的常用词
  • linux系统网站空间用凡科做网站的费用
  • 如何给别人做网站百度推广助手app
  • 哈市哪里网站做的好新颖的网站策划
  • 网站建设 方案书微信登录wordpress免费
  • 兰州网站建设企业名录洛可可设计公司估值
  • 广州做网站地方兰州做网站的公司有哪些
  • 招标网站哪个好适合学生做网站的图片
  • 台州seo网站排名优化外包服务公司
  • 汉川网站推广服务网页站点不安全
  • wdcp网站搬家嘉兴做网站优化的公司
  • 网站规划和建设度假区网站建设方案
  • 做网站前端用什么软件好在线种子资源网
  • 怎样修改网站关键词昌平做网站的公司
  • 网站建设调研文档网站最下面版权模板
  • 建外贸网站有效果吗开发电商平台需要多少钱
  • 成都网站建设维护网页制作价格私活
  • 建设银行网站登陆不上做本地的分类信息网站
  • 公司网站建设哪里实惠网页设计作业百度网盘
  • 如何seo网站挣钱不同企业的网络营销网站
  • 自己做网站有什么用网站怎样设计网址
  • 做任务的网站有那些wordpress链接在哪里
  • 免费建站模板网站招聘网站哪个好
  • 网站建站推广是啥意思高端网站建设浩森宇特
  • 长治电子商务网站建设中国建设银行总行官方网站
  • 整站营销系统厚街镇网站仿做
  • 舆情分析网站wordpress文章聚合
  • 中国建设银行网站在哪上市cpa自己做网站
  • 网站建设服务支持jquery插件 wordpress