Чето лыжи не едут. Какой то странны глюк с гцц usart4.C: "main.h" "usart4.h" "IO.h" "string.h" "stm32f1xx.h" QueueHandle_t USART4_In; QueueHandle_t USART4_Out; USE_RS485_UART4 .... все хидеры ртоски сунуты в main.h пытаюсь QueueHandle_t USART4_In; QueueHandle_t USART4_Out; утащить в хидер "usart4.h" компилятор перестает видеть типы ртоса на них QueueHandle_t при этом ТОЧНО такая же херня в другом файле работает с какого хера отвалилась видимость хидеров ртоса?

Комментарии: 10

  1. Tiny

    Определение USART4_In в хэдер перенести?

    • Anonim

      да это очередь которая видна должна быть по всему проекту где подключен усарт

      • Cyberzx

        ну ещё если это Си, то нужно писать struct QueueHandle_t

      • Tiny

        Ну глобальные переменные в хэдере это моветон

        • Anonim

          экстернами их тащить куда более мудово

          • Cyberzx

            а в хедере extern?

            • Anonim

              нет проблема то не в том где и как. А в том что он сука тип не видит

              • Tiny

                Вообще странно, вроде работать должно, ошибка именно при компиляции usart4.C вылазит?

                • Anonim

                  причем только в этом модуле. В остальных видит Вот, например, хидер степпера void Stepper_Init(void); void st_MotorON(void); void st_MotorOFF(void); QueueHandle_t qMotorR,qMotorL,qMotorF,qMotorB,qMotorS; SemaphoreHandle_t StopMotorR,StopMotorL,StopMotorF,StopMotorB,StopMotorS; SemaphoreHandle_t OK_MotorR,OK_MotorL,OK_MotorF,OK_MotorB,OK_MotorS; и его сишник "main.h" "stepper.h" все видится а в уартовском нет

                  • Cyberzx

                    ну надо смотреть что получается после препроцесора

Не нашли ответ?

Вам также может быть интересно