Configuring P11 Expansion Connector Pin as GPIO on FRDM-IMX93 (VS Code)

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Configuring P11 Expansion Connector Pin as GPIO on FRDM-IMX93 (VS Code)

818 次查看
Shanmugapriya
Contributor II

Hi,

I am working with the FRDM-IMX93 development board using VS Code with the MCUXpresso SDK. I need to configure one of the pins from the P11 (40-pin expansion connector) as a GPIO to control the START pin of an external ADS1235 ADC.

My plan was to connect the START pin of the ADC to P11 header pin 3.

In the code, I defined the START pin as follows:

/* START pin control */
#define ADS1235_START_GPIO GPIO2
#define ADS1235_START_PIN 2U

I also configured the pin in the IOMUX like this:

void BOARD_InitUserPins(void)
{
/* Configure GPIO_IO02 as GPIO2_IO02 (ADS1235 START pin) */
IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO02__GPIO2_IO02, 0U);

IOMUXC_SetPinConfig(
IOMUXC_PAD_GPIO_IO02__GPIO2_IO02,
IOMUXC_PAD_DSE(15U) /* Drive strength */
);
}

From the FRDM-IMX93 schematic, P11 header pin 3 appears to correspond to GPIO2_IO02 (shown as GPIO_2 in the board documentation).

However, when testing in main.c, I tried writing logic 1 and 0 to this GPIO and then reading the pin state back. The read value always returns 0, regardless of what I write. Because of this, I suspect there may be an issue with my GPIO/IOMUX configuration or that the pin may not actually be available as a free GPIO.

My questions are:

  1. Can P11 pin 3 (GPIO2_IO02) be configured as a general-purpose GPIO for controlling the ADS1235 START signal?

  2. If this pin is not available or is reserved for another function on the FRDM-IMX93 board, could someone suggest a free GPIO pin on the P11 expansion connector that I could use instead?

  3. What would be the correct GPIO and IOMUX configuration for such a pin in MCUXpresso?

Any guidance on properly configuring GPIO pins from the P11 expansion header on the FRDM-IMX93 would be greatly appreciated.

Thanks,

Shanmugapriya

0 项奖励
回复
2 回复数

711 次查看
JosephAtNXP
NXP TechSupport
NXP TechSupport

Hi,

Thank you for your interest in NXP Semiconductor products,

Correct, any pin from P11 connector can be used as GPIO, for your reference, you can either download Config Tools for i.MX or review pin-func.h; for alternate functions of each pin.

For pin usage, review imx93-11x11-frdm.dts, most of the pins including GPIO_IO02 are not reserved to use, if you find a pin used you can modify DTS accordingly so you can use it in Cortex-M.

For config, you are correct, you can add IOMUXC_PAD_FSEL1, IOMUXC_PAD_PD_MASK, etc. when needed.

This is a sample code for using a GPIO in i.MX 93.

int main(void)
{
    /* Define the init structure for the output LED pin*/
    rgpio_pin_config_t led_config = {
        kRGPIO_DigitalOutput,
        0,
    };

    /* Board pin, clock, debug console init */
    BOARD_InitHardware();

    /* Print a note to terminal. */
    PRINTF("\r\n RGPIO Driver example\r\n");
    PRINTF("\r\n The LED is taking turns to shine.\r\n");

    /* Init output LED GPIO. */
    RGPIO_PinInit(BOARD_LED_RGPIO, BOARD_LED_RGPIO_PIN, &led_config);

    while (1)
    {
        SDK_DelayAtLeastUs(1000000U, SystemCoreClock);
        RGPIO_PortToggle(BOARD_LED_RGPIO, 1u << BOARD_LED_RGPIO_PIN);
    }
}

Regards

0 项奖励
回复

643 次查看
Shanmugapriya
Contributor II
Hi,

Thank you for your reply.

I reviewed the pin-func.h file and the device tree from the shared link. The pin GPIO2, which corresponds to header pin 3 on the expansion connector, appears to be free and is configured as a GPIO by default. 

Since this pin is defined in pin-func.h but not present in the device tree, I confirmed that Linux is not currently using it and that it should be available.

I configured this pin and attempted to write values 1 and 0, then read them back. However, the output always returns 0.

For your reference, I have attached the board configuration settings, the main.c code, and the output I am observing.

#ifndef _BOARD_USER_PINS_H_
#define _BOARD_USER_PINS_H_
/* --------------------------------------------------------------------------
 * ADS1235 START pin mapping on FRDM‑i.MX93
 * Pad  : GPIO_IO02
 * GPIO : GPIO2_IO02
 * --------------------------------------------------------------------------*/
#define ADS1235_START_GPIO   GPIO2
#define ADS1235_START_PIN    2U

void BOARD_ConfigUserPins(void);
void BOARD_InitUserPins(void);

#endif
 
#include "fsl_iomuxc.h"
#include "board_user_pins.h"
#include "fsl_rgpio.h"

/*
 * Configure user-specific pins that are NOT part of SDK pin tool
 */
void BOARD_ConfigUserPins(void)
{
    /* Configure GPIO_IO02 as GPIO2_IO02 (ADS1235 START pin) */
    IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO02__GPIO2_IO02, 0U);

    IOMUXC_SetPinConfig(
        IOMUXC_PAD_GPIO_IO02__GPIO2_IO02,
        IOMUXC_PAD_DSE(15U)   /* Drive strength */
    );
}
/*
 * Initialize user-specific pins that are NOT part of SDK pin tool
 */
