摘要:
开机启动会显示三个画面:Linux内核的启动画面,静态画面Init进程启动过程中出现的静态画面系统服务启动过程中出现的动态画面这些画面的显示的过程不同,但最终是通过framebuffer显示的,每层对它显示的过程进行了封装。即无论是哪一个画面,它们都是在一个称为帧缓冲区(frame buffer,简... 阅读全文
摘要:
GPU主要是进行计算机图形这种大运算量的图形处理器,包括顶点设置、光影、像素操作。对CPU发出的数据和指令,进行着色,材质填充,渲染。在没有GPU的系统中,3D游戏中物体移动时的坐标转换与光源处理,这些工作都是CPU配合特定软件进行的。GPU的特点:1. 类似于CPU,都是用来计算,而CPU一般擅长... 阅读全文
摘要:
1.DFS预处理出所有节点的深度和父节点inline void dfs(int u){ int i; for(i=head[u];i!=-1;i=next[i]) { if (!deep[to[i]]) { ... 阅读全文
摘要:
//前向星是将所有的边进行编号,每个节点u的边集合通过head[u]来找到u的第一条边,//再通过next[head[u]]依次遍历节点u的所有边。int head[maxn]; int to[maxn*2];int next[maxn*2];int cnt = 0;//边的编号 memset(h... 阅读全文
摘要:
I/O口做为输入的例子。通过配置寄存器设置为输入口,检测对应寄存器的值,判读输入状态,按键是否被按下. 阅读全文
摘要:
另一种I/O作为输出的应用,利用一个I/O来控制板载的有源蜂鸣器,实现蜂鸣器控制。PS:有源蜂鸣器自带了震荡电路,一通电就会发声;无源蜂鸣器则没有自带震荡电路,必须外部提供2~5Khz左右的方波驱动,才能发声。让我们来分析下:STM32的单个IO最大可以提供25mA电流(来自数据手册),而蜂鸣器的驱... 阅读全文
摘要:
简单对I/O口的控制,主要通过对寄存器的读写控制。主要通过I/O的寄存器来控制:1. 控制I/O的方向2. 控制I/O的输出电平或上下来电阻3. 存储I/O口当前的输入状态(高低电平)对使用LED灯的I/O口的初始化:1.使能I/O口的时钟2.初始化I/O口为输出口 阅读全文
摘要:
DMA,直接存储器访问。传输数据时,外设通过DMA控制器直接访问内存,不经过cpu直接控制传输数据。不需要像中断处理方式需要保留和恢复现场的过程。通过硬件为内存和I/O设备开辟一条直接传送数据的通道,提高CPU的效率。DMA的核心硬件是DMA控制器,来管理DMA方式的数据传送,一般包含多个通道,每个... 阅读全文