RTOS之三裸机ADC转换与三轴加速计

news2024/10/6 10:39:01

参考:https://blog.csdn.net/qq_38427678/article/details/94607733

各个pin口连接方式如下:

// J1 J3 J4 J2

// [ 1] [21] [40] [20]

// [ 2] [22] [39] [19]

// [ 3] [23] [38] [18]

// [ 4] [24] [37] [17]

// [ 5] [25] [36] [16]

// [ 6] [26] [35] [15]

// [ 7] [27] [34] [14]

// [ 8] [28] [33] [13]

// [ 9] [29] [32] [12]

// [10] [30] [31] [11]

// accelerometer 黄色所示

// J3.23 accelerometer X (analog) {TM4C123 PD0/AIN7, MSP432 P6.1}

// J3.24 accelerometer Y (analog) {TM4C123 PD1/AIN6, MSP432 P4.0}

// J3.25 accelerometer Z (analog) {TM4C123 PD2/AIN5, MSP432 P4.2}

  1. adcinit初始化:

// accelerometer X (J3.23/PD0/AIN7), Y (J3.24/PD1/AIN6), and Z (J3.25/PD2/AIN5)

void static adcinit(void){

SYSCTL_RCGCADC_R |= 0x00000001; // 1) //使能ADC0外设

while((SYSCTL_PRADC_R&0x01) == 0){};// 2) 等待

ADC0_PC_R &= ~0xF; // 8) clear max sample rate field

ADC0_PC_R |= 0x1; // configure for 125K samples/sec

ADC0_SSPRI_R = 0x3210; // 9) Sequencer 3 is lowest priority

}

  1. BSP_Accelerometer_Init

// BoosterPack pins J3.23 (X), J3.24 (Y), and// J3.25 (Z).

void BSP_Accelerometer_Init(void){

adcinit();

SYSCTL_RCGCGPIO_R |= 0x00000008; // 1)Port D时钟配置

while((SYSCTL_PRGPIO_R&0x08) == 0){};//2)等待

GPIO_PORTD_AMSEL_R |= 0x07; // 3) 配置ADC0的IO脚 PD2-0为模拟脚

GPIO_PORTD_DIR_R &= ~0x07; // 5) 设置为输入模式

GPIO_PORTD_AFSEL_R |= 0x07; // 6) 设置多路复用功能为adc(不用其他功能)

GPIO_PORTD_DEN_R &= ~0x07; // 7) 使能adc PD2-0 禁止它的数字功能,启用为模拟功能

adcinit(); // 8-9) ADC 初始化

ADC0_ACTSS_R &= ~0x0004; // 10) 暂时禁止采样序列sample sequencer 2

ADC0_EMUX_R &= ~0x0F00; // 11) 采样序列sample sequencer 2为软件触发模式

ADC0_SSMUX2_R = 0x0567; // 12) 设置序列sample sequencer 2

ADC0_SSCTL2_R = 0x0600; // 13) 编程到最后一个半字节时 确定END bit置位(ADC_CTL_END) 否者 导致 不可预测错误

ADC0_IM_R &= ~0x0004; // 14) disable SS2 interrupts 清除中断状态标志。这样做是为了确保,中 断标志在我们采样之前被清除

ADC0_ACTSS_R |= 0x0004; // 15) enable sample sequencer 2使能采样序列

}

3. BSP_Accelerometer_Input

void BSP_Accelerometer_Input(uint16_t *x, uint16_t *y, uint16_t *z){

ADC0_PSSI_R = 0x0004; // 1) initiate SS2

while((ADC0_RIS_R&0x04)==0){}; // 2) wait for conversion done

*x = ADC0_SSFIFO2_R>>2; // 3a) read first result

*y = ADC0_SSFIFO2_R>>2; // 3b) read second result

*z = ADC0_SSFIFO2_R>>2; // 3c) read third result

ADC0_ISC_R = 0x0004; // 4) acknowledge completion

}

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

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

相关文章

重温一下C#的时间类型,并简单写一个定时器功能

🎉🎉 时间是一个非常抽象的概念,本篇文章我们不深究目前电脑上的时候是如何保持全网同步。主要是讲讲在使用C#编程语言里的时间类型。最后使用定时任务简单写一个提醒功能,比如:每天10点准时打开一次csdn首页&#xff…

sk_buff结构体成员变量说明

一. 前言 Socket Buffer的数据包在穿越内核空间的TCP/IP协议栈过程中,数据内容不会被修改,只是数据包缓冲区中的协议头信息发生变化。大量操作都是围绕sk_buff结构体来进行的。 sk_buff结构的成员大致分为3类:结构管理域,常规数据…

cocos2d-x4.0 win10环境搭建

cocos2d-x默认只支持win32的版本,win64的我测试link不行 我搭建使用的环境 windows10vs2019py2.7cmake3 从GitHub上clone源码https://github.com/cocos2d/cocos2d-x coco2d-x默认带了submodule,有协同子模块,最好是一起下载,搞个…

国内知名插画培训机构有哪些

国内知名插画培训机构有哪些?给大家梳理了国内5家专业的插画师培训班,最新无大插画班排行榜,各有优势和特色! 一:国内知名插画培训机构排名 1、轻微课(五颗星) 主打课程有日系插画、游戏原画、古…

MYSQL 配置优化

max_connections 允许客户端并发连接的最大数量,默认值是151。 show status like %connections%; 设置参数值应大于Max_used_connections。如果使用连接池,可参考连接池的最大连接数和每个连接池的数量作为参考设置 innodb_buffe_pool_instances Inno…

