eldarkg / emdr1986x-std-per-lib

Milandr MCU 1986x Standard Peripherals Library. Mirror:
https://code.launchpad.net/~eldar/emdr1986x-std-per-lib/+git/emdr1986x-std-per-lib
47 stars 28 forks source link

CAN - (uint32_t) в макросах ломает препроцессор #52

Closed alexrayne closed 5 years ago

alexrayne commented 5 years ago

Привет! в макросах SPL MDR32F9Qx по делу и без вставляется приведение к типу (uint32_t). в результате такая константа не может обрабатываться препроцессором в директивах #if пример: MDR32F9Qx_can.h:379:

define CAN_BUFFER_NUMBER ((uint32_t)32)

макро CAN_BUFFER_NUMBER невозможно использовать в: #if ( CAN_CONNECTIONS_LIMIT > (CAN_BUFFER_NUMBER /2) )

eldarkg commented 5 years ago

@alexrayne Привет. Попробуйте до макроса #if указать следующее:

#include <stdint.h>
alexrayne commented 5 years ago

Эльдар, препроцессор не понимает типов С вообще. у вас это работает? на каком компиляторе?

eldarkg commented 5 years ago

@alexrayne Извиняюсь. Исправил