建设网站多钱怎么黑人网站

diannao/2026/1/23 13:40:51/文章来源:
建设网站多钱,怎么黑人网站,北京网页设计与网站建设,未来10大暴利行业前言#xff1a;笔记参考立创开发文档#xff0c;连接放在最后 #IIC概念介绍 #IIC介绍 IIC通信协议#xff0c;一种常见的串行通信协议#xff0c;英文全程是 Inter-Integrated Circuit 使用这种通信方式的模块#xff0c;通常有SCL#xff08;Serial Clock Line…                                        前言笔记参考立创开发文档连接放在最后 #IIC概念介绍 #IIC介绍 IIC通信协议一种常见的串行通信协议英文全程是 Inter-Integrated Circuit  使用这种通信方式的模块通常有SCLSerial Clock Line  和SDA(Serial Date)两个引脚  也就是当看到这两个引脚也就知道使用的IIC通信。         IIC通信分为硬件IIC通信   软件IIC通信本篇介绍硬件IIC通信 想要了解软件IIC的可以看另一篇文章IIC通信SDA数据线 高电平电压范围在 2.5V~5.5V  低电平范围 0V~0.3V  #软件IIC介绍 软件IIC指的是通过GPIO引脚模拟IIC通信的波形和时序也就是控制引脚的电平变化来传输数据还有时序信号达到IIC通信的效果目的软件IIC通信好处是在MCU内部没有集成硬件IIC电路的时候可以使用软件IIC通信只要MCU支持GPIO就能使用软件IIC通信。 软件IIC的性能相对于硬件IIC较低通常使用在低速通信还有简单通信的情况下去使用。 #硬件IIC介绍 硬件IIC指的是芯片内部集成的IIC硬件外设硬件IIC效率远高于软件IIC STMF4VET6上带有3个硬件IIC允许与外部IIC接口进行通信STMF4的硬件IIC使用特定的引脚复位来进行数据和时钟信号的传输。 硬件IIC的通信时序波形是通过硬件电路还有寄存器来实现的这些电路还有寄存器负责生成时钟还有数据线的电平变化使其符合IIC通信协议的要求这个就是IIC通信的硬件控制流程具体可以参考下图硬件IIC的框图。 硬件IIC框图里面可以发现硬件IIC也支持中断 还有 DMA输出传输数据。 #配置硬件IIC相关流程 #硬件IIC发送流程 软件初始化硬件IIC的通信时序由内部的寄存器 控制器来负责所以首先要配置IIC控制器的参数需要设置 IIC速率  地址模式    设备地址。 START设置发送起始信号到IIC总线设置硬件IIC控制器开始位来启动发送过程通过标志位SBSEND判断起始信号是否发送完毕发送完毕标志位SBSEND会置一。 清除SBSEND当起始信号发送完成SBSEND这个标志位会被硬件置1,10位地址模式需要清除标志位才能进行下一步7位地址模式该标志位不能清除。 清除ADDSEND如果地址为10位模式要发送 地址高位 和 地址低位发送完成ADD10SEND 和 ADDSEND 会由硬件置1这个时候需要清除 ADD10SEND 和 ADDSEND 如果地址为 7位模式则只需要发送一次地址并等待ADDSEND硬件置1后清除ADDSEND标志位。 传输数据为了防止数据溢出需要判断发送寄存器的数据是否为空也就是查询TBE标志位的值当发送数据寄存器为空的时候TBE寄存器会被硬件置1主机接受从机应答信号此时发送数据成功BTC标志位会被硬件置1。 设置STOP当数据发送完成这个时候要停止IIC通信设置STOP也就是发送停止信号。 #硬件IIC接收流程 硬件IIC接收数据跟发送数据过程大致相同 设置START   清除SBSEND  清除ADDEND  读取字节数据  清除ACKEN   设置STOP 。下面只介绍不同的部分。 在此设置START这里其实信号发送之前硬件IIC必须是空闲状态才能发送负责没有办法进行下一步。 读取数据字节RBNE标志位当接收数据寄存器中如果有数据会将RBNE自动硬件置1这个时候通过读取标志位信息停止发送信息防止数据溢出。取出寄存器里面的数据之后通过使能ACK应答位硬件会自动发送这个时候从机才会继续发送数据。 #软件IIC实验 硬件IIC通常来说不为常用一般通过软件IIC进行通信也就是通过控制GPIO引脚电平模拟IIC通信时序电平。 #宏定义 IIC引脚  调用函数 使用宏定义去写代码这种函数是能够提升程序的执行速度因为宏定义是预处理指令在程序执行前开始执行的如果是将函数在次封装在调用这种程序执行速度是比不上宏定义函数宏定义常量的。 #define RCU_SCL RCC_AHB1Periph_GPIOB #define PORT_SCL GPIOB #define GPIO_SCL GPIO_Pin_6#define RCU_SDA RCC_AHB1Periph_GPIOB #define PORT_SDA GPIOB #define GPIO_SDA GPIO_Pin_7#define SDA_IN() {SHT20_MODE_SET( GPIO_Mode_IN );} //SDA输入模式 #define SDA_OUT() {SHT20_MODE_SET( GPIO_Mode_OUT );} //SDA输出模式#define SCL(BIT) GPIO_WriteBit(PORT_SCL, GPIO_SCL, BIT) #define SDA(BIT) GPIO_WriteBit(PORT_SDA, GPIO_SDA, BIT) #define SDA_GET() GPIO_ReadInputDataBit(PORT_SDA, GPIO_SDA) void SHT20_GPIO_INIT(void) {GPIO_InitTypeDef GPIO_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);GPIO_InitStructure.GPIO_Pin GPIO_SCL;GPIO_InitStructure.GPIO_Mode GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType GPIO_OType_PP;GPIO_InitStructure.GPIO_Speed GPIO_Speed_100MHz;GPIO_InitStructure.GPIO_PuPd GPIO_PuPd_NOPULL;GPIO_Init(PORT_SCL, GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin GPIO_SDA;GPIO_InitStructure.GPIO_Mode GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType GPIO_OType_PP;GPIO_InitStructure.GPIO_Speed GPIO_Speed_100MHz;GPIO_InitStructure.GPIO_PuPd GPIO_PuPd_NOPULL;GPIO_Init(PORT_SDA, GPIO_InitStructure); } 这里使用了宏定义常量 重定义了函数同时初始化了 GPIO 引脚 用它作为 IIC通信数据线。 #配置IIC通信时序 void IIC_Start(void) {SDA_OUT();SCL(0);SDA(1);SCL(1);delay_us(5);SDA(0);delay_us(5);SCL(0);delay_us(5);} void IIC_Stop(void) {SDA_OUT();SCL(0);SDA(0);SCL(1);delay_us(5);SDA(1);delay_us(5);} void IIC_Send_Ack(uint8_t ack) {SDA_OUT();SCL(0);SDA(0);delay_us(5);if(!ack) SDA(0);else SDA(1);SCL(1);delay_us(5);SCL(0);SDA(1); } uint8_t IIC_Wait_Ack(void) {char ack 0;unsigned char ack_flag 10;SDA_IN();SDA(1);delay_us(5);SCL(1);delay_us(5);while( (SDA_GET()1) ( ack_flag ) ){ack_flag--;delay_us(5);}if( ack_flag 0 ){IIC_Stop();return 1;}else{SCL(0);SDA_OUT();}return ack; } void IIC_Write(uint8_t data) {int i 0;SDA_OUT();SCL(0);//拉低时钟开始数据传输for( i 0; i 8; i ){SDA( (data 0x80) 7 );delay_us(2);data1;delay_us(6); SCL(1);delay_us(4);SCL(0);delay_us(4);} }uint8_t IIC_Read(void) {unsigned char i,receive0;SDA_IN();//SDA设置为输入for(i0;i8;i ){SCL(0);delay_us(5);SCL(1);delay_us(5);receive1;if( SDA_GET() ){ receive|1; }delay_us(5); } return receive; } 上面配置了IIC通信时序接下来根据温度湿度公式计算实际温度还是湿度定义函数输出即可。 #配置温度湿度函数 float SHT20_Read(uint8_t regaddr) { unsigned char data_H 0;unsigned char data_L 0;float temp 0;IIC_Start();IIC_Write(0x80|0);if( IIC_Wait_Ack() 1 ) printf(error -1\r\n);IIC_Write(regaddr);if( IIC_Wait_Ack() 1 ) printf(error -2\r\n);do{delay_us(10);IIC_Start();IIC_Write(0x80|1);}while( IIC_Wait_Ack() 1 );delay_us(20);data_H IIC_Read();IIC_Send_Ack(0);data_L IIC_Read();IIC_Send_Ack(1);IIC_Stop();if( regaddr 0xf3 ){temp ((data_H8)|data_L) / 65536.0 * 175.72 - 46.85;}if( regaddr 0xf5 ){temp ((data_H8)|data_L) / 65536.0 * 125.0 - 6;}return temp;} int main(void) { board_init();uart1_init(115200U);//引脚初始化SHT20_GPIO_INIT();//等待传感器上电初始化完成delay_ms(20);while(1){//采集温度printf(temp %.2f\r\n, SHT20_Read(0xf3) );//采集湿度printf(humi %.2f\r\n, SHT20_Read(0xf5) );printf(\r\n);delay_ms(500);} } ⁠​‬​‍​‍‬​‍‌‍⁠​​‬‌‬​‬​‍‌​‬​⁠‍‌‌​​‍​​​​​‬​‌⁠​                  【立创·天空星STM32F407VET6】入门手册 - 飞书云文档 (feishu.cn) 欢迎指正希望对你有所帮助

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88929.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海比较好的网站建设公司宿迁网站设计

