定制网站建设多少钱微信公众号文章怎么制作

bicheng/2026/1/22 10:44:53/文章来源:
定制网站建设多少钱,微信公众号文章怎么制作,网站建设点击打开指定网页,广州市学校安全教育平台官网目录 概要 整体架构流程 技术名词解释 使用方法#xff1a; 小结 概要 验证方案时用到了AD7172芯片#xff0c;24位AD,分辨率是真的高#xff0c;无敌。但是前级放大电路不给力#xff0c;所以放弃这版方案了。代码贴出来供大家参考#xff0c;写的一般如果有错误轻点喷 小结 概要 验证方案时用到了AD7172芯片24位AD,分辨率是真的高无敌。但是前级放大电路不给力所以放弃这版方案了。代码贴出来供大家参考写的一般如果有错误轻点喷谢谢。 PS:整体代码是根据ADI给的代码改写的 整体架构流程 为了更好的移植性以及复用代码。先写框架然后通过注册函数的方式实例化对象通过对象调用设备简单说就是结构体函数指针。 文件构成 ad717x_Frame.c、ad717x_Frame.h【框架文件 里面有PAD7172_Struct结构体】 ad7172_2_regs.h【AD7172的寄存器定义文件】 Ad7172Spi.c、Ad7172Spi.h【硬件层、和MCU相关的文件、移植只需要重写这个文件】 AD7172Config.c、AD7172Config.h【实例化文件、配置PAD7172_Struct结构体、链接硬件和框架】 主要寄存器 .....手册是中文的自己看吧配合代码不难 使用方法 AD7172Config.c【实例化文件】 在这里写一下主要配置参数 void AD7172ParmInit(void){gAd7172.regs ad7172_2_regs;gAd7172.num_regs sizeof(ad7176_2_regs) / sizeof(ad7176_2_regs[0]);gAd7172.active_device ID_AD7172_2;gAd7172.num_channels 2;// 转化模式设置gAd7172.mode CONTINUOUS;// 设置极性 false 为单极性 Ture 为双极性gAd7172.setups[0].bi_unipolar 0;gAd7172.setups[1].bi_unipolar 0;// 设置参考源gAd7172.setups[0].ref_source EXTERNAL_REF;gAd7172.setups[1].ref_source EXTERNAL_REF;// 设置buff 7172不需要// gAd7172.setups[0].ref_buff 0;// gAd7172.setups[0].input_buff 0;// 设置 滤波和速率// gAd7172.filter_configuration[0].enhfilt// 输出速率gAd7172.filter_configuration[0].odr sps_100;gAd7172.filter_configuration[1].odr sps_100;// 设置通道映射寄存器 选择当前有效的通道、各通道使用哪些输入以及该通道使用何种设置来配置ADC。gAd7172.chan_map[0].analog_inputs.ainp.pos_analog_input AIN0;gAd7172.chan_map[0].analog_inputs.ainp.neg_analog_input REF_M;gAd7172.chan_map[1].analog_inputs.ainp.pos_analog_input AIN1;gAd7172.chan_map[1].analog_inputs.ainp.neg_analog_input REF_M;// 使用四种设置中的哪一种来配置ADC。设置由四个寄存器组成设置配置寄存器、滤波器配置寄存器、失调寄存器和增益寄存器。gAd7172.chan_map[0].setup_sel 0;gAd7172.chan_map[1].setup_sel 0;// 1为开 0为关闭gAd7172.chan_map[0].channel_enable 1;gAd7172.chan_map[1].channel_enable 1;gAd7172.spi_write_and_read stm32_spi_write_and_read;gAd7172.SetCsPin SetAD7172CsPin;gAd7172.spi_receive stm32_spi_receive;gAd7172.GetDinPin spi_miso_input;AD717X_Init(gAd7172);}然后通过后台Loop循环调用下面函数即可工作连续读取 /************************************************************* ** Function name: AD7176Loop ** Descriptions: 读取ADC数据的主循环函数 需要根据ADC的配置来 循环调用 ** Input parameters: None ** Output parameters: None ** Returned value: None ** Remarks: None *************************************************************/ void AD7176Loop(void){AD717X_OnlyRead32(gAd7172);Var_WriteHoldReg32(gdev_ADC0, gAd7172.adcValue[0]);Var_WriteHoldReg32(gdev_ADC1, gAd7172.adcValue[1]); }/************************************************************* ** Function name: GetAD7176ADCChannel ** Descriptions: 提供ADC数据的接口 ** Input parameters: channel: 要获取的通道 0:ADC0 1:ADC1 2:ADC2 3:ADC ** Output parameters: None ** Returned value: None ** Remarks: None *************************************************************/ int32_t GetAD7176ADCChannel(uint8_t channel){return AD717X_GetChannelValue(gAd7172, channel); }硬件层 如果你使用的是STM32 HAL库基本上不需要改变 /************************************************************* ** Function name: SetAD7172CsPin ** Descriptions: 操作AD7172的片选引脚 ** Input parameters: None ** Output parameters: None ** Returned value: None ** Remarks: None *************************************************************/ void SetAD7172CsPin(uint8_t state){HAL_GPIO_WritePin(AD_CS_GPIO_Port,AD_CS_Pin,(GPIO_PinState )state); }/*** brief Write/read multiple messages to/from SPI.* param desc - The SPI descriptor.* param msgs - The messages array.* param len - Number of messages.* return 0 in case of success, errno codes otherwise.*/ int32_t stm32_spi_transfer(struct no_os_spi_msg *msgs, uint32_t len) {for (uint32_t i 0; i len; i) {// CS 拉低// gdesc-port-BSRR NO_OS_BIT(sdesc-chip_select-number) 16;SetAD7172CsPin(0);// 如果CS拉低之后需要延迟 则delayif(msgs[i].cs_delay_first){// no_os_udelay(msgs[i].cs_delay_first);}HAL_SPI_TransmitReceive(hspi1, msgs[i].tx_buff, msgs[i].rx_buff, msgs[i].bytes_number, AD7172SPI_TIMEOUT_MS);if(msgs[i].cs_delay_last){// no_os_udelay(msgs[i].cs_delay_last);}if (msgs[i].cs_change){/* De-assert CS */// gdesc-port-BSRR NO_OS_BIT(sdesc-chip_select-number);SetAD7172CsPin(1);}if(msgs[i].cs_change_delay){// no_os_udelay(msgs[i].cs_change_delay);}}return 0; }int32_t stm32_spi_write_and_read(uint8_t *data, uint16_t bytes_number) {struct no_os_spi_msg msg {.bytes_number bytes_number,.cs_change true,.rx_buff data,.tx_buff data,};if (!bytes_number)return 0;return stm32_spi_transfer(msg, 1); }int32_t stm32_spi_receive(uint8_t *data, uint16_t bytes_number){struct no_os_spi_msg msg {.bytes_number bytes_number,.cs_change true,.rx_buff data,.tx_buff data,};if (!bytes_number)return 0;HAL_SPI_Receive(hspi1, msg.rx_buff, msg.bytes_number, AD7172SPI_TIMEOUT_MS);return 0; }// SPI 的 MISO信号引脚 读取功能 uint8_t spi_miso_input(void){return (uint8_t)HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_6); }小结 完整代码放CSDN可以下载。

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

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

