自己注册公司网站怎么看网站是谁做的

张小明 2026/3/12 8:48:40
自己注册公司网站,怎么看网站是谁做的,网站打开速度慢的原因,wordpress开发架构规格和从机地址传输1、I2C的信号2、数据的有效性#xff08;I2C是电平触发采样#xff09;SDA的可变化时机数据线#xff08;SDA#xff09;上的数据只能在时钟线#xff08;SCL#xff09;为低电平时进行改变。SDA的稳定性SCL为高电平期间#xff0c;SDA必须保持稳定。…规格和从机地址传输1、I2C的信号2、数据的有效性I2C是电平触发采样SDA的可变化时机数据线SDA上的数据只能在时钟线SCL为低电平时进行改变。SDA的稳定性SCL为高电平期间SDA必须保持稳定。在SCL为高电平时SDA上的数据被视为有效接收方会在这个时刻对SDA的状态进行采样。3、数据的传输单元(单位)I²C总线以字节8位为单位传输数据每次传输一个字节。4、数据的传输顺序(MSBor LSB)在I²C数据传输中数据的传输顺序是MSBMost Significant Bit最高有效位先传输。5、数据传输方向(读or写)主机是要给从机发送数据还是要读取从机的数据。从机地址传输7 位从机地址最常用这是 I2C 总线的标准地址格式支持最多 128 个从机地址27128但其中部分地址被预留为特殊用途如广播地址实际可用地址约 112 个。地址字节结构1 个字节共 8 位高 7 位为真正的从机地址最低位第 0 位为读写控制位R/W当最低位为0时表示主设备接下来要向从机写入数据写操作当最低位为1时表示主设备接下来要从从机读取数据读操作10 位从机地址扩展格式当系统需要挂载超过 128 个从设备时会采用 10 位从机地址格式支持最多 1024 个独立地址地址字节结构10 位地址需要分两个字节发送第 1 个字节地址字节 1高 5 位固定为1111010 位地址的标志位接下来 2 位为 10 位地址的高 2 位最低位为读写控制位R/W第 2 个字节地址字节 2完整的 8 位为 10 位地址的低 8 位选通过程主设备发送完两个地址字节后只有 10 位地址完全匹配的从设备才会应答后续通信流程与 7 位地址一致。数据读取特性未移位从机地址移位从机地址位数7 位0x00~0x7F8 位0x00~0xFE定义芯片手册标注的原始地址未移位地址左移 1 位×2用途配置硬件寄存器、代码中表示从机身份实际通信中发送的 8 位地址字节含读写位编程使用直接写入硬件寄存器库函数自动处理仅用于底层通信函数的手动实现有寄存器区分的通信流程写操作起始信号 → 从机地址(写) → ACK → 寄存器地址 → ACK → 数据 → ACK → 停止信号读操作起始信号 → 从机地址(写) → ACK → 寄存器地址 → ACK → 重新起始 → 从机地址(读) → ACK → 数据 → NACK/ACK → 停止信号无寄存器区分的通信流程写操作一般不会使用这种情况无内存地址无意义。起始信号 → 从机地址(写) → ACK → 数据 → ACK → 停止信号读操作起始信号 → 从机地址(读) → ACK → 数据 → NACK/ACK → 停止信号关键差异有寄存器设备必须先发送寄存器地址告知从机操作位置无寄存器设备直接进行数据交互无中间寻址环节。软件I2CIO模拟I2C函数封装#include delay.h //IO操作函数 #define CT_IIC_SCL_1 HAL_GPIO_WritePin(GPIOG, GPIO_PIN_15, GPIO_PIN_SET) //SCL #define CT_IIC_SCL_0 HAL_GPIO_WritePin(GPIOG, GPIO_PIN_15, GPIO_PIN_RESET) //SCL #define CT_IIC_SDA_1 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_SET) //SCL #define CT_IIC_SDA_0 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_RESET) //SCL #define CT_READ_SDA HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_15) //输入SDA //控制I2C速度的延时 void CT_Delay(void) { delay_us(2); } //电容触摸芯片IIC接口初始化 void CT_IIC_Init(void) { GPIO_InitTypeDef GPIO_InitStruct; __HAL_RCC_GPIOG_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); /* SCL */ GPIO_InitStruct.Pin GPIO_PIN_15; GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_OD; /* 开漏输出 */ GPIO_InitStruct.Pull GPIO_PULLUP; /* 内部上拉 */ GPIO_InitStruct.Speed GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOG, GPIO_InitStruct); HAL_GPIO_WritePin(GPIOG, GPIO_PIN_15, GPIO_PIN_SET); /* 拉高SCL */ /* SDA */ GPIO_InitStruct.Pin GPIO_PIN_15; GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_OD; /* 开漏输出 */ GPIO_InitStruct.Pull GPIO_PULLUP; /* 内部上拉 */ GPIO_InitStruct.Speed GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOB, GPIO_InitStruct); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_SET); /* 拉高SDA */ } void CT_SDA_IN(void) { GPIO_InitTypeDef GPIO_InitStruct; //PB15设置为输入模式 GPIO_InitStruct.Pin GPIO_PIN_15; GPIO_InitStruct.Mode GPIO_MODE_INPUT; GPIO_InitStruct.Pull GPIO_PULLUP;; HAL_GPIO_Init(GPIOB, GPIO_InitStruct); } void CT_SDA_OUT(void) { GPIO_InitTypeDef GPIO_InitStruct; //PB15设置为开漏输出模式 GPIO_InitStruct.Pin GPIO_PIN_15; GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_OD; GPIO_InitStruct.Pull GPIO_PULLUP; GPIO_InitStruct.Speed GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOB, GPIO_InitStruct); } //产生IIC起始信号 void CT_IIC_Start(void) { CT_SDA_OUT(); //sda线输出 CT_IIC_SDA_1; CT_IIC_SCL_1; delay_us(5); CT_IIC_SDA_0;//START:when CLK is high,DATA change form high to low delay_us(5); CT_IIC_SCL_0;//钳住I2C总线准备发送或接收数据 } //产生IIC停止信号 void CT_IIC_Stop(void) { CT_SDA_OUT();//sda线输出 CT_IIC_SCL_1; CT_IIC_SDA_0;//STOP:when CLK is high DATA change form low to high delay_us(5); CT_IIC_SDA_1;//发送I2C总线结束信号 } //等待应答信号到来 //返回值1接收应答失败 // 0接收应答成功 uint8_t CT_IIC_Wait_Ack(void) { uint8_t ucErrTime0; CT_SDA_IN(); //SDA设置为输入 CT_IIC_SDA_1; delay_us(2); CT_IIC_SCL_1; delay_us(2); //CT_Delay(); while(CT_READ_SDA) { ucErrTime; if(ucErrTime250) { CT_IIC_Stop(); return 1; } CT_Delay(); } CT_IIC_SCL_0;//时钟输出0 return 0; } //产生ACK应答 void CT_IIC_Ack(void) { CT_IIC_SCL_0; CT_SDA_OUT(); CT_Delay(); CT_IIC_SDA_0; CT_Delay();CT_Delay(); CT_IIC_SCL_1; CT_Delay();CT_Delay(); CT_IIC_SCL_0; } //不产生ACK应答 void CT_IIC_NAck(void) { CT_IIC_SCL_0; CT_SDA_OUT(); CT_Delay(); CT_IIC_SDA_1; CT_Delay(); CT_IIC_SCL_1; CT_Delay(); CT_IIC_SCL_0; } //IIC发送一个字节 //返回从机有无应答 //1有应答 //0无应答 void CT_IIC_Send_Byte(uint8_t txd) { uint8_t t; CT_SDA_OUT(); CT_IIC_SCL_0;//拉低时钟开始数据传输 CT_Delay(); for(t0;t8;t) { if(((txd0x80)7)1)CT_IIC_SDA_1; else if(((txd0x80)7)0)CT_IIC_SDA_0; txd1; delay_us(5); CT_IIC_SCL_1; delay_us(5); CT_IIC_SCL_0; delay_us(5); } } //读1个字节ack1时发送ACKack0发送nACK uint8_t CT_IIC_Read_Byte(unsigned char ack) { uint8_t i,receive0; CT_SDA_IN();//SDA设置为输入 //delay_us(30); for(i0;i8;i ) { CT_IIC_SCL_0; delay_us(4); CT_IIC_SCL_1; receive1; if(CT_READ_SDA)receive; delay_us(4); } if (!ack)CT_IIC_NAck();//发送nACK else CT_IIC_Ack(); //发送ACK return receive; }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

