详解tcc8935的GPIO寄存器

ZYNQ7000-Linux-MIO-LED 一、目标 一个通过MIO50引脚点亮LED的驱动。 二、寄存器配置 1、GPIO 基地址:0xE000 A000 2、数据寄存器偏移:0x0000 000C(MASK_DATA_1_MSW) 3、方向寄存器偏移:0x0000 0244 (DIRM_1) 4、使能寄存器偏移:0x0000 0244 (OEN_1) 5、slcr:0xF800 0000 6、时钟:0x0000 012C(APER_CL... 阅读详情

一、tcc8935的GPIO寄存器的基地址

Base Address = 0x74200000

二、tcc8935的GPIO寄存器——datasheet 243页

1、GPIO Data Register


数据寄存器,在这里可以读取到当前PIN的值。比如,GPIO_A00为输入模式的话,并且外部输入为高,那么我们读取GPADAT的bit0,就是为1.如果为输出模式的话,在这里设置相应为的数值,也会表现到PIN外部。不过,并不建议直接在这里更改相应的数值,因为如果我们需要更改相应的bit,需要将整个寄存器读取,然后设置相应位之后再回写,远不如使用后面的GPnSET、GPnCLR和GPnXOR来的快。

2、GPIO Direction Control Register


方向寄存器,当相应的bit为1时,对应的pin为输出状态;如果为0,则是输入。

3、GPIO Set Register


置"1"寄存器,当在这里设置为"1"时,对应的数据寄存器的为也为"1"。换句话来说,关系为:GPnDAT = GPnDAT | GPnSET。在这个关系式中还能得知,只有"1"有效,如果往GPnSET写"0",那么对应的GPnDAT的相应位并不会置"0"。

4、GPIO Clear Register


清"0"寄存器,也是写"1"有效,关系式为:GPnDAT = GPnDAT & ~GPnCLR。当GPnCLR的某个位写"1",那么对应的GPnDAT的相应位则变成"0"。

5、GPIO XOR Register


异或寄存器,关系式为:GPnDAT = GPnDAT ^ GPnXOR。如果使用C/C++的话,该位使用的不多,但如果是汇编,使用频率就比较频繁了。

6、Driver Strength Contro Register


驱动能力寄存器,可选数值为0~3,其中3为最高的驱动能力。GPACD0中的GPCD0设置为3,即GPIO_A00的驱动能力设置为3。通过控制GPIO的驱动能力可以控制对应引脚的输入或输入电压的范围。tcc8935的GPIO驱动能力表如下:


7、Pull UP/DOWN Control Register


当要设置GPIO某一个pin内部为上拉或下拉,首先需要将GPnPE寄存器对应为设置为"1",使能上拉下拉。再根据自己需要设置,如果是设置内部上拉,则设置GPnPS对应位为"1";如果是设置内部下拉,则设置GPnPS对应位为"0"。如果不需要内部上拉下拉,则关闭内部上拉下拉使能,即设置GPnPE对应位为"0"。

上下拉:主要是用于在TTL电平和CMOS电平之间的相互驱动上面。TLL电平和CMOS电平的逻辑0和1定义是不一样的,打个比方,你的IO输出逻辑1时电平是3.3V,而接到IO上的元件的逻辑1是5V,这时就要将这个IO接一个上拉,使该IO的逻辑1能够和其驱动的设备的逻辑1电平相当。I/O端口,有的可以设置,有的不可以设置,有的是内置,有的需要外接,I/O端口的输出类类似与一个三极管的C级,当C级接过一个电阻和电源连接在一起的时候,该电阻成为上拉电阻,也就是说,如果该端口正常时为高电平;C级通过一个电阻和地连接在一起的时候,该电阻成为下拉电阻,使该端口平时为低电平。作用:比如,当一个接有上拉电阻的端口设为输入状态是,它的常态就为高电平,用于检测低电平的输入。

8、GPIO Input Type Control Register


通过设置GPnIS寄存器可以设置对应pin的输入模式:0表示CMOS输入模式,1表示Schmitt输入模式


通过设置GPnSR寄存器可以设置对应pin输入模式下的电压转换频率(SR):1表示慢,0表示快

9、Port Configuration Register


GPIO功能寄存器,当每4bit为0,则对应的PIN功能就为FUN0。比如,GPAFNC2中的GPFN16设置为0,则对应设置GPIO_A16为FUN0功能,而tcc8935中所GPIO功能表在datasheet的31页可以查到,或搜索TCC8935 Pin Description。


TCC8935_Chip_Spec Telechip MID Dual SOC TCC8935 立即下载

相关推荐

Telechips芯片烧录工具FWDN

Telechips芯片烧录工具FWDN,V7,V260版,支持烧录WinCE及Android,内含驱动程序。

Telechips,车载方案,以及其车载芯片,TCC8931、TCC8935等介绍,NEXTCHIP+TELECHIPS方案推荐

Telechips是一家韩国MP3芯片研发公司,现已经进军车载市场,提供完美SOC方案TCC893x是一个系统级芯片,具有强大的多媒体解决方案和高性能的双解码等。TCC892x是一个系统芯片,其中包括功能强大的多媒体解决方案和高性能。它是为高端多媒体设备,如汽车AVN,平板电脑,便携式多媒体播放器,多媒体网络设备,以及家庭娱乐的理想选择。 TCC892x多媒体应用处理器是基于Corte...

bjgymtkj的博客 7193

TCC8925x_35_M805S_D3_08X4_V11A_130219-9526 原理图

TCC8925x_35_M805S_D3_08X4_V11A_130219-9526 原理图 里面含有TCC8925x 的芯片资料含有芯片有关的原理图

TCC8935 HDMI output

This post describes how to send HDMI signal out on tcc8935. The LCDC's output can be configured to

TechMax的专栏 2320

Flowable高级篇 -6.8.0 最全表结构说明-主要表结构字段注释

flowable 28张表 详细

billzhen的博客 1万+

泛微E9表单建模查询列表勾选后带入流程明细表中

注意:参照下图各项配置,否则会有问题。

泛微二次开发后端知识总结 5309

STM32寄存器地址名称映射关系

形象理解:就好比盖楼,地面(基地址)为0米,第二层比地面高4米,这4米就是相对地面来说的偏移量,则第二层的高度(地址)是0 + 4 = 4,第三层比第二层高3米,这3米是相对第二层来说的偏移量,因为第二层高度(地址)已经是4,则第三层高度(地址)是4 +3 = 7。最后GPIOA_BASE地址强制转换为了GPIO_TypeDef结构体类型,所以GPIOA便指向了该结构体第一个寄存器CRL的首地址上,因为结构体存储的成员的地址是连续的,所以知道首地址,再根据每个成员的偏移量,便能推算出每个寄存器的地址了。..

weixin_46251230的博客 1216

告别环境配置烦恼:Docker容器化一站式搭建Zephyr RTOS开发环境

本文详细介绍了如何使用Docker容器化技术一站式搭建Zephyr RTOS开发环境,彻底解决环境配置不一致、依赖冲突等难题。通过预构建镜像、数据卷挂载和实战编译示例,帮助开发者快速获得隔离、一致且可复现的嵌入式开发环境,大幅提升开发效率和团队协作体验。

n8m7b6v5c4的博客 189

S5PV210开发 -- TTL和CMOS电平

接着 S5PV210开发 -- UART 详解 来讲,里面提到 TTL和RS232电平。RS232 电平逻辑1:-3V~-15V逻辑0:+3V~+15VTTL 电平逻辑1:+2V~+5V逻辑0:+0V~+0.8V一、什么是逻辑电平要了解逻辑电平的内容,首先要知道以下几个概念的含义:1:输入高电平(Vih):保证逻辑门的输入为高电平时所允许的最小输入高电平,当输入电平高于Vih时,则认为输入电平为高

不积跬步,无以至千里 3738

手把手教你用AppsFlyer SDK实现延迟深度链接(附Android/iOS代码示例)

本文详细介绍了如何使用AppsFlyer SDK实现延迟深度链接,提供Android和iOS双平台代码示例,帮助开发者解决跨平台精准跳转与用户归因问题。通过实战案例和高级场景分析,提升应用的用户转化率和广告投放效果。

sre5engineer的博客 701

吃透Chisel语言.02.Chisel+VS Code+Ubuntu/WSL2开发环境搭建与使用

既然是学Chisel语言,那肯定得先把环境配置好,磨刀不误砍柴工嘛。而且有个测试环境的话,在后期的学习过程中自己去试运行代码段可以加深学习效果。这里推荐使用Ubuntu或者基于WSL2(Windows Subsystem Linux 2)的Ubuntu,本人使用的是WSL2上的Ubuntu 20.04.3 LTS,在使用体验上与Ubuntu几乎没有区别,且能同时使用Windows提供的诸多便利。...

github-3rr0r的博客 8448

8935 CLOCK subsystem

The CLOCK system is an essential/fundamental component of any system

TechMax的专栏 1549

Gephi新手必看:如何用Excel整理CSV数据快速生成网络图(附模板)

本文为Gephi新手提供了一份从Excel数据整理到生成专业网络图的完整指南。详细讲解了如何构建规范的节点表和边表CSV文件,并导入Gephi进行可视化分析。通过实战案例,帮助读者快速掌握利用Excel整理数据、规避常见错误,并运用布局算法与视觉编码,将复杂关系数据转化为直观的网络洞察。

weixin_28487433的博客 389

GPIO的地址和寄存器映射

结合上面的代码和结构体的定义,我们就不难看出,只要将结构体赋值一个具体的外设基地址,就能够通过4字节偏移的方式将外设绝对地址抽象为结构体偏移地址,从而达到访问结构体等于访问硬件绝对地址一样的效果,没错,寄存器就是这么来的,我们后面的章节将不再分析寄存器由来,因为都是通用的,不过会以每一个外设的硬件地址开始分析。重点是看init函数以及寄存器地址映射,C语言封装,要是那些都理解了,剩下的就是用了,其实也就达到了知其然知其所以然,工作忙,手动肝也是很累,更新较慢大家见谅,太难了加油啊,大家共勉!

zhuxinmingde的博客 3347

Openlayers 教程 02 - 地图添加 WKT WKB GeoJson 格式的点线面数据

WebGIS 开发中,对于数据量不是很大的场景,可以直接从数据库读取数据,通过创建点线面要素(Feature),然后添加到矢量图层(vectorLayer)中,在地图上展示。添加点线面的方法可以封装一下,方便使用。...

非科班Java出身GISer的博客 3854

从 VS Code 创建 ABAP Development Objects,包、命名、传输请求和 Clean Core 的一条线打通

文章摘要: SAP ABAP开发工具正从传统SAP GUI/Eclipse向VS Code迁移,通过ABAP Development Tools扩展实现代码编辑、调试和传输管理。文章重点分析了创建ABAP对象背后的治理逻辑:1)对象创建涉及包结构、命名规范、传输层等关键设计决策;2)VS Code通过命令面板(Ctrl+Shift+P)提供统一创建入口;3)对象类型选择反映架构意图,应从业务模型角度规划;4)Package是重要的治理边界,需按业务能力分区;5)命名和描述需体现业务语义;6)传输请求标记对象

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 173

