Пишу в IAR под STM32F7 на HAL
Проблема в следующем, есть код в майн
Код
#define ADS131_1_PIN_CS_OFF HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET)
#define ADS131_1_PIN_CS_ON HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET)
.
.
ADS131_1_Command(0X11);
ADS131_1_SetConfig();
.
.
void ADS131_1_Command(uint8_t vd)
{
uint8_t data;
ADS131_1_PIN_CS_ON;
HAL_SPI_TransmitReceive(&hspi1, &vd, &data, sizeof(data), 0x1);
ADS131_1_PIN_CS_OFF;
}
#define ADS131_1_PIN_CS_ON HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET)
.
.
ADS131_1_Command(0X11);
ADS131_1_SetConfig();
.
.
void ADS131_1_Command(uint8_t vd)
{
uint8_t data;
ADS131_1_PIN_CS_ON;
HAL_SPI_TransmitReceive(&hspi1, &vd, &data, sizeof(data), 0x1);
ADS131_1_PIN_CS_OFF;
}
Он работает и микросхема команду правильно воспринимает
Стоит мне перенести строки
#define ADS131_1_PIN_CS_OFF HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET)
#define ADS131_1_PIN_CS_ON HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET)
в отдельный файл port_def.h
Код
#ifndef __PORTS_H
#define __PORTS_H
#define ADS131_1_PIN_CS_ON HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET)
#define ADS131_1_PIN_CS_OFF HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET)
#endif
#define __PORTS_H
#define ADS131_1_PIN_CS_ON HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET)
#define ADS131_1_PIN_CS_OFF HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET)
#endif
Код компилируется, проект собирается, но Код перестаёт работать. Верней работает, но микросхема на него не реагирует, хотя в ассемблере эта функция выглядит также.
Не пойму что не так? Заранее спасибо.