写 gpio_pin 时,',' 前的预期主表达式

expected primary-expression before ',' when writing gpio_pin

我是 c++ 或 freertos 的新手,但我试图只使用 1 个引脚为外部 LED 供电,但我收到错误

expected primary-expression before ',' token
     GPIO_PinWrite(led, led_pin, 0u)

我也得到这个 ^^ 用另一个 pin 写

已通过删除 define

后面的分号修复此问题

我不太清楚如何制作 gpio pinWrite,但我复制了裸机功能示例中的那个。

这是我的任务,我正在使用 imxrt1050-evkb

**this is standard import by MCUXpresso**
#include <stdio.h>
#include "board.h"
#include "peripherals.h"
#include "pin_mux.h"
#include "clock_config.h"
#include "MIMXRT1052.h"
#include "fsl_debug_console.h"

**this is freeRTOS**
#include "FreeRTOSConfig.h"
#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"


#define led SEMC_D12;
#define led_pin GPIO_EMC_34;

volatile bool g_pinSet = false;


void vOnOff(void *pvParameters)
{
    while(true){
            vTaskDelay(200);
            PRINTF("Hello led\n");
            if(g_pinSet)
            {
                GPIO_PinWrite(led, led_pin, 1u);
                g_pinSet = true;
            }
            else
            {
                GPIO_PinWrite(led, led_pin, 0u);
                g_pinSet = false;
            }

}

}
int main(void) {
     gpio_pin_config_t led_config = {kGPIO_DigitalOutput, 0, kGPIO_NoIntmode};
    /* Init board hardware. */
    BOARD_InitBootPins();
    BOARD_InitBootClocks();
    BOARD_InitBootPeripherals();
    /* Init FSL debug console. */
    BOARD_InitDebugConsole();

//    GPIO_PinInit(led , led_pin , &led_config);

    xTaskCreate(
            (TaskFunction_t) vOnOff,
            "task3",
            configMINIMAL_STACK_SIZE,
            NULL,
            10,
            NULL
    );
    vTaskStartScheduler();
    return 0 ;
}

我相信这里的代码 ^^ 是我在这个例子中使用的所有好处,因为我在一个到处都是意大利面条代码的沙箱中工作

正如您在我的代码中看到的那样,我收到了 GPIO_PinInit 评论,我不知道我是否需要使用它?

我希望将信号发送到 io 引脚

FreeRTOS 是一个 RTOS 抽象 - 它与处理 gpio 无关。

#define led SEMC_D12;
#define led_pin GPIO_EMC_34;

无效。宏定义后不能有;。因为有;,编译器看到:

GPIO_PinWrite(SEMC_D12;, GPIO_EMC_34;, 0u)

存在编译错误。

MCUXpresso SDK API Reference Manual 说:

static void GPIO_PinWrite (GPIO_Type *base, uint32_t port, uint32_t pin, uint8_t output)

我猜你需要 4 个参数到 GPIO_PinWrite,而不是 3 个。