STM32 入门 —— 寄存器与 GPIO

STM32 入门 —— 寄存器与 GPIO STM32 总线构图: 寄存器 什么是寄存器 根据百度百科介绍,寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。简单来说,寄存器就是存放东西的东西,存放的东西是指令、数据或地址 存放数据的寄存器最容易理解,不同的数据存在不同的寄存器下,不同的寄存器有不同的地址,要想获得数据,我们直接访问寄存器,就可...

ppqppl的博客 5014

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

GPIO寄存器的地址怎么寻找?

由上图知,GPIOC的地址就是在这个PERIPH_BASE地址的基础上偏移得到得。我们可以一步一步的计算一下GPIOC的地址是多少。0x40000000 + 0x10000 + 0x1000 == 0x4001 1000 我们的计算结果和参考手册上的一样。 这个是GPIO上的各个寄存器,它被装在一个结构体里面。由这张图可知,这也就是为什么GPIO的寄存器仅通过偏移地址就可以能找到它。 CRL寄存器是结构体的第一个变量,所以它的偏移量就为0x00,所以CRL寄存器的地址为:0x4001 1000

qq_39577221的博客 9246

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

GPIO 在不同平台的地址

一、以酷睿平台为例 访问GPIO 按如下公式 每个GPIO都有单独的地址 和32bit配置空间 SBREG_BAR 在代码中宏定义可以找到 port id 需要查询EDS Vol1 二、以至强平台为例 所有的GPIO配置信息混在压缩在几个寄存器中 7.10 General Purpose I/O Registers The control for the general purpose I/O signals is handled through a 128-byte I/O space. The ba