ROS笔记之rosbag的快速切片(C实现) —— 杭州 2023-12-21 夜 code review 文章目录 ROS笔记之rosbag的快速切片(C实现)1.运行效果2.文件结构3.fast_rosbag_slice.cpp4.CMakeLists.txt5.package.xml6.对fast_rosbag_slice.cpp进行函数封装 正常该功能是ROS官方命令行&#xff1a…

iis7 新建网站网站建设类行业资讯

目录 项目结构 主要步骤 auth-service里: 1. 配置 pom.xml 依赖 2. 实现HandlerInterceptor 接口的 preHandle 函数 3. 实现 WebMvcConfigurer 的 addInterceptors 接口 4. 生成 token 和验证 token 5. 登录接口示例 user-service 里: 6. 实现拦…

谷歌google官方网站北京高端网站建设有限公司

一:题目 二:上码 class Solution { public:/**思路:利用双指针来进行处理*/void reverseString(vector<char>& s) {for (int i 0,j s.size()-1; i < j; i,j--) {swap(s[i],s[j]);}} };

北海 做网站 英文wordpress 用户管理插件

写享元模式的时候&#xff0c;会想使用ConcurrentHashMap来保证并发&#xff0c;没有使用双重锁会不会有问题&#xff1f;但是在synchronize代码块里面需要尽量避免throw异常&#xff0c;希望有经验的同学能够给出解答&#xff1f; 1月6号补充&#xff1a;没有使用双重锁会有问…