void BOARD_InitUserPins(void)
{
    rgpio_pin_config_t cfg = {
        .pinDirection = kRGPIO_DigitalOutput,
        .outputLogic = 0U,            /* idle LOW */
    };

    RGPIO_PinInit(ADS1235_START_GPIO, ADS1235_START_PIN, &cfg);
}
 
/*
 * Copyright 2017 NXP
 * All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#include "fsl_device_registers.h"
#include "fsl_debug_console.h"
#include "fsl_lpspi.h"
#include "board.h"
#include "app.h"
#include "pin_mux.h"
#include "clock_config.h"
#include "fsl_rgpio.h"           // For DRDY if needed
#include "ads1235.h"            //ADS1235
#include "spi3.h"               //SPI3
#include "board_user_pins.h"
#include "weighing.h"

/*******************************************************************************
 * Definitions
 ******************************************************************************/
#define TRANSFER_SIZE     3U     /*! Transfer dataSize */       //ADS1235 is a 24-bit ADC so 3 bytes
#define TRANSFER_BAUDRATE 500000U /*! Transfer baudrate - 500k */

/* SPI3 instance */
#define EXAMPLE_LPSPI_MASTER_BASEADDR       LPSPI3
#define EXAMPLE_LPSPI_MASTER_PCS_FOR_INIT   kLPSPI_Pcs0
#define EXAMPLE_LPSPI_MASTER_PCS_FOR_TRANSFER kLPSPI_MasterPcs0

/*******************************************************************************
 * Variables
 ******************************************************************************/
uint8_t adcTxCmd[1];
uint8_t adcRxData[TRANSFER_SIZE] = {0};

uint8_t masterRxData[TRANSFER_SIZE] = {0U};
uint8_t masterTxData[TRANSFER_SIZE] = {0U};
/*******************************************************************************
 * Main
 ******************************************************************************/
int main(void)
{
    BOARD_InitBootPins();                   /* Initialize board pins */
    BOARD_InitBootClocks();                 /* Initialize clocks */
    BOARD_InitDebugConsole();               /* Initialize debug UART */

    PRINTF("\r\nADS1235 SPI Test\r\n");

    CLOCK_EnableClock(kCLOCK_Gpio1);

    BOARD_ConfigUserPins();
    BOARD_InitUserPins();
    SPI3_Init();      // Your SPI init

    uint8_t tx[3] = {0xAA,0x55,0xFF};
    uint8_t rx[3] = {0};

    lpspi_transfer_t transfer;

    transfer.txData = tx;
    transfer.rxData = rx;
    transfer.dataSize = 3;
    transfer.configFlags = kLPSPI_MasterPcs0;

    LPSPI_MasterTransferBlocking(LPSPI3, &transfer);

    PRINTF("SPI TEST RX: %02X %02X %02X\r\n", rx[0], rx[1], rx[2]);
 
    while (1)
    {  
        /* Write HIGH */
        RGPIO_PinWrite(ADS1235_START_GPIO, ADS1235_START_PIN, 1U);
        PRINTF("START pin state (HIGH): %d\r\n",
            RGPIO_PinRead(ADS1235_START_GPIO, ADS1235_START_PIN));
        SDK_DelayAtLeastUs(500000, SystemCoreClock);

        /* Write LOW */
        RGPIO_PinWrite(ADS1235_START_GPIO, ADS1235_START_PIN, 0U);
        PRINTF("START pin state (LOW): %d\r\n",
            RGPIO_PinRead(ADS1235_START_GPIO, ADS1235_START_PIN));
        SDK_DelayAtLeastUs(500000, SystemCoreClock);
    }
}

 

 

 