16岁的夏天的博客 2044

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Android 4.2 Shutdown procedure

The shutdown procedure within Linux (based on BSP v13.05):         1.     Android call __reboot( LINUX_REBOOT_MAGIC1,                                                             LINUX_REBOOT_MAGIC2,

TechMax的专栏 718

Linux下控制GPIO的三种方法,以及HI3559AV100 GPIO配置和操作(一)

在/sys/class/gpio/下有个export文件,向export文件写入要操作的GPIO号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO输入或者输出模式,而value可控制GPIO的状态或者读取状态。前面同事写的,这个脚本里,没有找到使用它,结果在sdk的 out/liteos/single/init/sdk_init.c找到了,复用为了gesonser的clk,靠,

rjszcb的博客 3358

GPIO的一些总结

GPIO的一些总结

qq_68915581的博客 1524

【嵌入式07】寄存器映射原理详解,GPIO端口的初始化设置步骤

本文主要介绍STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置三步骤(时钟配置、输入输出模式设置、最大速率设置)。

噗噗的罐子博客 6912

STM32—第一个外设GPIO

GPIO的两种输出结构:推挽输出、开漏输出开漏输出可以实现线与的结构,例如IIC通信就会用到开漏输出。

m0_49830036的博客 411

GPIO

GPIO STM32

invokerzhang的博客 1581

STM32外设GPIO(学习笔记)

在系统复位或初始化时调用这个函数,可以确保所有的GPIO端口都是按照预期的方式配置的。比如GPIO:在定义输出数据寄存器地址GPIOA_ODR_Addr时,在GPIOA_BASE(GPIO端口A的基址地址)地址基础上偏移。类型的指针,这个类型定义了GPIO端口的初始化结构体,包含了端口的各种配置选项,如模式、速度、输出类型、输出速度、上下拉配置等。这两行代码的组合效果就是清除原来的模式位并设置新的模式位,将引脚配置为复用推挽模式。通过清除原来的速度位并设置新的速度位,将引脚的输出速度配置为50MHz。

qq_64549256的博客 2665
上一篇: 结构体(struct)的使用、内存分布以及字节对齐测试总结
下一篇: tcc893x基于Linux内核的普通GPIO操作总结
林知共创
博客等级 码龄15年 3435粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值