用啥网站做首页手机网站图片切换jquery

使用OpenSSL生成自签名SSL/TLS证书和私钥 前提&#xff1a; 系统安装了OpenSSL&#xff1b; 系统&#xff1a;windows、linux都可&#xff1b; 1 生成私钥 创建一个名为 server.key 的私钥文件&#xff0c;并使用 RSA 算法生成一个 2048 位的密钥。 openssl genrsa -out s…

白银市做网站wordpress微信博客模板下载

前言 本专栏旨在通过分类学习算法&#xff0c;使您能够牢固掌握不同算法的理论要点。通过策略性地练习精选的经典题目&#xff0c;帮助您深度理解每种算法&#xff0c;避免出现刷了很多算法题&#xff0c;还是一知半解的状态 专栏导航 二分查找回溯&#xff08;Backtracking&…

手机做任务的网站有哪些内容androidstudio开发app教程

url地址或file文件获取base64 base64转blob blob或file转url&#xff1a; 使用URL.createObjectURL()方法读取出url js读取图片不同信息流

大连企业网站模板做国际网站有什么需要注意的

2019国考成绩要出来了不&#xff1f;2019国考成绩何时出来&#xff1f;现在已是1月中旬&#xff0c;许多考生对于自己的国考笔试成绩都非常期待&#xff0c;而最近风声四起&#xff0c;搞得考生们人心慌慌&#xff0c;那么2019国考成绩要出来了不&#xff1f;现在我们一起来分析…

做网站贵么大连工业大学研究生

Synchronized 底层原理 1. JVM 层面的实现 synchronized 是 Java 中的一个关键字&#xff0c;它提供了一种简单的策略来实现线程同步。在 JVM 层面&#xff0c;synchronized 可以依赖于对象内部的监视器锁&#xff08;monitor lock&#xff09;来实现同步。 锁的获取与释放&a…

