DAPP合约系统开发逻辑技术丨DAPP成熟系统开发技术方案

简介: 动态调用允许调用者在运行时指定被调用合约及方法,无需预先知道接口。中断配置通常包括:启用外设中断、设置中断优先级分组和使能中断请求。NVIC_InitTypeDef结构体用于中断配置,包含中断源、抢占优先级、响应优先级和使能状态。中断源定义在IRQn_Type枚举中,如WWDG_IRQn、PVD_IRQn等。抢占优先级值依赖于优先级分组设定。

所谓动态调用,是指调用者合约不需要提前知道被调用合约的接口,只需要在调用时,告诉调用者被调合约的方法签名即可。调用者合约不需要事前绑定被调者的接口,可以在调用时,指定任意被调用合约及其方法,前面讲解了那么多中断知识,如果大家不理解也没有关系,我们会应用即可,等到后面STM32熟练了,再回过头深入了解自然就会明白。要使用中断我们就需要先配置它,通常都需经过这几步:  (1)使能外设某个中断,这个具体是由外设相关中断使能位来控制,比如  定时器有溢出中断,这个可由定时器的控制寄存器中相应中断使能位来控制。  (2)设置中断优先级分组,初始化NVIC_InitTypeDef结构体,设置抢占  优先级和响应优先级,使能中断请求。  NVIC_InitTypeDef结构体如下:v_StPv888  typedef struct  {  uint8_t NVIC_IRQChannel;//中断源  uint8_t NVIC_IRQChannelPreemptionPriority;//抢占优先级  uint8_t NVIC_IRQChannelSubPriority;//响应优先级  FunctionalState NVIC_IRQChannelCmd;//中断使能或失能  }NVIC_InitTypeDef;  下面我们对NVIC_InitTypeDef结构体成员进行一下简单介绍。  1.NVIC_IRQChannel:中断源的设置,不同的外设中断,中断源不一样,自  然名字也不一样,所以名字不能写错,否则不会进入中断。中断源放在stm32f10x.h文件的IRQn_Type结构体内,由于内容太多,这里就不复制所有中断源,只截取一部分,如下:  typedef enum IRQn  { 【方案部署搭建可V or TG我昵称】 //Cortex-M3处理器异常编号  NonMaskableInt_IRQn=-14,  MemoryManagement_IRQn=-12,  BusFault_IRQn=-11,  UsageFault_IRQn=-10,  SVCall_IRQn=-5,  DebugMonitor_IRQn=-4,  PendSV_IRQn=-2,  SysTick_IRQn=-1,  //STM32外部中断编号  WWDG_IRQn=0,  PVD_IRQn=1,  TAMP_STAMP_IRQn=2,  //限于篇幅,中间部分代码省略,具体的可查看库文件stm32f10x.h  DMA2_Channel2_IRQn=57,  DMA2_Channel3_IRQn=58,  DMA2_Channel4_5_IRQn=59  }IRQn_Type;  2.NVIC_IRQChannelPreemptionPriority:抢占优先级,具体的值要根据优先级分组来确定,可以参考前面中断优先级分组内容。

相关文章
|
12月前
|
SQL 分布式计算 运维
StarRocks 在爱奇艺大数据场景的实践
本文介绍了爱奇艺大数据OLAP服务负责人林豪在StarRocks年度峰会上的分享,重点讲述了爱奇艺OLAP引擎的演进及引入StarRocks后的显著效果。在广告业务中,StarRocks替换Impala+Kudu后,接口性能提升400%,P90查询延迟缩短4.6倍;在“魔镜”数据分析平台中,StarRocks替代Spark达67%,P50查询速度提升33倍,P90提升15倍,节省4.6个人天。未来,爱奇艺计划进一步优化存算一体和存算分离架构,提升整体数据处理效率。
StarRocks 在爱奇艺大数据场景的实践
|
存储 监控 Java
Zipkin/Pinpoint/SkyWalking全面对比
【11月更文挑战第1天】这里重点从探针的性能、Collector的可扩展性、调用链路分析、完整的应用拓扑、对于科技人员使用友好程度(部署安装、埋点接入、使用管理)几个方面来进行对比。
Shiro用户鉴权框架 子线程获取不到用户信息问题解决
Shiro用户鉴权框架 子线程获取不到用户信息问题解决
|
存储 Java API
动态代理实现的两种方式
【10月更文挑战第10天】
264 2
|
存储 前端开发 JavaScript
vue+elementui+mysql实现个人博客系统
vue+elementui+mysql实现个人博客系统
|
数据可视化 前端开发 搜索推荐
数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(百度地图jsAPI,包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)
数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(百度地图jsAPI,包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)
627 0
|
网络协议 iOS开发 MacOS
Mac使用TCP发送信息nc -l 9000 和 telnet 127.0.0.1 9000
Mac使用TCP发送信息nc -l 9000 和 telnet 127.0.0.1 9000
304 1
|
算法 数据安全/隐私保护 C++
超级好用的C++实用库之Des加解密
超级好用的C++实用库之Des加解密
440 0
阿里云发票怎么开?刚开完,非常简单,分享给大家!
阿里云用户可在用户中心的发票管理页面开具电子或纸质发票。首次开票需设置发票抬头,支持个人或企业,可选增值税普通或专用发票。个人账号无法直接开企业发票,需变更实名认证。发票税率因产品而异,通常为6%或13%。发票抬头可修改,纸质发票邮寄费用视情况而定,电子发票同样具备法律效力。详情见阿里云帮助中心。
2326 0
|
缓存 Ubuntu Unix
统信UOS系统开发笔记(七):在统信UOS系统上使用linuxdeployqt发布qt程序
在ubuntu上发布qt程序相对还好,使用脚本,但是在统信UOS麒麟上发布的时候,因为银河麒麟等不同版本,使用脚本就不太兼容,同时为了实现直接点击应用可以启动应用的效果,使用linuxdeployqt发布qt程序。
27572 7

热门文章

最新文章