摘要:
在讲中断那一章我们留了个BUG:中断服务函数应该是快进快出的,中间是严禁使用定时函数的,那样会严重浪费CPU的性能,在delay中什么事都做不了。而机械按键确实要考虑到消抖的效果,所以使用定时器来实现功能。 定时器消抖原理 按键消抖的原理网上一搜一大把,这里就不说了,总之就是按下按钮当时不反应,过一 阅读全文
摘要:
今天来讲一个常用的外设:定时器,I.MX6U提供了多种硬件计时器,有些定时器的作用非常强大,我们从最基础的EPIT定时器开始学习。 EPIT定时器简介 EPIT(Enhanced Periodic Interrupt Timer)增强型周期中断定时器,主要功能就是用来完成周期性中断定时。对Corte 阅读全文
摘要:
在完成了通用的中断程序编写后,我们就要针对不同的外设进行中断函数的编写了。这一章我们使用的硬件是还是那个按钮,当按钮按下时,触发中断、调用终端函数。 GPIO中断初始化 在构造函数前,我们先要对GPIO进行中断初始化,这里要参考I.MX6ULL的参考手册28章GPIO,我们前面做通用GPIO驱动时已 阅读全文
摘要:
在上一章我们大概讲了中断原理,并且在放出来汇编的中断向量表和预留的中断服务函数,下面我们就要结合前面学过的知识完善这些中断服务函数。 复位中断函数 I.MX6U在上电开始或复位的时候就会调用这个复位中断,在这个中断要做的工作有: 关闭全局终端 关闭I Cache、D Cache、MMU 设置中断向量 阅读全文
摘要:
教程I.MX6U的中断系统讲解是从STM32引入的,这就对我这种没接触过STM32的小白不太友好!并且中断可以说是到目前为止最最重要的知识点。还好,STM32只是大致过了几个知识点 STM32的中断系统回顾 参考教程给出的STM32的中断系统,主要有下面几个知识点 中断向量表 向量中断控制器NVIC 阅读全文
摘要:
我们前面在试各种功能的时候都是在admin下把数据硬插在table里,但是这明显不符合我们的日常使用环境,博客里最常用的就是添加新的文章了,所以这里我们就看一看文章的添加是怎么实现的。 富文本编辑器 看一看博客园在添加文章的页面,新的文章是怎么添加进去的呢? 这个图片里的文本编辑器就是一个富文本编辑 阅读全文
摘要:
我们前面做了个用户的管理系统,为了以后的学习,我们这次做一个稍微复杂的项目——图书管理系统。 说他复杂,但是功能上跟前面的第一个项目差不多,但是数据库里多了一些关联,数据库里有三个表:图书,出版社和作者。出版社和图书是一对多的关系,也就是说一个出版社可以出版很多书;书跟作者是多对多的关系:一本书可以 阅读全文
摘要:
在做裸机开发前,我们要掌握一些基础的ARM汇编语法,因为即使后面我们用C去写驱动,也要用汇编去执行配置指针、中断、清除session等操作。我们使用的芯片是I.MX6UL,这是款Cortex-A7的内核芯片,所以使用的就是Cortex-A的汇编指令,这里有两份资料可以参考点击下载(提取码:l1rg) 阅读全文
摘要:
我们前面所有的试验,都是使用默认配置下单I.MX6U的默认配置,在默认配置下单工作频率是396MHz,但是I.MX6U系列的标准工作频率是528MHz,下面我们就来学习一下如何配置I.MX6U的系统时钟和其他外设时钟,使其工作频率为528MHz,其他外设时钟源都工作在恩智浦推荐的频率。 I.MX6U 阅读全文
摘要:
在前面的试验中,我们分别点亮了LED和蜂鸣器,这两个设备都是使用的GPIO的输出功能,下面我们来通过按键来做测试板子的输入功能。 硬件原理 还是查看底板原理图, 开发板上有两个按钮,其中ON_OFF是将系统重启的,不用考虑,我们要用到就是KEY0,在按键按下时,IO通过KEY0接地被拉低,默认情况是 阅读全文