McuStudioMcuStudio
指南
开发者
组件
API
  • 版本发布
指南
开发者
组件
API
  • 版本发布
  • API 概述
  • 变量
  • 函数

API 概述

芯片模板的 API 分为全局变量、外设函数和生命周期回调三类,供 ips/{IP}/ui/*.cjs 和 ips/{IP}/code/{version}/pre.cjs 中使用。

全局变量

变量作用域说明
$rootui.cjs当前外设实例,包含该外设的所有配置数据
$clockui.cjs时钟树实例,通过 $clock['IRC8M'].outclk 获取频率
$pinsui.cjs引脚实例,$pins.pins 为所有引脚数组
$globalui.cjs所有外设实例的集合,$global['USART1'] 访问其他外设
ippre.cjs当前外设的配置对象,包含 $name、firmware、DMA、NVIC 等
localspre.cjs全局上下文,包含 defineMap(寄存器宏映射)、global
@get:ui.cjs响应式 getter,"@get: $root.Mode.value" 动态获取值
@set:ui.cjs响应式 setter,"@set: $parent.inclk" 写回计算值
@value:ui.cjs一次性取值,不建立响应式依赖

外设 API

各外设通过 ips/{IP}/ui/*.cjs 的 functions 导出提供 API,通过 global.{IP}.{函数名}() 调用。

外设文件主要 API
GPIOips/GPIO/ui/*.cjs引脚管理、数据获取、参数映射
DMAips/DMA/ui/*.cjsDMA 通道管理、配置获取
NVICips/NVIC/ui/*.cjs中断筛选、优先级管理
ADCips/ADC/ui/*.cjs模式校验、通道管理

详细 API 请参阅 函数 章节。

生命周期回调

回调触发时机参数
on__mounted外设加载完成后无
on__change配置项值变化时{ id, value, oldValue, path }
on__enableChange外设使能状态变化时无
on__tableAdd表格新增行时{ body, row }
on__tableDel表格删除行时{ body, row }

@get: 响应式表达式

在 ui.cjs 中,@get: 表达式用于动态引用其他节点或外设的值:

// 引用当前外设的参数值
"@get: $root.Mode.value"

// 引用时钟树节点的输出频率
"@get: $clock['HXTAL'].outclk"

// 引用其他外设的参数
"@get: USART1.BaudRate.value"

// 计算表达式
"@get: $parent.inclk * parseInt($parent.selected.label.replace('x', ''))"

// 条件判断
"@get: $root.NbrOfConversion.value <= 1"
Next
变量