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

网站是用php还是asp 怎么区别asp 制作网站开发

网站是用php还是asp 怎么区别,asp 制作网站开发,主机 安装wordpress,wordpress宝宝模板前面我们知道在手册中有一个中断向量表#xff0c;初步了解了中断的概念。 1.NVIC简介 NVIC是嵌套向量中断控制器#xff0c;控制着整个芯片中断相关的功能#xff0c;它跟内核紧密耦合#xff0c;是内核里面的一个外设。 在固件库中#xff0c;NVIC的结构体定义可谓是…前面我们知道在手册中有一个中断向量表初步了解了中断的概念。 1.NVIC简介 NVIC是嵌套向量中断控制器控制着整个芯片中断相关的功能它跟内核紧密耦合是内核里面的一个外设。 在固件库中NVIC的结构体定义可谓是颇有远虑给每个寄存器都预览了很多位恐怕为的是日后扩展功能。不过STM32F407可用不了这么多 只是用了部分而已。 在core_cm4.h文件中typedef struct {__IO uint32_t ISER[8]; // 中断使能寄存器uint32_t RESERVED0[24];__IO uint32_t ICER[8]; // 中断清除寄存器uint32_t RSERVED1[24];__IO uint32_t ISPR[8]; // 中断使能悬起寄存器uint32_t RESERVED2[24];__IO uint32_t ICPR[8]; // 中断清除悬起寄存器uint32_t RESERVED3[24];__IO uint32_t IABR[8]; // 中断有效位寄存器uint32_t RESERVED4[56];__IO uint8_t IP[240]; // 中断优先级寄存器(8Bit wide)uint32_t RESERVED5[644];__O uint32_t STIR; // 软件触发中断寄存器 } NVIC_Type;在配置中断的时候我们一般只用ISER、ICER和IP这三个寄存器ISER用来使能中断ICER用来失能中断IP用来设置中断优先级。NVIC对中断进行分组组0~4同时对每一个中断设置一个抢占优先级和一个响应优先级值。数值越小优先级越高 优先级分组主优先级抢占优先级子优先级响应优先级描述NVIC_PriorityGroup_000-15主-0bit,子-4bitNVIC PriorityGroup_10-10-7主-1bit,子-3bitNVIC_PriorityGroup_20-30-3主-2bit,子-2bitNVIC_PriorityGroup_30-70-1主-3bit,子-1bitNVIC_PriorityGroup_40-150主-4bit,子-0bit 高优先级的抢占优先级中断是可以打断正在进行的低抢占优先级中断的。抢占优先级相同的中断高响应优先级不可以打断低响应优先级的中断。抢占优先级相同的中断当两个中断同时发生的情况下哪个响应优先级高哪个先执行。如果两个中断的抢占优先级和响应优先级都是一样的话则看哪个中断先发生就先执行。 一般情况下系统代码执行过程中只设置一次中断优先级分组设置好之后一般不会改变。设置优先级分组可调用库函数NVIC_PriorityGroupConfig()实现有关NVIC中断相关的库函数都在库文件misc.c和misc.h中。 在misc.c中 /** * 配置中断优先级分组抢占优先级和子优先级 * 形参如下 * arg NVIC_PriorityGroup_0: 0bit for抢占优先级 * 4 bits for 子优先级 * arg NVIC_PriorityGroup_1: 1 bit for抢占优先级 * 3 bits for 子优先级 * arg NVIC_PriorityGroup_2: 2 bit for抢占优先级 * 2 bits for 子优先级 * arg NVIC_PriorityGroup_3: 3 bit for抢占优先级 * 1 bits for 子优先级 * arg NVIC_PriorityGroup_4: 4 bit for抢占优先级 * 0 bits for 子优先级 * 注意 如果优先级分组为0则抢占优先级就不存在优先级就全部由子优先级控制 */ void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup) {// 设置优先级分组SCB-AIRCR AIRCR_VECTKEY_MASK | NVIC_PriorityGroup; }2.中断编程 在配置每个中断的时候一般有3个编程要点 使能外设某个中断这个具体由每个外设的相关中断使能位控制。 比如串口有发送完成中断接收完成中断这两个中断都由串口控制寄存器的相关中断使能位控制。 初始化NVIC_InitTypeDef结构体配置中断优先级分组 设置抢占优先级和子优先级使能中断请求。 typedef struct {uint8_t NVIC_IRQChannel; // 中断源uint8_t NVIC_IRQChannelPreemptionPriority; // 抢占优先级uint8_t NVIC_IRQChannelSubPriority; // 子优先级FunctionalState NVIC_IRQChannelCmd; // 中断使能或者失能 } NVIC_InitTypeDef;3.编写中断服务函数 在启动文件startup_stm32f40xx.s中我们预先为每个中断都写了一个中断服务函数只是这些中断函数都是为空为的只是初始化中断向量表。 实际的中断服务函数都需要我们重新编写中断服务函数我们统一写在stm32f4xx_it.c这个库文件中。 关于中断服务函数的函数名必须跟启动文件里面预先设置的一样如果写错系统就在中断向量表中找不到中断服务函数的入口 直接跳转到启动文件里面预先写好的空函数并且在里面无限循环实现不了中断。 NVIC_InitTypeDef NVIC_InitStructure;/* 配置USART为中断源 */NVIC_InitStructure.NVIC_IRQChannel USART1_IRQn;/* 抢断优先级为1 */NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority 1;/* 子优先级为1 */NVIC_InitStructure.NVIC_IRQChannelSubPriority 1;/* 使能中断 */NVIC_InitStructure.NVIC_IRQChannelCmd ENABLE;/* 初始化配置NVIC */NVIC_Init(NVIC_InitStructure);3.总结 NVIC_PriorityGroupConfig是整个程序中只需要设置一次 适合放在main()函数中。NVIC_Init(NVIC_InitStructure) 配置结构体赋值的将要设置的中断向量和其优先级可以放在模块中进行。
http://www.w-s-a.com/news/859485/

