История изменений
Исправление snake266, (текущая версия) :
удивительно как раз то, что в природе есть компилятор, который жрет то, что у тебя там в исходниках было изначально
Там (в кейле) компилятор либо слишком молчаливый, либо слишком много выплевывает. Например, я собирал код компилятором 5-ой версии и в гуе выставил флаг All warnings – варнинги давал только на очевидные вещи, потом поставил 6-ой компилятор, выбрав сборку с All warnings, и он начал сыпать варнинги абсолютно на все, даже на такое:
GPIO_NAME_GPIO_Port->ODR &= ~PIN_NAME_Pin; // warning: implicit conversion int to unsigned int
Хотя PIN_NAME_Pin
это если углубиться #define GPIO_PIN_0 ((uint16_t)0x0001U)
, а GPIO_NAME_GPIO_Port
#define GPIO_NAME_GPIO_Port GPIOA
и ODR там объявлен как uint32_t. Хотя может я реально чего-то не понимаю.
Исходная версия snake266, :
удивительно как раз то, что в природе есть компилятор, который жрет то, что у тебя там в исходниках было изначально
Там (в кейле) компилятор либо слишком молчаливый, либо слишком много выплевывает. Например, я собирал код компилятором 5-ой версии и в гуе выставил флаг All warnings – варнинги сыпал только на очевидные вещи, потом поставил 6-ой компилятор, выбрав сборку с All warnings, и он начал сыпать варнинги абсолютно на все, даже на такое:
GPIO_NAME_GPIO_Port->ODR &= ~PIN_NAME_Pin; // warning: implicit conversion int to unsigned int
Хотя PIN_NAME_Pin
это если углубиться #define GPIO_PIN_0 ((uint16_t)0x0001U)
, а GPIO_NAME_GPIO_Port
#define GPIO_NAME_GPIO_Port GPIOA
и ODR там объявлен как uint32_t. Хотя может я реально чего-то не понимаю.