ftp怎么设置网站首页国家先进制造业集群

类加载机制 使用某个类时&#xff0c;如果该类的class文件没有加载到内存时&#xff0c;则系统会通过以下三个步骤来对该类进行初始化.   类的加载&#xff08;Load&#xff09; → 2.类的连接&#xff08;Link&#xff09; → 3.类的初始化&#xff08;Initialize&#xf…

北京正规网站建设公司哪家好兰州网站设计

本教程讲解EPS三维测图模块,主要内容有新建工程、创建垂直模型,为后续工作做准备。 目录 一、创建工程 二、生成垂直摄影模型

类似卡盟网站卖怎么做诸城做网站找个人

在Vue中我们有时候会碰到一些需求&#xff0c;就是在点击某个按钮的时候&#xff0c;我们执行别的操作&#xff0c;但是我们希望点击别的操作的时候&#xff0c;让我们之前点击的按钮进行处于高亮状态。 个人在处理业务的时候&#xff0c;测试说&#xff0c;当用户选择某个按钮…

网站搭建图片搜索推广竞价托管哪家好

//2019.7.14晚matplotlib七种常见图像输出编程大全 七种图形汇总输出如下&#xff1a; import numpy as np #导入数据结构nmupy模块import matplotlib.pyplot as plt #导入matplotlib图像输出模块plt.rcParams["font.sans-serif"]["SimHei"] #输出图像的标…

php做视频分享网站安卓市场应用商店下载

挂载&#xff08;mounting&#xff09;是指由操作系统使一个存储设备&#xff08;诸如硬盘、CD-ROM或共享资源&#xff09;上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。 本质&#xff1a;针对某一设备, 分析出其文件系统结构, 并根据其文件系统类型调用…

芙蓉区建设局网站外贸邮箱用哪个比较好

在大数据报告中&#xff0c;多头借贷风险、逾期风险、联系人风险、司法风险等是大数据评分评级的重要组成部分&#xff0c;大数据多头借贷风险也是很多银行和金融平台比较看重的&#xff0c;那如果大数据中多头借贷风险严重怎么办呢?本文详细为大家讲讲。 大数据多头风险是什么…

怎么在自己的网站加关键词怎么开平台

深入理解DB2中的日志管理与监控&#xff1a;SYSIBMADM.LOG_UTILIZATION和SYSIBMADM.SNAPDB视图 DB2是一个强大的关系数据库管理系统&#xff0c;日志管理和监控是其运维管理的重要组成部分。本文将深入探讨两个关键的系统管理视图&#xff1a;SYSIBMADM.LOG_UTILIZATION 和 SY…

如何改进网站中英文切换的网站怎么做

不想成为全栈的前端不是好程序员。 数年以前,全栈工程师的理念忽然风靡墙内外,成为开发者们津津乐道的话题。数年过去,关于全栈工程师的争议不多了,教你速成全栈工程师的视频课程多了起来,说明大家对于这个理念慢慢接受了。但我发现,鼓吹前端往全栈转型做的有点走…

龙泉网站开发建网站需成本多少钱

作者&#xff1a; 马国良 | 2006年11月14日13时31分 | 【内容提要】第一名&#xff1a;妈妈说…… 入选原因&#xff1a;单看了两个域名就让人觉得变态“妈妈说就算你注册的域名再长google都能搜索出来”(mamashuojiusuannizhucedeyumingzaichanggoogledounengsousuochulai.cn)…

港口建设网站wordpress php 采集

一&#xff1a;题目&#xff1a; 哥尼斯堡是位于普累格河上的一座城市&#xff0c;它包含两个岛屿及连接它们的七座桥&#xff0c;如下图所示。 可否走过这样的七座桥&#xff0c;而且每桥只走过一次&#xff1f;瑞士数学家欧拉(Leonhard Euler&#xff0c;1707—1783)最终解…

公司网站建设管理网页制作语言

进程&#xff08;Process&#xff09;是具有一定独立功能的程序关于某个数据集合上的一次运行活动&#xff0c;是系统进行资源分配和调度的一个独立单位。程序只是一组指令的有序集合&#xff0c;它本身没有任何运行的含义&#xff0c;只是一个静态实体。而进程则不同&#xff…