相关文章:

  • 部署iis网站校园网站设计毕业设计
  • 网站快慢由什么决定塘沽手机网站建设
  • 苏州那家公司做网站比较好装修队做网站
  • 外贸网站推广中山网站流量团队
  • 网站前端设计培训做一份网站的步zou
  • 网站备案拍照茶叶网页设计素材
  • wordpress 手机商城模板关键词优化软件有哪些
  • 网站301做排名python做的网站如何部署
  • 昆山做企业网站工信部网站 备案
  • 做英文的小说网站有哪些网站做qq登录
  • 湖州建设局招投标网站深圳广告公司集中在哪里
  • 重庆主城推广网站建设商城网站建设预算
  • 宁波品牌网站推广优化公司开发公司工程部工作总结
  • 长沙建站模板微信网站建设方案
  • 不让网站在手机怎么做门户网站 模板之家
  • 网站建设及推广图片wordpress文章摘要调用
  • 手机版网站案例全国信息企业公示系统
  • 模仿别人网站建设银行广州招聘网站
  • 沧州网站建设沧州内页优化
  • 代加工网站有哪些专门做网站关键词排名
  • 郑州做景区网站建设公司软件开发者模式怎么打开
  • 长沙企业网站建设哪家好做app一般多少钱
  • 南宁一站网网络技术有限公司网站开发技术应用领域
  • 公司网站建设方案ppt专业构建网站的公司
  • 深圳网站建设方维网络网站框架设计好后怎么做
  • 合肥网站建设过程网站栏目建设调研
  • 手机访问网站页面丢失北京电商平台网站建设
  • 郑州网站怎么推广中山 网站关键词优化
  • 国外试用网站空间网站建设与管理题目
  • 淄博网赢网站建设网站设计的技术选择