【华为云-开发者专属集市】DevCloud+ECS、MySQL搭建WordPress

文章目录AppBazaar官网选择与购买项目项目概况操作过程购买DevCloud服务创建项目添加制品库应用部署购买ECS添加部署模板并执行任务故障排除安装及访问WordPress登录网站管理后台访问网站完善部署模板资源释放使用总结AppBazaar官网 首先,我们来到AppBazaar的官网&…

【Kubernetes】【十五】Service详解 Service介绍 类型 使用

第七章 Service详解 本章节主要介绍kubernetes的流量负载组件:Service和Ingress。 Service介绍 ​ 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着…

数据库必知必会:TiDB(11)TiDB集群安装

数据库必知必会:TiDB(11)TiDB集群安装TiDB集群安装单机环境上安装集群下载并安装TiUP工具安装TiUP cluster组件创建拓扑文件配置SSH免密登录检查安装要求创建安装目录部署集群启动集群验证集群启动使用命令验证通过Dashboard查看通过Grafana查…

2023年1月冰箱品牌销量排行:销量环比增长26%,销售额36亿+

鲸参谋电商大数据2023年1月京东平台“冰箱”销售数据出炉! 根据鲸参谋平台电商数据显示,2023年1月份,在京东平台上,冰箱的销量将近130万件,环比增长26%,同比下滑8%;销售额达36亿,环比…

嵌入式开发:C++在深度嵌入式系统中的应用

深度嵌入式系统通常在C语言中实现。为什么会这样?这样的系统是否也能从C中获益?嵌入式开发人员在将广泛、高效的深度嵌入式代码库从C转换为C方面的实践经验的贡献。嵌入式和深度嵌入式系统通常用C而不是C实现。软件开发人员必须放弃C作为强类型系统、模板元编程(TMP)和面向对…

dubbo整合nacos进行远程调用

doubbo是什么? Apache Dubbo 最初在 2008 年由 Alibaba 捐献开源,很快成为了国内开源服务框架选型的事实标准框架 ,得到了各行各业的广泛应用。在 2017 年,Dubbo 正式捐献到 Apache 软件基金会并成为 Apache 顶级项目&#xff0c…

DJI 无人机 Onboard SDK ROS 功能包demo运行

DJI 无人机 Onboard SDK ROS 功能包demo运行demo功能准备测试环境运行 dji sdk 节点运行 demo 节点自动飞行任务航点自动飞行兴趣点环绕自动飞行飞行控制本地坐标位置控制搭建好 Onboard SDK ROS 的开发环境后,功能包自身具备一些写好的demo功能案例 dji sdk 的节点…

华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】

使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:https://blog.csdn.net/hihell/category_12201821.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 猴子爬山 | 华为OD机…

特征工程-定义+意义+安装scikit-learn+数据的特征抽取(字典、文本)

目录 数据中对特征的处理 特征工程定义 特征工程意义 安装scikit-learn 数据的特征抽取 字典特征抽取 DictVectorizer语法 文本特征抽取 CountVectorizer语法 TfidfVectorizer语法 数据中对特征的处理 pandas:一个数据读取非常方便以及基础的处理格式的工具 sklear…

Spring Boot + Vue3 前后端分离 实战 wiki 知识库系统<一>---Spring Boot项目搭建

前言: 接下来又得被迫开启新的一门课程的学习了,上半年末尾淘汰又即将拉开序幕【已经记不清经历过多少次考试了】,需要去学习其它领域的技术作为考试内容,我选了spring boot相关技术,所以。。总之作为男人&#xff0c…

Linux之网络流量监控工具ntopng YUM安装

一、ntopng简介 Ntop是一种监控网络流量工具,用ntop显示网络的使用情况比其他一些网络管理软件更加直观、详细。Ntop甚至可以列出每个节点计算机的网络带宽利用率。他是一个灵活的、功能齐全的,用来监控和解决局域网问题的工具;尤其当ntop与n…

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建 文章目录【Spring Cloud Alibaba】003-Nacos 概述与单机搭建一、Nacos 概述0、新技术学习思路推荐1、什么是 Nacos2、架构图架构图架构图信息二、Nacos 单机搭建1、下载与启动下载地址编辑 startup.cmd 文件下面对两种模式的…

“王炸”产品+集资2000万美元,D-Wave在赌什么?

(图片来源:网络)D-Wave是量子计算系统、软件和服务的领导者,也是全球量子计算机商业供应商。近日,它发布了一系列的最新产品和业务,展示出其在推动量子计算商业化方面的强劲势头。随着全球越来越多的企业将…

C++入门:内联函数、auto关键字、基于范围for循环及指针空值nullptr

目录 一. 内联函数 1.1 内联函数的概念 1.2 内联函数的特性 1.3 内联函数和宏的优缺点对比 二. auto关键字(C11) 2.1 auto的功能 2.2 auto在使用时的注意事项 三. 基于范围的for循环(C11) 四. 指针空值nullptr&#xff08…

开发日记-lombok

开发日记-lombok环境问题解决方案:1 Data注解失效 无法正常生成 get和set方法2 RequiredArgsConstructor(onConstructor _(Lazy)) 符号_无法识别环境 idea2020.1lombok1.18.24jdk1.8 问题 Data注解失效 无法正常生成 get和set方法RequiredArgsConstructor(onCons…