当前位置: 首页 > article >正文

单片机常用外设开发流程(1)(IMX6ULL为例)

1.通过GPIO引脚控制led灯和key按钮

(1)设置多路复用的引脚(SW_MUX_CTL)也可以说是选择让引脚以哪种工作模式工作

(2)设置电器属性(SW_PAD_CTL)上拉、等等...

  (3)设置GPIO的方向(GDIR),输入 和 输出 

(4)设置时钟(CCM)

2.定仪器(GPT)实现延时 (始终源+2个输入捕获+3个比较通道)

(1)选择定时器时钟源寄存器进行配置

          时钟源分很多种,在IMX6ULL中有2部分5种分别是

                   第一部分包括2种:外部时钟(GPT_CLK)和晶体管震荡时钟(ipg_clk_24M)

                   第二部分包括3种:高频时钟(ipg_clk_highfreq)、低频时钟(ipg_clk_32K)、

                                                  外围时钟(ipg_clk)

(2)对预分频寄存器进行设置(GPTx_PR)

-----------------------------------------------------------------------------------

  (3)对GPT的工作模式进行设置(GPT_CR)同时启用GPT     

        工作模式分为2种Restart mode 和Free-Run mode

        Restart mode

        当计数器值达到比较值时重新开始计数 只和比较通道1相关,通道2和通道3不相关

        Free-Run mod 

        计数器的值不会被重置计数器的值会一直走,直到0xffffffff 再加回到0x00000000

       

        EN位 等于0 主计数器和预分频器被冻结 等于1 启用他们

        ENMOD 等于1 主计数器和预分频器的值重置为0

        ENMOD 等于0再启动(EN=1)计数器从冻结的值开始计数

        硬件复位也可以重置计数器的值,但是GPT的输出比较寄存器除外(OCR1-3)

        软件复位(SWR)也可以重置计数器的值,除下面寄存器的对应位(ENMOD EN STOPEN         WAITEN DBGEN)

        SWR=1在复位状态 -》复位完 -》自动变成SWR =0复位结束了 

------------------------------------------------------------------------------------------

(4)读取当前计数器的值(GPTx_CNT)

------------------------------------------------------------------------------------------

(5)设置输入捕获通道(GPT1_CAPTURE1/GPT1_CAPTURE2),每个捕获通道有一个关联标志位

设置捕获引脚(GPTx_ICR),当发生电平转换的时候捕获寄存器从GPT_CNT里读值,并且中断标志被设置

(6)设置输出比较寄存器(GPT1_COMPARE1/COMPARE2/COMPARE3)


http://www.kler.cn/a/464342.html

相关文章:

  • ESP32-C3环境搭建
  • 三甲医院等级评审八维数据分析应用(五)--数据集成与共享篇
  • 服务器迁移中心——“工作组迁移”使用指南
  • 个人交友系统|Java|SSM|JSP|
  • C语言渗透和好网站
  • 光伏安装在屋顶:安全、环保还是潜在威胁?
  • MarkDown 的 mermaid gantt(甘特图)、mermaid sequenceDiagram (流程图) 语法解析和应用
  • SQL Server 架构、数据库文件组和数据库对象
  • 自动化删除work32挖矿脚本
  • windows C#-字符串和字符串字面量(一)
  • 力扣hot100——图论
  • Cauchy-Schwarz不等式:向量内积的“上限卫士”,帮你衡量向量有多“同向”
  • 数据挖掘——神经网络分类
  • df.replace({‘b‘: ‘.‘}, {‘b‘: np.nan})
  • SpringMVC(四)响应
  • 【Go学习】-01-1-入门及变量常量指针
  • R语言基础| 广义线性模型
  • 【可实战】需求分析-测试计划↓-测试设计-测试执行-测试总结↓(包含测试计划、测试总结模板,以公司要求为准)
  • 【Unity3D】基于UGUI——简易版 UI框架
  • PgSQL如何用cmd命令行备份和还原数据库
  • SQLALchemy如何将SQL语句编译为特定数据库方言
  • Windows11 安卓子系统存储位置更改
  • 论文分享—供应链不安全:软件物料清单(SBOM)解决方案中缺乏完整性保护
  • Linux中sed命令的使用技巧
  • 计算机毕业设计hadoop+spark+hive民宿推荐系统 酒店推荐系统 民宿价格预测 酒店价格 预测 机器学习 深度学习 Python爬虫 HDFS集群
  • httpx.AsyncClient报错ProxyError: 504 Gateway Time-out