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

网站平台做捐助功能有风险吗什么是php网站

网站平台做捐助功能有风险吗,什么是php网站,网站建设 设计 优化 维护,制造业网站建设文章目录 前言 Timer中断调度 Event中断调度 StateFlow调度 分析和应用 总结 参考资料 前言 近期在一些嵌入式系统开发项目中#xff0c;在使用嵌入式处理器时#xff0c;遇到了挺多费时费力的事情。所以利用晚上和周末时间#xff0c;在这些方面深入研究了一下… 文章目录 前言 Timer中断调度 Event中断调度 StateFlow调度 分析和应用 总结 参考资料 前言 近期在一些嵌入式系统开发项目中在使用嵌入式处理器时遇到了挺多费时费力的事情。所以利用晚上和周末时间在这些方面深入研究了一下解锁了一些新技能。后面会用若干篇文章把它总结分享出来以备将来翻看同时也希望能够帮到这一领域的粉丝朋友们。 由于实际项目比较庞大而且不便在网络公开所以就另起了一个Demo工程重点介绍其中的原理、方法和特性分析。 Timer中断调度 Timer中断是硬件中断的一种其在处理器中断框架中的位置如下图所示 Timer中断工作的过程如下 TDDRH:TDDR是一个16位的时钟分频因子寄存器需要开发者写入分频的倍数。 PSCH:PSC是一个16位的分频计数寄存器能随着时钟节拍递减递减到0时重新装载TDDRH:TDDR寄存器的值然后继续循环。每循环一次后TIMH:TIM计数器减1。 PRDH:PRD是一个32位的周期寄存器需要开发者写入循环周期的长度。 TIMH:TIM是一个32位的计数寄存器能随着分频后的时钟节拍递减。递减到0时重新装载PRDH:PRD寄存器的值然后继续循环。每循环一次后产生一个Timer中断脉冲。当Timer中断脉冲产生时就可以作为一个Task调度的Flag如果有多个不同周期的异步Task就可以使用多个Timer中断来调度。 举例如果我们想制造一个0.01s的Timer中断并且已知处理器的系统时钟是120MHz。首先设定分频因子为2那么分频后的时钟频率是60MHz。PRDH:PRD 0.01s/(1/60,000,000) 600,000。 Tips如果循环周期计算出来不是整数四舍五入的话就会引入设计误差这时就可以通过调整分频因子来弥补这种误差。或者循环周期超出了32位的最大值也可以调整分频因子来修正。 Event中断调度 Event中断是硬件中断的一大类其在处理器中断框架中的位置如下图所示 Event中断工作的过程如下 本文以SCI通信事件为例来讲解异步任务的调度。 第一步在Hardware Settings中勾上SCI数据接收后中断使能并配置优先级level示例如下 第二步从模块库Scheduling中拖出ISR模块示例如下 第三步在硬Hardware Mapping中选择SCI接收中断并勾上中断服务后清除状态flag示例如下 第四步在Simulink Model中创建f()函数调用子系统连接到前面的ISR模块event端口上示例如下 当SCI接收到数据时就会产生一个中断脉冲。可以作为一个Task调度的Flag比如响应SCI命令的Task。如果有多个类似的触发型异步Task就可以使用多个event中断来调度。 StateFlow调度 前面两种任务调度的方法都是依赖于处理器硬件的中断和对应的中断服务程序这种调用方式通常只适用于小负荷的任务因为软件不能长时间处于中断服务程序中。如果有大负荷的任务就要引入Idel Task调度模块在其内部使用StateFlow等纯软件的方法调度各个任务示例如下 Idel Task调度的任务生成C语言中后实际上就是在main()的while(1)中全速循环的任务。大部分的软件任务实际上不需要这么快的循环速度所以也可以用前面Timer周期的思想用软件变量递减的方式做一些周期性的Flag。示例如下 flag 0;for(i0;i50000;i){for(j0;j8;j){Cnt1 - 1;if(Cnt1 0){Cnt1 8; }}Cnt2 - 1;if(Cnt2 0){Cnt1 50000;flag 1;}} Tips这种软件循环周期精度不如Timer中断周期高。 有了周期循环的基础后就可以使用StateFlow调用子系统的方式来调度多任务异步执行示例如下 分析和应用 1、使用Timer中断调度任务的方法任务周期的精度非常高几乎不会波动因为它的节拍源是非常稳定的系统时钟。 2、能引起Timer中断周期波动的唯一因素是中断冲突。可以设置Timer中断的优先级来决定当发生中断冲突时先执行哪个中断。也可以设置Timer中断是否允许抢占来确定当有新中断产生时Timer中断是否会被打断。 3、使用Event中断调度任务与Timer中断的工作机制比较相似。并且依赖于处理器中断的原理可以保证外部Event产生时可以非常快速地响应也保证了嵌入式系统的实时性。 4、使用StateFlow调度任务他的基础是软件延时控制的周期循环很容易受到处理器负荷变化引起的波动。使用StateFlow调度任务的优点是调度非常灵活能处理的任务量也可以比较大。 5、一种比较完美的任务调度方法时把上述三种方式结合起来避开各自的劣势发挥各自的优势。首先可以使用Timer中断产生一个最小的单位周期例如10ms然后在此基础上利用软件计数延时的方式产生20ms和50ms的周期Flag然后进一步开发Stateflow调度任务。这样既可以保证控制周期在一定程度上的稳定性也能充分发挥Stateflow调度任务的灵活性同时保留Event中断调度方式的实时性这样整体嵌入式系统的性能就比较均衡了。如果具体的嵌入式系统应用场景中值要求哪一方面的绝对性能那么就可以完全只依赖于其中一种任务调度方式抛弃其他的调度方式。 总结 以上就是本人在研发中使用嵌入式处理器做异步任务调度时一些个人理解和分析的总结主要介绍了三种异步任务调度的工作原理展示了具体的使用方法并对比分析了这些不同方式的特点差异和各自的适用场景。 后续还会分享另外几个最近解锁的嵌入式处理器新技能欢迎评论区留言、点赞、收藏和关注这些鼓励和支持都将成文本人持续分享的动力。 另外上述例程使用的Demo工程可以到笔者的主页查找和下载。 参考资料 TMS320F28003x Real-Time Microcontrollers datasheet.pdf 版权声明原创文章转载和引用请注明出处和链接侵权必究
http://www.tj-hxxt.cn/news/229918.html

