ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
919408 Топик полностью
Nikolay_Po (04.05.2019 21:27 - 21:29, просмотров: 179) ответил VLLV на Попозже. Но в коде (достался по наследству) есть примечание "IAR 6.60.02 берет не указатель, а значение". Т.е. я не придумал. Использую 7.80.
Попробуйте так: typedef union { //Storage union for uint32_t byte access uint32_t Value; //32-bit value in native form uint8_t Bytes[sizeof(uint32_t)]; //32-bit value as a byte array }my_const_t; volatile const my_const_t my_const = {0xDEADC0DE}; Вызов: return CRC(my_const.Bytes,4); Проверил, в XC16 компилируется без предупреждений. Компилятор не виноват. В приведённом примере у компилятора есть информация о размере данных под указателем Bytes. Соответственно, будет меньше поползновений оптимизировать массив (указатель) до значения.