-
HTML5特性有哪些?语义化的做法有哪些,具体指的什么?
2020-08-16 17:52:38设备兼容特性,HTML5提供了前所未有的数据与应用接入开放接口,使外部应用可以直接与浏览器内部的数据直接相连。 5 连接特性,更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线...新特性常用解释如下 1 多媒体,用于媒介回放的video和audio元素。 2 图像效果,用于绘画的canvas元素,svg元素等 3 离线&存储,对本地离线存储能够更好地支持,比如localstorage,Cookies等。 4 设备兼容特性,HTML5提供了前所未有的数据与应用接入开放接口,使外部应用可以直接与浏览器内部的数据直接相连。 5 连接特性,更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现,同时拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能。 6 性能与集成特性,HTML5会通过XML HttpRequest2等技术,帮助您的Web应用和网站在多样化的环境中更快速地工作。 新增标签 1 多媒体:audio video source embed track 2 新表单元素:datalist output keygen 3 新文档节段和纲要:header页面头部 section章节 aside边栏article文档内容 footer页面底部 语义化具体指以下内容: 1 语义特性,添加header nav等标签 2 为了在没有css代码时,也能呈现很好的内容结构,代码结构,以至于达到没有编程基础的非技术人员,也能看懂其代码 3 为了提高用户体验,比如:title,alt用于解释名词和图片信息 4 利于SEO,语义化能和搜索引擎建立良好的关系,有利于爬虫抓取更多的有效信息,爬虫依赖于标签来确定上下文和各个关键字的权重 5 便于团队开发和维护,语义化更具可读性,如果遵循W3C标准的团队都遵循这个标准,可以减少差异化,有利于规范化 6 方便其他设备解析(如屏幕阅读器,盲人阅读器,移动设备)以语义的方式来渲染网页 -
软件中什么是接口?软件接口的具体定义
2018-11-18 17:38:37硬件接口都好理解:就是负责连接外部设备,传输数据的端口,比如usb接口。 软件的接口我看了好多文章的定义都不严谨和形象,所以在这说一下。 软件接口就是指程序中具体负责在不同模块之间传输或接受数据的并做处理...硬件接口都好理解:就是负责连接外部设备,传输数据的端口,比如usb接口。
软件的接口我看了好多文章的定义都不严谨和形象,所以在这说一下。
软件接口就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。(而不是指传输的数据!!)
比如腾讯发布一个qq登录的接口(一个函数),别人拿到这个函数放到自己的网站代码里面运行,就可以通过这个函数把用户输入的账号密码传给腾讯服务器,服务器校验成功后就能让用户第三方登录QQ了。
-
1.8.10.外部中断
2018-04-30 21:04:081.8.10.1、什么是外部中断?数据手册在哪里? (1)SoC支持的中断类型中有一类叫外部中断。内部中断就是指的中断源来自于SoC内部(一般是内部外设),譬如串口、定时器等部件产生的中断;外部中断是SoC外部的设备,...1.8.10.1、什么是外部中断?数据手册在哪里?
(1)SoC支持的中断类型中有一类叫外部中断。内部中断就是指的中断源来自于SoC内部(一般是内部外设),譬如串口、定时器等部件产生的中断;外部中断是SoC外部的设备,通过外部中断对应的GPIO引脚产生的中断。
(2)按键在SoC中就使用外部中断来实现。具体实现方法是:将按键电路接在外部中断的GPIO上,然后将GPIO配置为外部中断模式。此时人通过按按键改变按键电路的电压高低,这个电压高低会触发GPIO对应的外部中断,通过引脚传进去给CPU处理。
(3)外部中断相关的介绍和寄存器都在2.2.6章节(属于GPIO部分)
1.8.10.2、电平触发和边沿触发
(1)外部中断的触发模式主要有2种:电平触发和边沿触发。
(1)电平触发就是说GPIO上的电平只要满足条件,就会不停触发中断。电平触发分为高电平触发和低电平触发。电平触发的特点是,只要电平满足条件就会不停触发中断。
(2)边沿触发分为上升沿触发、下降沿触发和双边沿触发三种。边沿触发不关心电平常规状态,只关心电平变化的瞬间(边沿触发不关心电平本身是高还是低,只关心变化是从高到低还是从低到高的这个过程)。
分析按键的工作:如果我们关注的是按键按下和弹起这两个事件本身,那么应该用边沿触发来处理按键;如果我们关心的是按键按下/弹起的那一段时间,那么应该用电平触发。
1.8.10.3、关键寄存器:CON、PEND、MASK
(1)外部中断的主要配置寄存器有3个:EXT_CON、EXT_PEND、EXT_MASK
(2)EXT_CON配置外部中断的触发方式。触发方式就是说外部电平怎么变化就能触发中断,也就是说这个外部中断产生的条件是什么
(3)EXT_PEND寄存器是中断挂起寄存器。这个寄存器中每一位对应一个外部中断,平时没有中断时值为0。当发生了中断后,硬件会自动将这个寄存器中该中断对应的位置1,我们去处理完这个中断后应该手工将该位置0。这个PEND寄存器的位就相当于是一个标志,如果发生了中断但是我们暂时忙来不及去处理时,这个位一直是1(这就是挂起),直到我有空了去处理了这个中断才会手工清除(写代码清除)这个挂起位表示这个中断被我处理了。
(4)EXT_MASK寄存器就是各个外部中断的使能/禁止开关。
《朱老师物联网大讲堂》学习笔记
学习地址:www.zhulaoshi.org
外部中断:
EINT0~EINT15
EINT16~31
在这里中断分,
串口,定时器等部件产生的中断属于内部中断,
外部中断和内部中断,
按键在SOC中用的是外部中断,
实现:将按键电路接在外部中断GPIO上,
然后GPIO配置为外部中断模式,
此时人通过按键来改变电压高低,
这个电压高低会触发GPIO对应的外部中断,通过引脚传进去给CPU处理。
外部中断的相关寄存器,
在这里外部中断主要配置的寄存器有3个,
EXT_CON
配置外部中断的触发方式,
分析X210开发板的按键对应的EINT编号:
EINT2、EINT3、EINT16、EINT17、EINT18、EINT19
EXT_PEND,
是中断挂机寄存器,
当没有中断的时候,
该位为0,有中断时为1,
没有处理中断则一直是1,也就是挂起,
处理该中断后,清除这位。
-
关于公司采购网络存储设备的可行性分析
2012-09-20 11:12:18尽管SAN和NAS有很多共同特征,但二者还是有很大的差异的,其最大的差异是存储局域网是一个网络的概念,而附网存储实际上是指一种可以与网络直接相连的存储设备,它更多的是强调“设备”的概念。存储局域网考虑的是... -
S5PV210系列 (裸机十)之按键和CPU的中断系统(二)
2017-05-19 19:58:22外部中断什么是外部中断?数据手册在哪里?(1)SoC支持的中断类型中有一类叫外部中断。内部中断就是指的中断源来自于SoC内部(一般是内部外设),譬如串口、定时器等部件产生的中断;外部中断是SoC外部的设备,通过...外部中断
什么是外部中断?数据手册在哪里?
(1)SoC支持的中断类型中有一类叫外部中断。内部中断就是指的中断源来自于SoC内部(一般是内部外设),譬如串口、定时器等部件产生的中断;外部中断是SoC外部的设备,通过外部中断对应的GPIO引脚产生的中断。
(2)按键在SoC中就使用外部中断来实现。具体实现方法是:将按键电路接在外部中断的GPIO上,然后将GPIO配置为外部中断模式。此时人通过按按键改变按键电路的电压高低,这个电压高低会触发GPIO对应的外部中断,通过引脚传进去给CPU处理。
(3)外部中断相关的介绍和寄存器都在2.2.6章节(属于GPIO部分)
电平触发和边沿触发
(1)外部中断的触发模式主要有2种:电平触发和边沿触发。
(2)电平触发就是说GPIO上的电平只要满足条件,就会不停触发中断。电平触发分为高电平触发和低电平触发。电平触发的特点是,只要电平满足条件就会不停触发中断。
(3)边沿触发分为上升沿触发、下降沿触发和双边沿触发三种。边沿触发不关心电平常规状态,只关心电平变化的瞬间(边沿触发不关心电平本身是高还是低,只关心变化是从高到低还是从低到高的这个过程)。
分析按键的工作:如果我们关注的是按键按下和弹起这两个事件本身,那么应该用边沿触发来处理按键;如果我们关心的是按键按下/弹起的那一段时间,那么应该用电平触发。
关键寄存器:CON、PEND、MASK
(1)外部中断的主要配置寄存器有3个:EXT_CON、EXT_PEND、EXT_MASK
(2)EXT_CON配置外部中断的触发方式。触发方式就是说外部电平怎么变化就能触发中断,也就是说这个外部中断产生的条件是什么
(3)EXT_PEND寄存器是中断挂起寄存器。这个寄存器中每一位对应一个外部中断,平时没有中断时值为0。当发生了中断后,硬件会自动将这个寄存器中该中断对应的位置1,我们去处理完这个中断后应该手工将该位置0。这个PEND寄存器的位就相当于是一个标志,如果发生了中断但是我们暂时忙来不及去处理时,这个位一直是1(这就是挂起),直到我有空了去处理了这个中断才会手工清除(写代码清除)这个挂起位表示这个中断被我处理了。
(4)EXT_MASK 寄存器就是各个外部中断的使能 / 禁止开关。
分析X210开发板的按键对应的EINT编号:
EINT2、EINT3、EINT16、EINT17、EINT18、EINT19#include "stdio.h" #include "main.h" // 定义操作寄存器的宏 #define GPH0CON 0xE0200C00 #define GPH0DAT 0xE0200C04 #define GPH2CON 0xE0200C40 #define GPH2DAT 0xE0200C44 #define rGPH0CON (*(volatile unsigned int *)GPH0CON) #define rGPH0DAT (*(volatile unsigned int *)GPH0DAT) #define rGPH2CON (*(volatile unsigned int *)GPH2CON) #define rGPH2DAT (*(volatile unsigned int *)GPH2DAT) #define EXT_INT_0_CON 0xE0200E00 #define EXT_INT_2_CON 0xE0200E08 #define EXT_INT_0_PEND 0xE0200F40 #define EXT_INT_2_PEND 0xE0200F48 #define EXT_INT_0_MASK 0xE0200F00 #define EXT_INT_2_MASK 0xE0200F08 #define rEXT_INT_0_CON (*(volatile unsigned int *)EXT_INT_0_CON) #define rEXT_INT_2_CON (*(volatile unsigned int *)EXT_INT_2_CON) #define rEXT_INT_0_PEND (*(volatile unsigned int *)EXT_INT_0_PEND) #define rEXT_INT_2_PEND (*(volatile unsigned int *)EXT_INT_2_PEND) #define rEXT_INT_0_MASK (*(volatile unsigned int *)EXT_INT_0_MASK) #define rEXT_INT_2_MASK (*(volatile unsigned int *)EXT_INT_2_MASK) //------------------------轮询方式处理按键--------------------------- // 初始化按键 void key_init(void) { // 设置GPHxCON寄存器,设置为输入模式 // GPH0CON的bit8~15全部设置为0,即可 rGPH0CON &= ~(0xFF<<8); // GPH2CON的bit0~15全部设置为0,即可 rGPH2CON &= ~(0xFFFF<<0); } static void delay20ms(void) { // 这个函数作用是延时20ms // 因为我们这里是裸机程序,且重点不是真的要消抖,而是教学 // 所以我这里这个程序只是象征性的,并没有实体 // 如果是研发,那就要花时间真的调试出延时20ms的程序 int i, j; for (i=0; i<100; i++) { for (j=0; j<1000; j++) { i * j; } } } void key_polling(void) { // 依次,挨个去读出每个GPIO的值,判断其值为1还是0.如果为1则按键按下,为0则弹起 // 轮询的意思就是反复循环判断有无按键,隔很短时间 while (1) { // 对应开发板上标着LEFT的那个按键 if (rGPH0DAT & (1<<2)) { // 为1,说明没有按键 led_off(); } else { // 添加消抖 // 第一步,延时 delay20ms(); // 第二步,再次检验按键状态 if (!(rGPH0DAT & (1<<2))) { // 为0,说明有按键 led1(); printf("key left.\n"); } } // 对应开发板上标着DOWN的那个按键 if (rGPH0DAT & (1<<3)) { // 为1,说明没有按键 led_off(); } else { // 为0,说明有按键 led2(); printf("key down.\n"); } // 对应开发板上标着UP的那个按键 if (rGPH2DAT & (1<<0)) { // 为1,说明没有按键 led_off(); } else { // 为0,说明有按键 led3(); } } } //-----------------------中断方式处理按键----------------------------------- // 以中断方式来处理按键的初始化 void key_init_interrupt(void) { // 1. 外部中断对应的GPIO模式设置 rGPH0CON |= 0xFF<<8; // GPH0_2 GPH0_3设置为外部中断模式 rGPH2CON |= 0xFFFF<<0; // GPH2_0123共4个引脚设置为外部中断模式 // 2. 中断触发模式设置 rEXT_INT_0_CON &= ~(0xFF<<8); // bit8~bit15全部清零 rEXT_INT_0_CON |= ((2<<8)|(2<<12)); // EXT_INT2和EXT_INT3设置为下降沿触发 rEXT_INT_2_CON &= ~(0xFFFF<<0); rEXT_INT_2_CON |= ((2<<0)|(2<<4)|(2<<8)|(2<<12)); // 3. 中断允许 rEXT_INT_0_MASK &= ~(3<<2); // 外部中断允许 rEXT_INT_2_MASK &= ~(0x0f<<0); // 4. 清挂起,清除是写1,不是写0 rEXT_INT_0_PEND |= (3<<2); rEXT_INT_2_PEND |= (0x0F<<0); } // EINT2通道对应的按键,就是GPH0_2引脚对应的按键,就是开发板上标了LEFT的那个按键 void isr_eint2(void) { // 真正的isr应该做2件事情。 // 第一,中断处理代码,就是真正干活的代码 printf("isr_eint2_LEFT.\n"); // 第二,清除中断挂起 rEXT_INT_0_PEND |= (1<<2); intc_clearvectaddr(); } void isr_eint3(void) { // 真正的isr应该做2件事情。 // 第一,中断处理代码,就是真正干活的代码 printf("isr_eint3_DOWN.\n"); // 第二,清除中断挂起 rEXT_INT_0_PEND |= (1<<3); intc_clearvectaddr(); } void isr_eint16171819(void) { // 真正的isr应该做2件事情。 // 第一,中断处理代码,就是真正干活的代码 // 因为EINT16~31是共享中断,所以要在这里再次去区分具体是哪个子中断 if (rEXT_INT_2_PEND & (1<<0)) { printf("eint16\n"); } if (rEXT_INT_2_PEND & (1<<1)) { printf("eint17\n"); } if (rEXT_INT_2_PEND & (1<<2)) { printf("eint18\n"); } if (rEXT_INT_2_PEND & (1<<3)) { printf("eint19\n"); } // 第二,清除中断挂起 rEXT_INT_2_PEND |= (0x0f<<0); intc_clearvectaddr(); }
-
ARM第一部分-统一编址&独立编址&哈佛结构&冯诺依曼结构
2016-03-06 17:07:37什么是IO? 什么是内存? 内存是程序的运行场所,内存和CPU之间通过总线来连接,CPU通过一定的...一般的,IO就是指CPU的各种内部或外部设备 内存的访问方式 内存通过CPU的地址总线来寻址定位 -
网络编程基础及python代码实现
2020-05-18 23:52:27指分布在不同地域的计算机,通过外部设备连接起来,实现了资源共享(数据和设备的共享),实现数据传输的计算机系统。外部设备有:计算机、路由器、交换机等等。 2.什么是网络编程? 网络编程关注的是数据的传输,... -
1.4.统一编址&独立编址/哈佛结构&冯诺依曼结构
2017-07-29 17:32:26* IO(input and output)是输入输出接口,是CPU和其它外部设备(如串口、LCD、触摸屏、LED等)之间通信的道路,一般的,IO就是指CPU的各种内部和外部的外设。 内存访问方式: * 内存通过CPU的数据总线来寻址... -
JumpServer远程代码执行复现
2021-02-01 17:31:27官方的解释是:即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中... -
文本文件与二进制文件
2010-07-21 16:44:00广义的二进制文件即为文件,由文件在外部存储设备的存放方式为二进制而得名。狭义的二进制文件即指除文本文件以外的文件。 简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE... -
3G的标准与原理相关资料
2009-03-16 15:18:2426. CDMA的软容量是指什么 26 27. CDMA短码和长码 27 28. 为什么功率控制在CDMA系统中非常重要 27 29. 为什么CDMA手机能保持低的发射功率 28 30. 什么是CDMA软切换?它与硬切换有什么分别 28 31. 什么是CDMA的"更软... -
DELPHI串口编程
2015-12-10 21:39:48接口就是用于CPU与外部设备、存储器的连接和数据交换的设备。 3. 接口分类. 广义的计算机接口有二种,见下表: 类別 用途 电路实现复杂性 存储器接口: 用于CPU与外部设备、存储器的连接 简单 I/O接口 数据交换 ... -
微机课后题目答案 答案
2011-04-20 10:33:43微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。 3. 80X86微处理器有几代?各代的名称是什么? 答:从体系结构上可分为3代: ◆ 8080/8085:8位机。 ◆ ... -
《计算机操作系统》期末复习指导
2009-12-30 10:57:55终端指用户使用的硬件设备,即使一个终端也可为多用户使用,例如,银行的自动取款机(ATM)。 •分时与实时 分时技术:把CPU的时间分成很短的时间片(例如,几十至几百毫秒)工作。随着时间片的时间减少,对换... -
c51智能卡cos操作系统源代码-keil uv2
2018-11-09 21:49:04但再具体地分析一下,则我们实际上可以把从读写设备(即接口设备IFD)发出命令到卡给出响应的一个完整过程划分为四个阶段,也可以说是四个功能模块:传送管理器(TM)、安全管理器(SM)、应用管理器(AM)和文件管理器(FM)... -
都是想要的考试题 速度下载
2010-05-24 10:11:053. 在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。 4. 什么是硬件中断和软件中断?在PC机中两者的处理过程有什么不同? 六、综合应用题(每题10分,共20 分) 现有16K×1位的动态... -
自带设备模拟工具,支持16个设备数据模拟,同时还带数据库数据模拟,以便在没有设备的时候测试数据。 支持所有windows操作系统+linux操作系统和其他操作系统。 (二)、效果图 四、可视化大屏电子看板系统 (一...
-
高级软件架构师复习提纲
2009-04-14 15:22:50在计划阶段,团队和客户共同定 义构建和部署的内容以及构建的方式和时机/在开发阶段,团队构建并测试解决方案,具体包括代码、基础构架和文档等交付成果。/在稳定阶段,对功能齐全的解决方案进行最后的测试,使其... -
基于AT89S52 单片的频率计
2010-01-04 08:47:37数字集成电路广泛用于计算机、控制与测量系统,以及其它电子设备中。 一般说来,数字系统中运行的电信号,其大小往往并不改变,但在实践分布上 却有着严格的要求,这是数字电路的一个特点。 2 系统的总体设计: 2.1 ... -
超级有影响力霸气的Java面试题大全文档
2012-07-18 09:47:04多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型... -
java 面试题 总结
2009-09-16 08:45:34多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 2、String是最基本的数据类型吗? ... -
Java经典入门教程pdf完整版
2020-09-03 17:00:26系列旳外部环境,来为软件的运行提供支持,而提供这些支持的就是运行平台。 3.2:Java是一种运行平台 Java本身提供Java软件所需要的运行环境,Java应用可运行在安装了JRE(Java Runtime environment)的机器上,所以我们说... -
软件工程教程
2012-07-06 23:10:29表示在某一时刻类的具体实例和这些实例之间的具体连接关系 类 与 对象 关系 类 与 对象 关系 类图和对象图的区别 包 包 一种分组机制,把各种各样的模型元素通过内在的语义连在一起成为一个整体就叫做包 ... -
软件资料文档标准规格
2009-04-02 09:34:593.6 局限性:说明现有系统存在的问题以及为什么需要开发新的系统 4 所建议技术可行性分析 4.1 对系统的简要描述 4.2 与现有系统比较的优越性 4.3 处理流程和数据流程 4.4 采用建议系统可能带来的影响 ● 对... -
C#微软培训教材(高清PDF)
2009-07-30 08:51:17C#--微软.NET的第一语言 本书着重介绍语言本身,比较少涉及应用,不错的入门书,从头讲起,不怕不明白。 <<page 1>> page begin==================== 目 ...1.1.1 什么是.NET 2000 年 6 月 ... -
Linux操作系统基础教程
2013-04-08 21:34:26五.Linux操作系统上有什么应用?.....................................................................................4 六.在那里可以找到讨论区?.......................................................... -
软件工程知识点
2012-12-02 21:34:25通过系统的外部事件、内部状态为基本元素来描绘系统的工作流程,这种建模方式比较适合于描述一些依赖于外部事件驱动的实时系统。 5.需求有效性验证 需求有效性验证是指对已经产生的需求结论所要进行的检查与评价。... -
C#微软培训资料
2014-01-22 14:10:17<<page 1>> page begin==================== 目 ...1.1.1 什么是.NET 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代... -
语言程序设计课后习题答案
2012-12-27 17:02:37类通过一个简单的外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过实现继承与多态性,还可以大大提高程序的可... -
计算机二级公共基础知识
2011-04-30 14:00:09所谓指令系统指的是一个计算机系统能执行的所有指令的集合。 (2)数据结构研究的3个方面 ① 数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; ② 在对数据进行处理时,各数据元素在计算机中的存储...
-
2021年 系统分析师 系列课
-
upload.zip
-
Java Socket Udp网络读卡器服务器端源码.rar
-
MySQL 高可用(DRBD + heartbeat)
-
Python练习题2.2计算分段函数
-
Notes on TN-lib.ipynb
-
JMETER 性能测试基础课程
-
朱老师C++课程第3部分-3.6智能指针与STL查漏补缺
-
NCLA错误笔记.doc
-
MFC界面开发工具BCG v31.1 - 实现自动隐藏滚动条
-
2020年世界最具情商品牌 品牌情商指数-凯络-202102.pdf
-
MATLAB的Alexnet迁移学习实现自己数据库的图像识别.rar
-
培训师的八大分类.pdf
-
肠道腺病毒HAdV-F41的冷冻电镜结构揭示人类腺病毒的结构变异
-
Linux usb子系统(二) _usb-skeleton.c精析
-
2017美国大学生建模竞赛O奖A题
-
gitee码云
-
能带计算的简单程序(计算物理)
-
orb_slam2安装教程
-
The Buildroot user manual.pdf