ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
10 июля
298173
Юрий_СВ (10.01.2012 23:02, просмотров: 7556)
Перекидываю кусок работающей программы из WinAVR в IAR под STM32. Сколько не насиловал define - не насилуется. Как бы это (define) решить малой кровью ? В WinAVR работало такое: #define TEMP_VAL(x) ((unsigned int) ( ( (60.0 / ((float)x) ) / 16.0) / (1.0/F_SAMPLE)) ) #define TEMP(x) { (MN_TEMP|(TEMP_VAL(x)>>8)), TEMP_VAL(x) } typedef const struct { unsigned char tone; // unsigned char len; // } Melody; // Melody MY_logo[] = { TEMP(150), {MN_4_G, ND_1_8}, {MN_4_Fd, ND_1_8} } ========================================= Ругается на TEMP(150), вроде, на преобразование типов от плавающей точки к бесчисленному целому.