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

怎样创建基本的网站建设网站涉及的技术

怎样创建基本的网站,建设网站涉及的技术,wordpress网络图片不显示图片,c 手机版网站开发一、什么是中断 中断时微控制器一个很常见的特性#xff0c;中断是由硬件产生#xff0c;当中断产生以后CPU就会中断当前的流程而去处理中断服务#xff0c;Cortex-M内核的MCU提供了一个用于中断管理的嵌套向量中断控制器#xff08;NVIC#xff09;。 二、中断优先级分…一、什么是中断 中断时微控制器一个很常见的特性中断是由硬件产生当中断产生以后CPU就会中断当前的流程而去处理中断服务Cortex-M内核的MCU提供了一个用于中断管理的嵌套向量中断控制器NVIC。 二、中断优先级分组定义 当多个中断来临的时候处理器应该响应哪一个中断是由中断的优先级来决定的高优先级的中断优先级编号小肯定是首先得到响应的而且高优先的中断可以抢占低优先级的中断这个就是中断嵌套。 Cortex-M处理器的有些中断是具有固定的优先级的比如复位、NMI、HardFault这些中断的优先级都是负数优先级也是最高的。 STM32只用了中断优先级配置寄存器的高4位 [7 : 4]所以STM32提供了最大16级的中断优先等级MSB 对齐。 STM32优先级分组 ST 官方默认的是组 44 位优先级就都全是抢占优先级了没有亚优先级那么就有 0~15 共 16 个优先级。 三、用于中断屏蔽的特殊寄存器 PRIMASK 寄存器 PRIMASK 用于禁止除 NMI 和 HardFalut 外的所有异常和中断。 只有 1 个位的寄存器当它置 1 时就关掉所有可屏蔽的异常只剩NMI和HardFalut 可以响应。当它置 0 时表示没有关中断。 FAULTMASK 寄存器 PRIMASK 用于禁止除 NMI 外的所有异常和中断。它可以连 HardFault 都屏蔽掉。 只有 1 个位的寄存器当它置 1 时就关掉所有可屏蔽的异常只剩NMI可以响应。当它置 0 时表示没有关中断。 BASEPRI 寄存器 这个寄存器最多有 9 位由表达优先级的位数决定。它定义了被屏蔽优先级的阈值。当它被设成某个值后所有优先级号大于等于此值的中断都被关优先级号越大优先级越低。但若被设置为 0则不关闭任何中断。默认值是 0. 四、中断配置宏 1、configPRIO_BITS 此宏用来设置 MCU 使用几位优先级STM32 使用的是 4 位因此此宏为 4 2、configKERNEL_INTERRUPT_PRIORITY 此宏是用来设置最低优先级。STM32 优先级使用了 4 位而且 STM32 配置的使用组 4也就是 4 位都是抢占优先级。优先级数就是 16 个最低优先级那就是 15。所以此宏就是 15 3、configKERNEL_INTERRUPT_PRIORITY 此宏用来设置内核中断优先级。 4、configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 此宏用来设置 FreeRTOS 系统可管理的最大优先级。这里设置为了 5。也就是高于 5 的优先级(优先级数小于 5)不归 FreeRTOS 管理 5、configMAX_SYSCALL_INTERRUPT_PRIORITY 此宏是 configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 左移 4 位而来的原因和宏 configKERNEL_INTERRUPT_PRIORITY 一样。此宏设置好以后低于此优先级的中断可以安全的调用 FreeRTOS 的 API 函数高于此优先级的中断 FreeRTOS 是不能禁止的中断服务函数也不能调用 FreeRTOS 的 API 函数 五、开关中断 FreeRTOS 开关中断函数为 portENABLE_INTERRUPTS ()和 portDISABLE_INTERRUPTS() 可以看出开关中断实际上是通过函数 vPortSetBASEPRI(0)和 vPortRaiseBASEPRI()来实现的。 六、临界段代码 临界段代码也叫做临界区是指那些必须完整运行不能被打断的代码段比如有的外设的初始化需要严格的时序初始化过程中不能被打断。FreeRTOS 在进入临界段代码的时候需要关闭中断当处理完临界段代码以后再打开中断。FreeRTOS 系统本身就有很多的临界段代码这些代码都加了临界段代码保护我们在写自己的用户程序的时候有些地方也需要添加临界段代码保护。 FreeRTOS 与临界段代码保护有关的函数有 4 个 taskENTER_CRITICAL()taskEXIT_CRITICAL()taskENTER_CRITICAL_FROM_ISR()taskEXIT_CRITICAL_FROM_ISR() 这四个函数其实是宏定义在 task.h 文件中有定义。这四个函数的区别是前两个是任务级的临界段代码保护后两个是中断级的临界段代码保护。 taskENTER_CRITICAL()和 taskEXIT_CRITICAL()是任务级的临界代码保护一个是进入临界段一个是退出临界段这两个函数是成对使用的。 任务级别使用方法如下 函数 taskENTER_CRITICAL_FROM_ISR()和 taskEXIT_CRITICAL_FROM_ISR()中断级别临界段代码保护是用在中断服务程序中的而且这个中断的优先级一定要低于 configMAX_SYSCALL_INTERRUPT_PRIORITY这两个函数是成对使用的。 中断级临界代码保护使用方法如下
http://www.pierceye.com/news/479314/

相关文章:

  • 天河网站设计响应式视频网站模板
  • 网站制作老了手机网站模板开发
  • 哪家网站建设比较好海拉尔建网站
  • 丹东网站推广海南行指专业网站开发
  • 网站如何调用手机淘宝做淘宝客中国企业网站查询
  • 淄博建设工程学校官方网站专门做商标的网站有哪些
  • 私人免费网站怎么下载企业网站设计方案
  • 做阿里巴巴网站找谁互联网推广公司
  • 网站如何做微信支付宝支付宝支付网页传奇发布网
  • 网站建设语录谷歌浏览器官网下载
  • 互动营销网站免费学高中课程的软件
  • 沈阳网站建设活动方案公司网站建设攻略
  • 建网站 方法喜来健cms系统
  • 甘肃 网站备案关于网站开发费用的入账
  • 南昌建网站的公司个人博客模板网站
  • 银川建设局网站丹江口网站制作
  • 做化工的 有那些网站自动的东莞网站制作公司
  • 做网站要求高吗中国建设教育网
  • 支付宝 手机网站开发seo优化在哪里学
  • 建筑工人找活的平台郑州网站优化托管
  • 微网站 下载网站建设找刘贺稳营销专家
  • 网站建设的需求文档视频直播网站开发
  • 高州网站设计鄂尔多斯建设招投标网站
  • 建立网站看病的经济问题菜单设计制作图片
  • 网站推广优化招聘seo整站优化托管
  • 企业网站建设方案百度文库北京正邦品牌设计公司
  • 新乡个人网站建设国际婚恋网站排名
  • 昆明网站建设哪家seo内部优化具体做什么
  • 网站架构设计师浙江省建设厅网站证件
  • 服务器和网站维护安康网站建设公司报价