相关文章

做网站有必要?wordpress文章展示页

前言如今前后端分离开发模式如火如荼,开发职责更加分明(当然前后端一起搞的模式也没有完全褪去);而对于每个公司产品实施来说,部署模式会稍有差别,有的会单独将前端文件部署为一个站点,有的会将…

网站建设公司怎样布局建网站的外包公司

这是头哥侃码的第233篇原创在过去的五年里,我最怕遇到两件事。一是失眠,一个人半夜醒来,瞬间毫无困意,只能瞪大眼睛望着天花板数羊,等待着黎明的到来。二是每到春节之前,在进行团队年度绩效评估和年终奖发放…

全国教育平台网站建设国家企业信用公信系统入口

一、引言 随着互联网的快速发展,电子商务行业正在迅速崛起,其中拼多多以其独特的商业模式和创新的商品详情API,成为了行业内的佼佼者。本文将深入探讨拼多多商品详情API的技术特点、实现方式及其在电子商务解决方案中的应用。 二、拼多多商…

网页与网站设计说明软件开发和网站开发区别

一、事件 事件是文档或者浏览器窗口中发生的,特定的交互瞬间。 事件是用户或浏览器自身执行的某种动作,如click,load和mouseover都是事件的名字。 事件是javaScript和DOM之间交互的桥梁。 你若触发,我便执行——事件发生,调用它的…

苏州北京网站建设评估企业网站建设

TCP 断开连接是通过四次挥手方式。 双方都可以主动断开连接,断开连接后主机中的「资源」将被释放, 刚开始双方都处于 establised 状态,假如是客户端先发起关闭请求,过程如下图: 第一次挥手:客户端打算关闭…

北京单位网站建设培训做电商有那个网站

在自动化中, Selenium 自动化测试中有一个名字经常被提及 PageObject( 思想与面向对象的特征相 同 ) ,通常 PO 模型可以大大提高测试用例的维护效率 优点:可重用,业务和对象分离,代码结构清晰,方便代码维护 核心要素 …

做互联网小程序 和网站有没有前景wordpress加slider