相关文章:

  • 黑龙江省建设教育信息网站广西桂林天气预报15天查询
  • 做的视频传到哪个网站好静态网站模板源码下载
  • 上海行业网站建设在线制作头像框
  • dremrever做网站流程网页生成pdf不显示
  • 高端建站是什么公司网站建设建设
  • 新网站 seo网站seo分析报告
  • 新建网站站点的一级a做爰片图片免费观看网站
  • 重庆高考征集志愿网站拍摄企业宣传片哪家好
  • 网站建设初期怎么添加内容天津专业网站设计
  • 广西网站设计运营公司如何推广网站运营
  • 在线原型设计网站wordpress 主页地址函数
  • 一站式外贸综合服务平台如何建设一个简单的公司网站
  • wordpress 火车头接口邯郸网站优化技巧
  • 合肥企业建站程序国家重大建设项目库网站电话
  • 网站移动化建设方案asp.net 网站建设方案
  • 网站建设厌倦网站 缓存方式
  • 万维网申请网站域名佛山国内快速建站
  • 东营网站建设教程简单建设网站首页
  • 建地方门户网站建筑设计方案汇报ppt
  • 结婚网站模版深州做网站公司
  • 合肥网站制作开发个人个案网站 类型
  • 支付宝 收费 网站开发建站工具论坛
  • 专业的盐城网站开发wordpress如和安装
  • 网站建设是什么语言齐齐哈尔网站开发
  • 中小型网站建设服务重庆建设工程交易网
  • 网站建设 预算江华网站建设
  • 培训网站设计简单的网页开发
  • 中国建设银行官网站金银纪念币网页设计图片怎么放进去
  • 网站建设网络推广广告语网站建设外包公司容易被客户投诉吗
  • 在网站里继费nas可以做网站吗