房源开发网站重庆建站管理系统价格

迈达斯桥梁建模与分析。 曲线梁,钢箱梁,结合梁,钢桁梁,斜拉桥等。在桥梁工程领域,迈达斯软件凭借其强大的功能,成为众多工程师进行桥梁建模与分析的得力助手。今天,咱们就来聊聊如何运用迈达斯对…

张小明 2026/3/5 2:51:07 网站建设

网站建设简述需求分析的基本概念及内容美食论坛网站模板

ComfyUI集成Dify智能体平台,打通AI生成与业务逻辑 在内容驱动的数字时代,企业对高质量视觉资产的需求呈指数级增长。从电商平台的商品图、社交媒体的宣传海报,到个性化广告素材,人工设计不仅成本高昂,还难以应对海量、…

张小明 2026/3/5 2:51:08 网站建设

网站建设出题wordpress不会发送电子邮件

基于偏最小二乘算法(PLS)的多输出数据回归预测PLS多输出数据回归 matlab代码注:暂无Matlab版本要求--推荐2018B版本及以上在数据处理和预测领域,偏最小二乘算法(PLS)是一种非常强大的工具,尤其适用于多输出数据回归预测…

张小明 2026/3/5 2:51:21 网站建设

太原做淘宝网站的贵阳网站设计与开发怎么做

新买的SP20,融合不成功杂交瘤虽然能长出来,但融合率不高后面又死了好多救救孩子吧 😭01免疫用的动物品系不正确或者品系不纯。免疫用的动物一般应该与骨髓瘤来源的动物是相同品系,例如使用SP2/0骨髓瘤细胞时应该选用 Balb/C小鼠&a…

张小明 2026/3/5 2:51:10 网站建设

wordpress可以建什么站素材下载解析接口网站开发

流处理系统的潜在隐患:状态膨胀现象观察 【免费下载链接】flink 项目地址: https://gitcode.com/gh_mirrors/fli/flink 在实时计算架构中,状态管理如同流处理系统的心脏,其健康度直接决定整个系统的生命力。当我们深入分析大规模流处…

张小明 2026/3/12 7:17:23 网站建设

千助网站公司企业官网建站的流程

Linux 网络下载与 Samba 网络共享使用指南 在 Linux 系统中,网络下载和文件共享是常见的操作需求。本文将详细介绍使用 wget 和 curl 进行网络下载,以及利用 Samba 实现与 Windows 网络共享的相关知识和操作方法。 1. 使用 wget 进行非交互式网站下载 wget 是一个强大…

张小明 2026/3/6 14:24:52 网站建设