02_04.选择器优先级

1.同种选择器,同时控制一种tag时(在样式表内,后者会覆盖前者)

<DOCTYPE HTML>
<html>
	<head>
		<meta http-equiv="content-type" content="text/html;charset=utf-8">
		<style type="text/css">
			div p{ width: 100px;height:100px;background:red;}
			div p{ background:blue;}
		</style>
	</head>
	<body>
		<div><p>我被样式表内的第二个div p控制</p></div>
		
	</body>
</html>

2.class选择器 和 标签选择器同时控制一种tag时(class>tag)

<DOCTYPE HTML>
<html>
	<head>
		<meta http-equiv="content-type" content="text/html;charset=utf-8">
		<style type="text/css">
			.box p{width:400px;height:100px;background:red;}
			div p{background:blue; border:solid 3px black;}
		</style>
	</head>
	<body>
		<div class="box">
			<p>在.box p和div p两个选择器中:1.如果有被控制的相同属性,我优先使用.box p的属性。2.再使用div p中,没被.box p控制的属性。</p>
		</div>
	</body>
</html>

3.ID选择器 和 class选择器同时控制一种tag的时候(id>class)

<DOCTYPE HTML>
<html>
	<head>
		<meta http-equiv="content-type" content="text/html;charset=utf-8">
		<style type="text/css">
			#box1{width:400px;height: 100px;background: red;}
			.box{background: blue; border: solid 3px black;}
		</style>
	</head>
	<body>
			<div class="box" id="box1">
				在#box1和.box两个选择器中,1.如果有被控制的相同属性,我优先使用#box1的属性。2.再使用.box中,没被#box1控制的属性。
			</div>
	</body>
</html>

4.行间样式表 和 ID选择器同时控制一种tag的时候(行间样式表>id)

<DOCTYPE HTML>
<html>
	<head>
		<meta http-equiv="content-type" content="text/html;charset=utf-8">
		<style type="text/css">
			#box1{width:400px;height: 100px;background: red; border: solid 3px black;}
		</style>
	</head>
	<body>
			<div id="box1" style="background:blue;">
				在行间样式表和#box1两个选择器中,1.如果有被控制的相同属性,我优先使用行间样式表的属性。2.再使用#box1中,没被行间样式表控制的属性。
			</div>
	</body>
</html>


### 代码含义 `DMA_InitStructure.DMA_Priority = DMA_Priority_Medium;` 这行代码是在配置直接内存访问(DMA)控制器的优先级。 在许多微控制器中,当使用 DMA 进行数据传输时,需要通过一个结构体(这里是 `DMA_InitStructure`)来初始化 DMA 通道的各种参数。`DMA_Priority` 是该结构体中的一个成员,用于设置 DMA 通道的优先级。`DMA_Priority_Medium` 是一个预定义的常量,表示中等优先级。所以这行代码的作用是将当前配置的 DMA 通道的优先级设置为中等。 ### 相关知识 #### DMA 简介 直接内存访问(Direct Memory Access,DMA)是一种允许外部设备(如硬盘、网卡等)直接与系统内存进行数据传输,而不需要 CPU 干预的机制。在数据传输过程中,CPU 可以去处理其他任务,从而提高了系统的整体性能。 #### DMA 优先级的作用 当有多个 DMA 通道同时请求数据传输时,DMA 控制器需要决定先处理哪个通道的请求。优先级的设置可以帮助 DMA 控制器做出决策。通常,优先级分为多个级别,如低(`DMA_Priority_Low`)、中等(`DMA_Priority_Medium`)、高(`DMA_Priority_High`)和非常高(`DMA_Priority_VeryHigh`)。 #### 代码示例 以下是一个简单的使用 DMA 进行数据传输的初始化代码示例,假设使用的是 STM32 系列微控制器: ```c #include "stm32fxxx.h" void DMA_Configuration(void) { DMA_InitTypeDef DMA_InitStructure; // 使能 DMA 时钟 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); // 配置 DMA 通道 DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&USART1->DR; // 外设基地址 DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)TxBuffer; // 内存基地址 DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; // 传输方向:从内存到外设 DMA_InitStructure.DMA_BufferSize = BUFFER_SIZE; // 缓冲区大小 DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; // 外设地址不递增 DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; // 内存地址递增 DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; // 外设数据宽度为字节 DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; // 内存数据宽度为字节 DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; // 正常模式 DMA_InitStructure.DMA_Priority = DMA_Priority_Medium; // 设置优先级为中等 DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; // 非内存到内存模式 // 初始化 DMA 通道 DMA_Init(DMA1_Channel4, &DMA_InitStructure); // 使能 DMA 通道 DMA_Cmd(DMA1_Channel4, ENABLE); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值