一、匿名类:[ C# 3.0/.NET 3.x 新增特性 ] 1.1 不好意思,我匿了 在开发中,我们有时会像下面的代码一样声明一个匿名类:可以看出,在匿名类的语法中并没有为其命名,而是直接的一个new { }就完事了。从外部看来…

做电影网站有什么好处南昌市有帮做网站的吗

ChatGPT是一种基于生成式预训练的语言模型,它的基本技术包括预训练和微调。下面我将为你解释这些技术及其原理。 1. 预训练(Pre-training): ChatGPT的预训练阶段是在大规模的文本数据上进行的。模型通过对大量的互联网文本进行自监督学习来学…

四川住房建设厅网站首页建设网点查询

3妹:“太阳当空照,花儿对我笑,小鸟说早早早,你为什么背上炸药包” 2哥 :3妹,什么事呀这么开发。 3妹:2哥你看今天的天气多好啊,阳光明媚、万里无云、秋高气爽,适合秋游。 2哥&#x…

vi企业整套设计公司啥是东莞网站优化推广

对象池 使用对象池:频繁地创建和销毁对象会导致性能下降和内存碎片化。对象池可以预先创建一些对象,然后在需要时从池中取出,不再使用时再放回池中。 减少Draw Calls Draw Call是指CPU向GPU发送绘制命令的次数。减少Draw Call可以通过批处理…

网站建设大致步骤旅游网站建设前期分析

写在前面好久没有写博客了,一直在不断地探索响应式DDD,又get到了很多新知识,解惑了很多老问题,最近读了Martin Fowler大师一篇非常精彩的博客The LMAX Architecture,里面有一个术语Mechanical Sympathy,姑且…

网站 目录 结构上海刚刚发生的大事

一、上新 1. 有向图 从顶点A到顶点B的边,不等于从B到A的边。 2. 广度优先 遍历开始节点(第一层)的邻节点(从左至右顺序),邻接点设为第二层根据1中遍历邻接点从左往右的顺序遍历。 bilibili视频《广度优…

重庆网站制作特点优势网站建设技能

文章目录 前言一、消费者确认机制二、失败重试机制三、失败处理策略四、业务幂等性唯一消息ID业务判断 五、兜底方案总结 前言 当RabbitMQ向消费者投递消息以后,需要知道消费者的处理状态如何。因为消息投递给消费者并不代表就一定被正确消费了,可能出现…

安徽省城乡建设网站学校网站建设需求文档

一 选择排序 原理:选择排序很简单,他的步骤如下: 从左至右遍历,找到最小(大)的元素,然后与第一个元素交换。从剩余未排序元素中继续寻找最小(大)元素,然后与第二个元素进行交换。以此…

天圆地方建筑网站企业网站四种类型

先推广一下QQ群:61618925。欢迎各位爱好编程的朋友加入。 一、程序界面 二、关键部分代码: 1.数据结构定义 #define MBRSIZE 512 #define BOOTRECORDSIZE 440 #define DISKSIGNEDSIZE 4 #define RESERVESIZE 2 #define DPTNUMBER 4 #define DPTSIZE 16 #…

临沂网站建设昂牛网络网站建设与管理好处

上链接:【深基16.例1】淘汰赛 - 洛谷https://www.luogu.com.cn/problem/P4715 上题干: 题目描述 有 2^n(n≤7)个国家参加世界杯决赛圈且进入淘汰赛环节。已经知道各个国家的能力值,且都不相等。能力值高的国家和能力值…

优质聊城做网站公司网站流量 次

目录 一,创建登录ui界面类 LoginWidget 二,添加图片资源 三,通过样式的方法将图片设置成圆圈的背景 四,新建登录后的ui界面 MWindow 简陋的就可以,因为只为了学习,可以自己补充 五,新建三个嵌套ui界面类,ChatWidget聊天界面 FriendWiidget好友界面 CollectW…

服装购物商城网站建设wordpress 收费主题下载

图源:文心一言 听课笔记简单整理,供小伙伴们参考,包含以下内容“🐋3.11 引用类型、🐋3.14 内联函数、🐋3.15 默认参数值、🐋3.16 函数重载、🐋3.17 C系统函数”~🥝&…

网站网址怎么写网站域名如何查询

Statement对象和查询结果集 Statement对象相关的方法 Connection接口中获取数据库操作对象Statement对象的方法 方法名功能Statement createStatement()创建Statement对象 Statement对象执行增删改查的SQL语句(不含占位符"?")的方法,JDBC中的SQL语句不需要提供分…

网站内容建设的原则是什么意思酒店找人做网站

WebRTC是音视频直播中最常用的一个框架,在使用的过程中,我们就需要实现一个服务器端。本文以nodejs实现一个服务器为例,讲述一下在centos下如何用nodejs实现一个简单的web服务器。 一、安装nodejs 在linux环境下安装nodejs有多重方式&#x…