博客
关于我
F28335第九篇——通用IO
阅读量:584 次
发布时间:2019-03-11

本文共 2101 字,大约阅读时间需要 7 分钟。

F28335 GPIO寄存器详细说明

GPIO概述

F28335微控制器拥有88个复用IO端口,划分为A、B、C三个分组。

  • A分组:GPIO0到GPIO31
  • B分组:GPIO32到GPIO63
  • C分组:GPIO64到GPIO87

GPIO被划分为三个寄存器组:GPIO控制寄存器(GpioCtrlRegs)、GPIO中断寄存器(GpioIntRegs)和GPIO数据寄存器(GpioDataRegs)。其中,前两个寄存器组为读写式寄存器。

寄存器组别说明

1. GPIO控制寄存器(GpiCtrlRegs)

用于配置各复用IO端口的基本功能,包括功能选择、数据方向和上拉控制。支持A、B分组配置,C分组功能较为简洁。

2. GPIO中断寄存器(GpiIntRegs)

  • 作用:配置外部中断触发端口及其唤醒功能。
  • 特点:用于中断源选择和低功耗唤醒功能,每个中断源选择范围有限。

3. GPIO数据寄存器(GpiDataRegs)

实现通用端口的数据操作,包括读取、置位、清零和翻转。每个端口配备四个寄 storage器,其中数据寄存器为状态值直接反映。但需注意操作可能影响多个端口。

寄存器源代码结构

// GPIO控制寄存器struct GpioCtrlRegs {    union GpACTRL Reg gpACTRL;    union GpA1 Reg gpAQSEL1;    union GpA2 Reg gpAQSEL2;    union GpA1 Reg gpAMUX1;    union GpA2 Reg gpAMUX2;    union GpADat Reg gpadir;    union GpADat Reg gpapud;    Uint32 reserved1;    union GpBCtrl Reg gpBCtrl;    union GpB1 Reg gpBQSEL1;    union GpB2 Reg gpBQSEL2;    union GpB1 Reg gpBMUX1;    union GpB2 Reg gpBMUX2;    union GpBDat Reg gpBDir;    union GpBDat Reg gpBPUD;    Uint16 reserved2[8];    union GpC1 Reg gpCMUX1;    union GpC2 Reg gpCMUX2;    union GpCDat Reg gpCDir;    union GpCDat Reg gpCPUD;};// GPIO中断寄存器struct GpioIntRegs {    union GpioXInt Reg gpioXInt1Sel;    union GpioXInt Reg gpioXInt2Sel;    union GpioXInt Reg gpioXNmiSel;    union GpioXInt Reg gpioXInt3Sel;    union GpioXInt Reg gpioXInt4Sel;    union GpioXInt Reg gpioXInt5Sel;    union GpioXInt Reg gpioXInt6Sel;    union GpioXInt Reg gpioXInt7Sel;    union GpADat Reg gpIOpMSel;};

寄存器操作注意事项

  • 数据寄存器:需谨慎操作,避免同时影响多个端口。建议使用其它寄存器或延时操作以稳定化配置。
  • 延时操作:在清零和置位操作前后适当添加延时,提升I/O端信号的稳定性。
  • 中断配置:确保中断源选择范围符合规范,避免因选择错误导致异常触发。
  • 寄存器编程示例

    // 初始化GPIO端口配置void InitKeyGpio() {    GpioCtrlRegs.gpadir = GPIO_OUTPUT;    GpioCtrlRegs.gpapud = GPIO_HIGH;    GpioCtrlRegs.gpBDir = GPIO_OUTPUT;    GpioCtrlRegs.gpBPUD = GPIO_HIGH;    GpioCtrlRegs.gpCMux1 = GPIO müşCF;    GpioIntRegs.gpioXInt1Sel = GPIO13;}// 中断服务程序interrupt void IsrXint1() {    PieCtrlRegs.pieCtrl.bit.enPie = 1;    GpioDataRegs.gpAtoGgle.bit.GPIO6 = 1;  // 刷新LED1    GpioDataRegs.gpBtoGgle.bit.GPIO7 = 1;  // 刷新LED2    Delay_Us(10000);}

    总结

    F28335的GPIO配置可满足多种复用IO需求,但在操作时需注意寄存器特性和潜在副作用。通过合理配置和谨慎使用,可实现高效、可靠的I/O控制。

    转载地址:http://ryztz.baihongyu.com/

    你可能感兴趣的文章
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增加修改实时同步_使用JsonPath及自定义Python脚本_03---大数据之Nifi工作笔记0055
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
    查看>>
    NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
    查看>>
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>
    nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
    查看>>
    NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
    查看>>
    NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>
    NIFI同步MySql数据源数据_到原始库hbase_同时对数据进行实时分析处理_同步到清洗库_实际操作06---大数据之Nifi工作笔记0046
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
    查看>>