-2

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

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

我也得到了这个^^和另一个别针写

这是通过删除定义后面的分号来解决的

我不特别知道如何制作 gpio pinWrite,但我复制了 baremetal 函数示例中的那个。

这是我的任务,我正在使用 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 pin 上发送信号

4

1 回答 1

1

FreeRTOS 是一种 RTOS 抽象——它与处理 gpio 无关。

#define led SEMC_D12;
#define led_pin GPIO_EMC_34;

无效。;宏定义后应该没有。因为有;,编译器看到:

GPIO_PinWrite(SEMC_D12;, GPIO_EMC_34;, 0u)

并存在编译错误。

MCUXpresso SDK API 参考手册说:

static void GPIO_PinWrite(GPIO_Type *base、uint32_t 端口、uint32_t 引脚、uint8_t 输出)

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

于 2019-09-04T12:08:36.587 回答