sola.lu
5 天以前 af6ee422a8dc5280a3aa7916c1742ecfdc9a57d7
libscpi/src/ieee488.c
@@ -38,8 +38,6 @@
#include "scpi/parser.h"
#include "scpi/ieee488.h"
#include "scpi/error.h"
#include "scpi/constants.h"
#include <stdio.h>
static const scpi_reg_info_t scpi_reg_details[SCPI_REG_COUNT] = {
@@ -176,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;
@@ -280,7 +280,8 @@
 * @param context
 * @return 
 */
scpi_result_t SCPI_CoreEse(scpi_t * context) {
scpi_result_t SCPI_CoreEse(scpi_t * context)
{
    int32_t new_ESE;
    if (SCPI_ParamInt32(context, &new_ESE, TRUE)) {
        SCPI_RegSet(context, SCPI_REG_ESE, (scpi_reg_val_t) new_ESE);
@@ -323,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");
@@ -338,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;
}
@@ -385,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;
}
@@ -422,3 +434,4 @@
    return SCPI_RES_OK;
}