ITPub博客

首页 > 区块链 > 区块链 > DAPP合约系统开发逻辑技术丨DAPP成熟系统开发技术方案

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

原创 区块链 作者:Tg_StPv888 时间:2023-03-09 09:45:40 0 删除 编辑

  所谓动态调用,是指调用者合约不需要提前知道被调用合约的接口,只需要在调用时,告诉调用者被调合约的方法签名即可。调用者合约不需要事前绑定被调者的接口,可以在调用时,指定任意被调用合约及其方法,系统详细搭建I8O28578624


  前面讲解了那么多中断知识,如果大家不理解也没有关系,我们会应用即可,等到后面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


  {


  //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:抢占优先级,具体的值要根据优先级分组来确定,可以参考前面中断优先级分组内容。


  3.NVIC_IRQChannelSubPriority:响应优先级,具体的值要根据优先级分组


  来确定,可以参考前面中断优先级分组内容。


  4.NVIC_IRQChannelCmd:中断使能/失能设置,使能配置为ENABLE,失能配置为DISABLE。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70016646/viewspace-2938754/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
专业区块项目开发团队:18028578624微電

注册时间:2022-04-13

  • 博文量
    158
  • 访问量
    95690