聚类算法评价指标——adjusted Rand index, ARI指数(调整兰德指数)


调整兰德指数(adjustedRand index,ARI)是一种常见的聚类外部评价指标,其通过计算在真实标签和聚类结果中被分配在相同或不同类簇的样本对的个数来进行聚类有效性的评价,具体定义如下:
λ A R I = λ R I − E (
### 配置杰理AD14串口中断回调函数 对于杰理AD14系列芯片,配置串口中断回调函数涉及初始化UART模块并设置中断服务程序来处理接收到的数据。通过这种方式可以确保当有数据到达时能够及时响应而不影响主循环逻辑。 #### 初始化UART模块 首先需要定义UART的相关参数以及使能相应的中断源: ```c #include "uart.h" void UART_Init(void){ // 设置波特率等参数 uart_init(UART_PORT, BAUD_RATE); // 使能UART接收中断 NVIC_EnableIRQ(UART_IRQn); } ``` 上述代码展示了如何开启UART端口及其对应的NVIC中断线[^2]。 #### 定义中断服务例程ISR 接着要编写一个专门用于处理UART事件的中断服务程序,在这里可以通过调用特定的应用层函数来进行进一步的操作: ```c void UART_IRQHandler(void){ uint8_t data; if(uart_is_rx_interrupt_flag_set()){ // 清除标志位 uart_clear_rx_interrupt_flag(); // 获取新到来的数据 data = uart_read_byte(); // 调用应用层注册好的回调函数 if(app_uart_callback != NULL){ app_uart_callback(data); } } } ``` 此部分实现了对接收缓冲区满这一情况作出反应,并触发预设的动作。 #### 注册应用程序级别的回调函数 为了让开发者可以在自己的业务逻辑里轻松接入这些底层机制,则需提供一种方法让用户指定希望执行的具体行为: ```c typedef void (*app_uart_cb)(uint8_t); // 应用层可自定义的回调指针变量声明 static app_uart_cb app_uart_callback; // 提供给外部使用的API接口用来绑定具体的实现体 void register_app_uart_callback(app_uart_cb cb){ app_uart_callback = cb; } // 用户侧实际编写的处理流程 void user_defined_process(uint8_t byte_received){ printf("Received Byte:%d\n",byte_received); } int main(){ ... // 将用户的处理器关联到系统框架上去 register_app_uart_callback(user_defined_process); ... } ``` 这段说明了怎样建立从硬件层面直到最终呈现给程序员的一整套链路结构,使得整个过程既灵活又高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值