From 11f2f2e329ef404d0e9c022cb2f9fbbb45bae285 Mon Sep 17 00:00:00 2001 From: nancy.liao <huihui.liao@greentest.com.cn> Date: 周日, 27 4月 2025 17:33:31 +0800 Subject: [PATCH] 完成了SCPI命令语法分析器的完整规则 --- libscpi/src/ieee488.c | 38 ++++++++++++++++++++------------------ 1 files changed, 20 insertions(+), 18 deletions(-) diff --git a/libscpi/src/ieee488.c b/libscpi/src/ieee488.c index e45d8f3..09279ba 100644 --- a/libscpi/src/ieee488.c +++ b/libscpi/src/ieee488.c @@ -174,10 +174,12 @@ if (stb & sre) { ptrans = ((old_val ^ val) & val); context->registers[SCPI_REG_STB] |= STB_SRQ; - if (ptrans & val) { + if (ptrans & val) + { writeControl(context, SCPI_CTRL_SRQ, context->registers[SCPI_REG_STB]); } - } else { + } else + { context->registers[SCPI_REG_STB] &= ~STB_SRQ; } break; @@ -322,8 +324,12 @@ */ scpi_result_t SCPI_CoreIdnQ(scpi_t * context) { int i; - for (i = 0; i < 4; i++) { - if (context->idn[i]) { + for (i = 0; i < 4; i++) + { + if (context->idn[i]) + { + char* outPut = "IDNS鍝嶅簲"; + // context->interface->write(context,context->idn[i],0); SCPI_ResultMnemonic(context, context->idn[i]); } else { SCPI_ResultMnemonic(context, "0"); @@ -337,7 +343,8 @@ * @param context * @return */ -scpi_result_t SCPI_CoreOpc(scpi_t * context) { +scpi_result_t SCPI_CoreOpc(scpi_t * context) +{ SCPI_RegSetBits(context, SCPI_REG_ESR, ESR_OPC); return SCPI_RES_OK; } @@ -384,8 +391,14 @@ * @param context * @return */ -scpi_result_t SCPI_CoreSreQ(scpi_t * context) { - SCPI_ResultInt32(context, SCPI_RegGet(context, SCPI_REG_SRE)); +scpi_result_t SCPI_CoreSreQ(scpi_t * context) +{ + context->interface->write(context,"Registers request start",0); + for(int i =0;i<SCPI_REG_COUNT;i++) + { + context->interface->write(context,(char*)context->registers[i],0); + } + context->interface->write(context,"Registers request end",0); return SCPI_RES_OK; } @@ -421,15 +434,4 @@ return SCPI_RES_OK; } -scpi_result_t SCPI_NanCy(scpi_t * context) -{ - - return SCPI_RES_OK; -} -scpi_result_t SCPICount(scpi_t * context) -{ - return SCPI_RES_OK; - - -} -- Gitblit v1.9.1