%3CLINGO-SUB%20id%3D%22lingo-sub-2328168%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9C%A8%20FRDM-IMX93%20%E4%B8%8A%E5%B0%86%20P11%20%E6%89%A9%E5%B1%95%E8%BF%9E%E6%8E%A5%E5%99%A8%E5%BC%95%E8%84%9A%E9%85%8D%E7%BD%AE%E4%B8%BA%20GPIO%EF%BC%88VS%20%E4%BB%A3%E7%A0%81%EF%BC%89%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2328168%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20VS%20Code%20%E5%92%8C%20MCUXpresso%20SDK%20%E4%BD%BF%E7%94%A8%20FRDM-IMX93%20%E5%BC%80%E5%8F%91%E6%9D%BF%E3%80%82%E6%88%91%E9%9C%80%E8%A6%81%E5%B0%86%20P11%EF%BC%8840%20%E5%BC%95%E8%84%9A%E6%89%A9%E5%B1%95%E8%BF%9E%E6%8E%A5%E5%99%A8%EF%BC%89%E7%9A%84%E4%B8%80%E4%B8%AA%E5%BC%95%E8%84%9A%E9%85%8D%E7%BD%AE%E4%B8%BA%20GPIO%EF%BC%8C%E4%BB%A5%E6%8E%A7%E5%88%B6%E5%A4%96%E9%83%A8%20ADS1235%20ADC%20%E7%9A%84%20START%20%E5%BC%95%E8%84%9A%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E7%9A%84%E8%AE%A1%E5%88%92%E6%98%AF%E5%B0%86%20ADC%20%E7%9A%84%20START%20%E5%BC%95%E8%84%9A%E8%BF%9E%E6%8E%A5%E5%88%B0%20P11%20%E6%8E%A5%E5%A4%B4%E7%9A%84%203%20%E5%8F%B7%E5%BC%95%E8%84%9A%E3%80%82%3C%2FP%3E%3CP%3E%E5%9C%A8%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E5%AF%B9%20START%20%E5%BC%95%E8%84%9A%E7%9A%84%E5%AE%9A%E4%B9%89%E5%A6%82%E4%B8%8B%EF%BC%9A%3C%2FP%3E%3CPRE%20translate%3D%22no%22%3E%3CSPAN%20class%3D%22%22%3E%2F*%20START%20pin%20control%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22%22%3E%23define%20ADS1235_START_GPIO%20GPIO2%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22%22%3E%23define%20ADS1235_START_PIN%202U%3C%2FSPAN%3E%3C%2FPRE%3E%3CP%3E%E6%88%91%E8%BF%98%E5%9C%A8%20IOMUX%20%E4%B8%AD%E8%BF%99%E6%A0%B7%E9%85%8D%E7%BD%AE%E4%BA%86%E5%BC%95%E8%84%9A%EF%BC%9A%3C%2FP%3E%3CPRE%20translate%3D%22no%22%3E%3CSPAN%20class%3D%22%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3EBOARD_InitUserPins%3C%2FSPAN%3E(%3CSPAN%20class%3D%22%22%3Evoid%3C%2FSPAN%3E)%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%3CSPAN%20class%3D%22%22%3E%2F*%20Configure%20GPIO_IO02%20as%20GPIO2_IO02%20(ADS1235%20START%20pin)%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22%22%3EIOMUXC_SetPinMux%3C%2FSPAN%3E(%3CSPAN%20class%3D%22%22%3EIOMUXC_PAD_GPIO_IO02__GPIO2_IO02%3C%2FSPAN%3E%2C%20%3CSPAN%20class%3D%22%22%3E0U%3C%2FSPAN%3E)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22%22%3EIOMUXC_SetPinConfig%3C%2FSPAN%3E(%3CBR%20%2F%3E%3CSPAN%20class%3D%22%22%3EIOMUXC_PAD_GPIO_IO02__GPIO2_IO02%3C%2FSPAN%3E%2C%3CBR%20%2F%3E%3CSPAN%20class%3D%22%22%3EIOMUXC_PAD_DSE%3C%2FSPAN%3E(%3CSPAN%20class%3D%22%22%3E15U%3C%2FSPAN%3E)%20%3CSPAN%20class%3D%22%22%3E%2F*%20Drive%20strength%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%20)%3B%3CBR%20%2F%3E%7D%3C%2FPRE%3E%3CP%3E%E4%BB%8E%20FRDM-IMX93%20%E7%A4%BA%E6%84%8F%E5%9B%BE%E6%9D%A5%E7%9C%8B%EF%BC%8CP11%20%E6%8E%A5%E5%A4%B4%E5%BC%95%E8%84%9A%203%20%E4%BC%BC%E4%B9%8E%E4%B8%8E%20GPIO2_IO02%20%E7%9B%B8%E5%AF%B9%E5%BA%94%EF%BC%88%E5%9C%A8%E7%94%B5%E8%B7%AF%E6%9D%BF%E6%96%87%E6%A1%A3%E4%B8%AD%E6%98%BE%E7%A4%BA%E4%B8%BA%20GPIO_2%EF%BC%89%E3%80%82%3C%2FP%3E%3CP%3E%E4%BD%86%E6%98%AF%EF%BC%8C%E5%9C%A8%20main.c.%20%E4%B8%AD%E8%BF%9B%E8%A1%8C%E6%B5%8B%E8%AF%95%E6%97%B6%E6%88%91%E5%B0%9D%E8%AF%95%E5%90%91%20GPIO%20%E5%86%99%E5%85%A5%E9%80%BB%E8%BE%91%201%20%E5%92%8C%200%EF%BC%8C%E7%84%B6%E5%90%8E%E8%AF%BB%E5%9B%9E%E5%BC%95%E8%84%9A%E7%8A%B6%E6%80%81%E3%80%82%E6%97%A0%E8%AE%BA%E6%88%91%E5%86%99%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AF%BB%E5%8F%96%E5%80%BC%E6%80%BB%E6%98%AF%E8%BF%94%E5%9B%9E%200%E3%80%82%E5%9B%A0%E6%AD%A4%EF%BC%8C%E6%88%91%E6%80%80%E7%96%91%E6%88%91%E7%9A%84%20GPIO%2FIOMUX%20%E9%85%8D%E7%BD%AE%E5%8F%AF%E8%83%BD%E6%9C%89%E9%97%AE%E9%A2%98%EF%BC%8C%E6%88%96%E8%80%85%E8%AF%A5%E5%BC%95%E8%84%9A%E5%AE%9E%E9%99%85%E4%B8%8A%E5%B9%B6%E4%B8%8D%E8%83%BD%E4%BD%9C%E4%B8%BA%E7%A9%BA%E9%97%B2%20GPIO%20%E4%BD%BF%E7%94%A8%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E7%9A%84%E9%97%AE%E9%A2%98%E6%98%AF%3C%2FP%3E%3COL%3E%3CLI%3E%3CP%3E%E8%83%BD%E5%90%A6%E5%B0%86%20P11%20%E5%BC%95%E8%84%9A%203%EF%BC%88GPIO2_IO02%EF%BC%89%E9%85%8D%E7%BD%AE%E4%B8%BA%E9%80%9A%E7%94%A8%20GPIO%EF%BC%8C%E7%94%A8%E4%BA%8E%E6%8E%A7%E5%88%B6%20ADS1235%20%E5%90%AF%E5%8A%A8%E4%BF%A1%E5%8F%B7%EF%BC%9F%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3E%E5%A6%82%E6%9E%9C%E8%BF%99%E4%B8%AA%E5%BC%95%E8%84%9A%E4%B8%8D%E5%8F%AF%E7%94%A8%E6%88%96%E8%80%85%E7%95%99%E7%BB%99%20FRDM-IMX93%20%E6%9D%BF%E4%B8%8A%E7%9A%84%E5%85%B6%E4%BB%96%E5%8A%9F%E8%83%BD%EF%BC%8C%E6%9C%89%E4%BA%BA%E8%83%BD%E5%BB%BA%E8%AE%AE%E5%9C%A8%20P11%20%E6%89%A9%E5%B1%95%E8%BF%9E%E6%8E%A5%E5%99%A8%E4%B8%8A%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%85%8D%E8%B4%B9%E7%9A%84%20GPIO%20%E5%BC%95%E8%84%9A%E4%BE%9B%E6%88%91%E6%94%B9%E7%94%A8%E5%90%97%EF%BC%9F%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3E%E5%9C%A8%20MCUXpresso%20%E4%B8%AD%EF%BC%8C%E8%AF%A5%E5%BC%95%E8%84%9A%E7%9A%84%E6%AD%A3%E7%A1%AE%20GPIO%20%E5%92%8C%20IOMUX%20%E9%85%8D%E7%BD%AE%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%3C%2FP%3E%3C%2FLI%3E%3C%2FOL%3E%3CP%3E%E5%A6%82%E8%83%BD%E5%B0%B1%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E9%85%8D%E7%BD%AE%20FRDM-IMX93%20%E4%B8%8A%20P11%20%E6%89%A9%E5%B1%95%E5%A4%B4%E7%9A%84%20GPIO%20%E5%BC%95%E8%84%9A%E6%8F%90%E4%BE%9B%E6%8C%87%E5%AF%BC%EF%BC%8C%E5%B0%86%E4%B8%8D%E8%83%9C%E6%84%9F%E6%BF%80%E3%80%82%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FP%3E%3CP%3EShanmugapriya%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2329156%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Configuring%20P11%20Expansion%20Connector%20Pin%20as%20GPIO%20on%20FRDM-IMX93%20(VS%20Code)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2329156%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%0A%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E5%AF%B9%E6%81%A9%E6%99%BA%E6%B5%A6%E5%8D%8A%E5%AF%BC%E4%BD%93%E4%BA%A7%E5%93%81%E7%9A%84%E5%85%B3%E6%B3%A8%EF%BC%8C%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Flf-6.12.y%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx93-pinfunc.h%23L33-L246%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E6%B2%A1%E9%94%99%EF%BC%8CP11%20%E8%BF%9E%E6%8E%A5%E5%99%A8%E4%B8%8A%E7%9A%84%E4%BB%BB%E4%BD%95%E5%BC%95%E8%84%9A%E9%83%BD%E5%8F%AF%E4%BB%A5%E7%94%A8%E4%BD%9C%20GPIO%EF%BC%8C%E4%BE%9B%E4%BD%A0%E5%8F%82%E8%80%83%EF%BC%8C%E4%BD%A0%E5%8F%AF%E4%BB%A5%E4%B8%8B%E8%BD%BD%20i.MX%20%E7%9A%84%E9%85%8D%E7%BD%AE%E5%B7%A5%E5%85%B7%E6%88%96%E6%9F%A5%E7%9C%8B%20pin-func.h%EF%BC%9B%3C%2FA%3E%E4%BA%86%E8%A7%A3%E6%AF%8F%E4%B8%AA%E5%BC%95%E8%84%9A%E7%9A%84%E5%A4%87%E7%94%A8%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%9C%89%E5%85%B3%E5%BC%95%E8%84%9A%E7%94%A8%E6%B3%95%EF%BC%8C%E8%AF%B7%E6%9F%A5%E7%9C%8B%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Flf-6.12.y%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx93-11x11-frdm.dts%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Eimx93-11x11-frdm.dts%3C%2FA%3E%E3%80%81%E5%8C%85%E6%8B%AC%20GPIO_IO02%20%E5%9C%A8%E5%86%85%E7%9A%84%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%BC%95%E8%84%9A%E9%83%BD%E6%B2%A1%E6%9C%89%E4%BF%9D%E7%95%99%E4%BD%BF%E7%94%A8%E6%9D%83%E9%99%90%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%82%A8%E5%8F%91%E7%8E%B0%E6%9F%90%E4%B8%AA%E5%BC%95%E8%84%9A%E5%B7%B2%E8%A2%AB%E4%BD%BF%E7%94%A8%EF%BC%8C%E5%8F%AF%E4%BB%A5%E7%9B%B8%E5%BA%94%E4%BF%AE%E6%94%B9%20DTS%EF%BC%8C%E4%BB%A5%E4%BE%BF%E5%9C%A8%20Cortex-M%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%85%B3%E4%BA%8E%E9%85%8D%E7%BD%AE%EF%BC%8C%E6%82%A8%E8%AF%B4%E5%BE%97%E6%B2%A1%E9%94%99%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%9C%A8%E9%9C%80%E8%A6%81%E6%97%B6%E6%B7%BB%E5%8A%A0%20IOMUXC_PAD_FSEL1%E3%80%81IOMUXC_PAD_PD_MASK%20%E7%AD%89%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%BF%99%E6%98%AF%E4%B8%80%E6%AE%B5%E5%9C%A8%20i.MX%2093%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20GPIO%20%E7%9A%84%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81%E3%80%82%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3Eint%20main(void)%0A%7B%0A%20%20%20%20%2F*%20Define%20the%20init%20structure%20for%20the%20output%20LED%20pin*%2F%0A%20%20%20%20rgpio_pin_config_t%20led_config%20%3D%20%7B%0A%20%20%20%20%20%20%20%20kRGPIO_DigitalOutput%2C%0A%20%20%20%20%20%20%20%200%2C%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20%2F*%20Board%20pin%2C%20clock%2C%20debug%20console%20init%20*%2F%0A%20%20%20%20BOARD_InitHardware()%3B%0A%0A%20%20%20%20%2F*%20Print%20a%20note%20to%20terminal.%20*%2F%0A%20%20%20%20PRINTF(%22%5Cr%5Cn%20RGPIO%20Driver%20example%5Cr%5Cn%22)%3B%0A%20%20%20%20PRINTF(%22%5Cr%5Cn%20The%20LED%20is%20taking%20turns%20to%20shine.%5Cr%5Cn%22)%3B%0A%0A%20%20%20%20%2F*%20Init%20output%20LED%20GPIO.%20*%2F%0A%20%20%20%20RGPIO_PinInit(BOARD_LED_RGPIO%2C%20BOARD_LED_RGPIO_PIN%2C%20%26amp%3Bled_config)%3B%0A%0A%20%20%20%20while%20(1)%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20SDK_DelayAtLeastUs(1000000U%2C%20SystemCoreClock)%3B%0A%20%20%20%20%20%20%20%20RGPIO_PortToggle(BOARD_LED_RGPIO%2C%201u%20%26lt%3B%26lt%3B%20BOARD_LED_RGPIO_PIN)%3B%0A%20%20%20%20%7D%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%E6%AD%A4%E8%87%B4%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2331110%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Configuring%20P11%20Expansion%20Connector%20Pin%20as%20GPIO%20on%20FRDM-IMX93%20(VS%20Code)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2331110%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%9B%9E%E5%A4%8D%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E6%9F%A5%E7%9C%8B%E4%BA%86%20pin-func.h%E6%96%87%E4%BB%B6%E5%92%8C%E5%85%B1%E4%BA%AB%E9%93%BE%E6%8E%A5%E4%B8%AD%E7%9A%84%E8%AE%BE%E5%A4%87%E6%A0%91%E3%80%82%E9%92%88%E8%84%9A%20GPIO2%20%E4%B8%8E%E6%89%A9%E5%B1%95%E8%BF%9E%E6%8E%A5%E5%99%A8%E4%B8%8A%E7%9A%84%E9%92%88%E8%84%9A%203%20%E7%9B%B8%E5%AF%B9%E5%BA%94%EF%BC%8C%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%A9%BA%E9%97%B2%E7%9A%84%EF%BC%8C%E9%BB%98%E8%AE%A4%E9%85%8D%E7%BD%AE%E4%B8%BA%20GPIO%E3%80%82%20%3C%2FP%3E%3CP%3E%E7%94%B1%E4%BA%8E%E8%AF%A5%E5%BC%95%E8%84%9A%E5%9C%A8%20pin-func.h%20%E4%B8%AD%E5%AE%9A%E4%B9%89%E4%BD%86%E4%B8%8D%E5%AD%98%E5%9C%A8%E4%BA%8E%E8%AE%BE%E5%A4%87%E6%A0%91%E4%B8%AD%EF%BC%8C%E6%88%91%E7%A1%AE%E8%AE%A4%20Linux%20%E7%9B%AE%E5%89%8D%E6%B2%A1%E6%9C%89%E4%BD%BF%E7%94%A8%E5%AE%83%EF%BC%8C%E5%AE%83%E5%BA%94%E8%AF%A5%E5%8F%AF%E7%94%A8%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E5%AF%B9%E8%AF%A5%E5%BC%95%E8%84%9A%E8%BF%9B%E8%A1%8C%E4%BA%86%E9%85%8D%E7%BD%AE%EF%BC%8C%E5%B9%B6%E5%B0%9D%E8%AF%95%E5%86%99%E5%85%A5%E6%95%B0%E5%80%BC%201%20%E5%92%8C%200%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E8%AF%BB%E5%9B%9E%E3%80%82%E4%BD%86%E6%98%AF%EF%BC%8C%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%E6%80%BB%E6%98%AF%E8%BF%94%E5%9B%9E%200%E3%80%82%3C%2FP%3E%3CP%3E%E4%B8%BA%E4%BA%86%E4%BE%9B%E4%BD%A0%E5%8F%82%E8%80%83%EF%BC%8C%E6%88%91%E9%99%84%E4%B8%8A%E4%BA%86%E6%9D%BF%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%EF%BC%8C%E5%8D%B3%20main.c%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E8%A7%82%E5%AF%9F%E5%88%B0%E7%9A%84%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%E3%80%82%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3E%23ifndef%20_BOARD_US%3C%2FSPAN%3E%20%3CSPAN%3EER_PINS_H_%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23define%20_BOARD_US%3C%2FSPAN%3E%20%3CSPAN%3EER_PINS_H_%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F*%20--------------------------------------------------------------------------%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%20FRDM-i.MX93%20%E4%B8%8A%E7%9A%84%20ADS1235%20START%20%E5%BC%95%E8%84%9A%E6%98%A0%E5%B0%84%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%20%E7%84%8A%E7%9B%98%20%3A%20GPIO_IO02%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%20gpio%20%3A%20gpio2_io02%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%20--------------------------------------------------------------------------*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%20%3CSPAN%3Eads1235_start_gpio%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%3C%2FSPAN%3E%3CSPAN%3EGPIO2%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%20%3CSPAN%3Eads1235_start_pin%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3E2U%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%20%3CSPAN%3EBOARD_ConfigUserPins%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%20%3CSPAN%3EBOARD_InitUserPins%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%23endif%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22fsl_iomuxc.h%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22board_user_pins.h%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22fsl_rgpio.h%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%2F*%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%20%E9%85%8D%E7%BD%AE%E4%B8%8D%E5%B1%9E%E4%BA%8E%20SDK%20%E5%BC%95%E8%84%9A%E5%B7%A5%E5%85%B7%E7%9A%84%E7%94%A8%E6%88%B7%E7%89%B9%E5%AE%9A%E5%BC%95%E8%84%9A%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%20%3CSPAN%3EBOARD_ConfigUserPins%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%3CSPAN%3E)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%2F*%20%E5%B0%86%20GPIO_IO02%20%E9%85%8D%E7%BD%AE%E4%B8%BA%20GPIO2_IO02%EF%BC%88ADS1235%20START%20%E5%BC%95%E8%84%9A%EF%BC%89%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3EIOMUXC_SetPinMux%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3EIOMUXC_PAD_GPIO_IO02__GPIO2_IO02%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E0U%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3EIOMUXC_SetPinConfig%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3EIOMUXC_PAD_GPIO_IO02__GPIO2_IO02%3C%2FSPAN%3E%3CSPAN%3E%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3EIOMUXC_PAD_DSE%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E15U%3C%2FSPAN%3E%3CSPAN%3E)%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%2F*%20%E9%A9%B1%E5%8A%A8%E5%BC%BA%E5%BA%A6%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F*%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%20%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%8D%E5%B1%9E%E4%BA%8E%20SDK%20%E5%BC%95%E8%84%9A%E5%B7%A5%E5%85%B7%E7%9A%84%E7%94%A8%E6%88%B7%E7%89%B9%E5%AE%9A%E5%BC%95%E8%84%9A%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%20%3CSPAN%3EBOARD_InitUserPins%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%3CSPAN%3E)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3Ergpio_pin_config_t%3C%2FSPAN%3E%20%3CSPAN%3Ecfg%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20.%3C%2FSPAN%3E%3CSPAN%3E%E5%BC%95%E8%84%9A%E6%96%B9%E5%90%91%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3EkRGPIO_DigitalOutput%3C%2FSPAN%3E%3CSPAN%3E%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20.%3C%2FSPAN%3E%3CSPAN%3E%E8%BE%93%E5%87%BA%E9%80%BB%E8%BE%91%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3E0U%3C%2FSPAN%3E%3CSPAN%3E%2C%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20%E7%A9%BA%E9%97%B2%E4%BD%8E%E7%94%B5%E5%B9%B3%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3ERGPIO_PinInit%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Eads1235_start_gpio%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3Eads1235_start_pin%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%3CSPAN%3Ecfg%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3E%2F*%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%202017%20%E6%81%A9%E6%99%BA%E6%B5%A6%E7%89%88%E6%9D%83%E6%89%80%E6%9C%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%20%E4%BF%9D%E7%95%99%E6%89%80%E6%9C%89%E6%9D%83%E5%88%A9%E3%80%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%20SPDX%20%E8%AE%B8%E5%8F%AF%E8%AF%81%E6%A0%87%E8%AF%86%E7%AC%A6%EF%BC%9ABSD-3%20%E6%9D%A1%E6%AC%BE%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22fsl_device_registers.h%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22fsl_debug_console.h%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22fsl_lpspi.h%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22%E6%9D%BF.h%3C%2FSPAN%3E%20%22%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22app.h%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22pin_mux.h%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22clock_config.h%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22fsl_rgpio.h%22%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20%E5%BF%85%E8%A6%81%E6%97%B6%E7%94%A8%E4%BA%8E%20DRDY%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22ads1235.h%22%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2FADS1235%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22spi3.h%22%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2FSPI3%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22board_user_pins.h%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23include%3C%2FSPAN%3E%20%3CSPAN%3E%22weighing.h%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%2F*******************************************************************************%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%20%E5%AE%9A%E4%B9%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E******************************************************************************%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%3CSPAN%3E%20TRANSFER_SIZE%3C%2FSPAN%3E%3CSPAN%3E%3C%2FSPAN%3E%3CSPAN%3E%203U%3C%2FSPAN%3E%3CSPAN%3E%20%2F*!%20%E4%BC%A0%E8%BE%93%E6%95%B0%E6%8D%AE%E5%A4%A7%E5%B0%8F%20*%2F%20%2F%2FADS1235%20%E6%98%AF%E4%B8%80%E4%B8%AA%2024%20%E4%BD%8D%20ADC%20%EF%BC%8C%E6%89%80%E4%BB%A5%203%20%E5%AD%97%E8%8A%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%20%3CSPAN%3E%E4%BC%A0%E8%BE%93%E6%B3%A2%E7%89%B9%E7%8E%87%3C%2FSPAN%3E%20%3CSPAN%3E500000U%3C%2FSPAN%3E%3CSPAN%3E%2F*!%E4%BC%A0%E8%BE%93%E6%B3%A2%E7%89%B9%E7%8E%87%20-%20500k%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%2F*%20SPI3%20%E5%AE%9E%E4%BE%8B%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%20%3CSPAN%3Eexample_lpspi_master_baseaddr%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3ELPSPI3%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%20%3CSPAN%3Eexample_lpspi_master_pcs_for_init%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%3C%2FSPAN%3E%3CSPAN%3EkLPSPI_Pcs0%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%20%3CSPAN%3Eexample_lpspi_master_pcs_for_transfer%3C%2FSPAN%3E%20%3CSPAN%3EkLPSPI_MasterPcs0%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%2F*******************************************************************************%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%20%E5%8F%98%E9%87%8F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E******************************************************************************%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Euint8_t%3C%2FSPAN%3E%20%3CSPAN%3EadcTxCmd%3C%2FSPAN%3E%3CSPAN%3E%5B%3C%2FSPAN%3E%3CSPAN%3E1%3C%2FSPAN%3E%3CSPAN%3E%5D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Euint8_t%3C%2FSPAN%3E%20%3CSPAN%3EadcRxData%3C%2FSPAN%3E%3CSPAN%3E%5B%3C%2FSPAN%3E%3CSPAN%3ETRANSFER_SIZE%3C%2FSPAN%3E%3CSPAN%3E%5D%20%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3CSPAN%3E0%3C%2FSPAN%3E%3CSPAN%3E%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3Euint8_t%3C%2FSPAN%3E%20%3CSPAN%3E%E4%B8%BB%20RxData%3C%2FSPAN%3E%3CSPAN%3E%5B%3C%2FSPAN%3E%3CSPAN%3ETRANSFER_SIZE%3C%2FSPAN%3E%3CSPAN%3E%5D%20%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3CSPAN%3E0U%3C%2FSPAN%3E%3CSPAN%3E%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Euint8_t%3C%2FSPAN%3E%20%3CSPAN%3EmasterTxData%3C%2FSPAN%3E%3CSPAN%3E%5B%3C%2FSPAN%3E%3CSPAN%3ETRANSFER_SIZE%3C%2FSPAN%3E%3CSPAN%3E%5D%20%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3CSPAN%3E0U%3C%2FSPAN%3E%3CSPAN%3E%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F*******************************************************************************%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E*%20%E4%B8%BB%E8%A6%81%20%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E******************************************************************************%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eint%3C%2FSPAN%3E%20%3CSPAN%3Emain%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%3CSPAN%3E)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%3C%2FSPAN%3E%3CSPAN%3Eb%3C%2FSPAN%3E%3CSPAN%3E%20oard_initBootPins()%3B%3C%2FSPAN%3E%3CSPAN%3E%20%2F*%20%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%BB%E6%9D%BF%E5%BC%95%E8%84%9A%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3EBOARD_InitBootClocks%3C%2FSPAN%3E%3CSPAN%3E()%3B%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20%E5%88%9D%E5%A7%8B%E5%8C%96%E6%97%B6%E9%92%9F%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3EBOARD_InitDebugConsole%3C%2FSPAN%3E%3CSPAN%3E()%3B%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20%E5%88%9D%E5%A7%8B%E5%8C%96%E8%B0%83%E8%AF%95%20UART%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E%22%3C%2FSPAN%3E%3CSPAN%3E%5Cr%5Cn%3C%2FSPAN%3E%3CSPAN%3EADS1235%20SPI%20%E6%B5%8B%E8%AF%95%3C%2FSPAN%3E%3CSPAN%3E%5Cr%5Cn%3C%2FSPAN%3E%3CSPAN%3E%22%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3ECLOCK_EnableClock%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3EkCLOCK_Gpio1%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3EBOARD_ConfigUserPins%3C%2FSPAN%3E%3CSPAN%3E()%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3EBOARD_InitUserPins%3C%2FSPAN%3E%3CSPAN%3E()%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3ESPI3_Init%3C%2FSPAN%3E%3CSPAN%3E()%3B%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%20%20%20%2F%2F%20%E5%90%AF%E5%8A%A8%20SPI%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3Euint8_t%3C%2FSPAN%3E%20%3CSPAN%3Etx%3C%2FSPAN%3E%3CSPAN%3E%5B%3C%2FSPAN%3E%3CSPAN%3E3%3C%2FSPAN%3E%3CSPAN%3E%5D%20%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3CSPAN%3E0xAA%3C%2FSPAN%3E%3CSPAN%3E%2C%3C%2FSPAN%3E%3CSPAN%3E0x55%3C%2FSPAN%3E%3CSPAN%3E%2C%3C%2FSPAN%3E%3CSPAN%3E0xFF%3C%2FSPAN%3E%3CSPAN%3E%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3Euint8_t%3C%2FSPAN%3E%20%3CSPAN%3Erx%3C%2FSPAN%3E%3CSPAN%3E%5B%3C%2FSPAN%3E%3CSPAN%3E3%3C%2FSPAN%3E%3CSPAN%3E%5D%20%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3CSPAN%3E0%3C%2FSPAN%3E%3CSPAN%3E%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3Elpspi_transfer_t%3C%2FSPAN%3E%20%3CSPAN%3E%E4%BC%A0%E8%BE%93%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3E%E8%BD%AC%E7%A7%BB%3C%2FSPAN%3E%3CSPAN%3E.%3C%2FSPAN%3E%3CSPAN%3EtxData%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3Etx%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3E%E8%BD%AC%E7%A7%BB%3C%2FSPAN%3E%3CSPAN%3E.%3C%2FSPAN%3E%3CSPAN%3ErxData%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3Erx%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3E%E8%BD%AC%E7%A7%BB%3C%2FSPAN%3E%3CSPAN%3E.%3C%2FSPAN%3E%3CSPAN%3E%E6%95%B0%E6%8D%AE%E5%A4%A7%E5%B0%8F%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3E3%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3E%E8%BD%AC%E7%A7%BB%3C%2FSPAN%3E%3CSPAN%3E.%3C%2FSPAN%3E%3CSPAN%3EconfigFlags%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3EkLPSPI_MasterPcs0%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3ELPSPI_MasterTransferBlocking%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3ELPSPI3%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%3CSPAN%3E%E4%BC%A0%E8%BE%93%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E%22SPI%20TEST%20RX%EF%BC%9A%20%3C%2FSPAN%3E%3CSPAN%3E%2502X%3C%2FSPAN%3E%20%3CSPAN%3E%2502X%3C%2FSPAN%3E%20%3CSPAN%3E%2502X%3C%2FSPAN%3E%3CSPAN%3E%5C(%22%22)(%22)(%22)%3C%2FSPAN%3E%3CSPAN%3E%22%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3Erx%3C%2FSPAN%3E%3CSPAN%3E%5B%3C%2FSPAN%3E%3CSPAN%3E0%3C%2FSPAN%3E%3CSPAN%3E%5D%2C%20%3C%2FSPAN%3E%3CSPAN%3Erx%3C%2FSPAN%3E%3CSPAN%3E%5B%3C%2FSPAN%3E%3CSPAN%3E1%3C%2FSPAN%3E%3CSPAN%3E%5D%2C%20%3C%2FSPAN%3E%3CSPAN%3Erx%3C%2FSPAN%3E%3CSPAN%3E%5B%3C%2FSPAN%3E%3CSPAN%3E2%3C%2FSPAN%3E%3CSPAN%3E%5D)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3E%E8%99%BD%E7%84%B6%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E1%3C%2FSPAN%3E%3CSPAN%3E)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%7B%20%20%20%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%2F*%20%E5%86%99%E5%85%A5%E9%AB%98%E7%94%B5%E5%B9%B3%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3ERGPIO_PinWrite%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Eads1235_start_gpio%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3Eads1235_start_pin%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E1U%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E%22%E5%90%AF%E5%8A%A8%E5%BC%95%E8%84%9A%E7%8A%B6%E6%80%81%EF%BC%88%E9%AB%98%E7%94%B5%E5%B9%B3%EF%BC%89%EF%BC%9A%20%3C%2FSPAN%3E%3CSPAN%3E%25d%3C%2FSPAN%3E%3CSPAN%3E%5C%E9%AB%98%E7%94%B5%E5%B9%B3%3C%2FSPAN%3E%3CSPAN%3E%22%3C%2FSPAN%3E%3CSPAN%3E%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3ERGPIO_PinRead%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Eads1235_start_gpio%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3Eads1235_start_pin%3C%2FSPAN%3E%3CSPAN%3E))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3ESDK_DelayAtLeastUs%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E500000%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E%E7%B3%BB%E7%BB%9F%E6%A0%B8%E5%BF%83%E6%97%B6%E9%92%9F%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%2F*%20%E5%86%99%E5%85%A5%E4%BD%8E%E7%94%B5%E5%B9%B3%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3ERGPIO_PinWrite%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Eads1235_start_gpio%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3Eads1235_start_pin%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E0U%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E%22%E5%90%AF%E5%8A%A8%E5%BC%95%E8%84%9A%E7%8A%B6%E6%80%81%EF%BC%88%E4%BD%8E%E7%94%B5%E5%B9%B3%EF%BC%89%EF%BC%9A%20%3C%2FSPAN%3E%3CSPAN%3E%25d%3C%2FSPAN%3E%3CSPAN%3E%5C(%E4%BD%8E%E7%94%B5%E5%B9%B3)%3C%2FSPAN%3E%3CSPAN%3E%22%3C%2FSPAN%3E%3CSPAN%3E%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3ERGPIO_PinRead%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Eads1235_start_gpio%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3Eads1235_start_pin%3C%2FSPAN%3E%3CSPAN%3E))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%3C%2FSPAN%3E%3CSPAN%3ESDK_DelayAtLeastUs%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E500000%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E%E7%B3%BB%E7%BB%9F%E6%A0%B8%E5%BF%83%E6%97%B6%E9%92%9F%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%26nbsp%3B%3C%2FDIV%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E