LINUX.ORG.RU

История изменений

Исправление 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. Хотя может я реально чего-то не понимаю.