ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 июля
1205125 Топик полностью
alho (02.05.2022 17:23, просмотров: 248) ответил Moлoдoй кoллeгa на Односвязный список инициализируется в цикле и всё с этим хорошо. Решил положить этот список во флеш ибо ОЗУ всего 2K. 40 элементов списка я устану заполнять ручками. Есть варианты "автоматизации" инициализации массива структур при обьявлении? Можно препроцессор как-то использовать?
Раньше было лучше.. Никто не ленился. А тут 40 элементов лень заполнить 
(Всё не лезет)
.......
__flash const struct _glyph gl_afii10045 = { 14, //width 12, //BBw 11, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xC0, 0x30, // |** ** | 0xC0, 0x30, // |** ** | 0xC0, 0x30, // |** ** | 0xC0, 0x30, // |** ** | 0xC0, 0x30, // |** ** | 0xFE, 0x30, // |******* ** | 0xC7, 0x30, // |** *** ** | 0xC3, 0x30, // |** ** ** | 0xC3, 0x30, // |** ** ** | 0xC7, 0x30, // |** *** ** | 0xFE, 0x30, // |******* ** | } }; __flash const struct _glyph gl_afii10046 = { 10, //width 8, //BBw 11, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xC0, // |** | 0xC0, // |** | 0xC0, // |** | 0xC0, // |** | 0xC0, // |** | 0xFE, // |******* | 0xC7, // |** ***| 0xC3, // |** **| 0xC3, // |** **| 0xC7, // |** ***| 0xFE, // |******* | } }; __flash const struct _glyph gl_afii10047 = { 11, //width 9, //BBw 11, //BBh 1, //BBxoff0x 0, //BByoff0y { 0x7C, 0x00, // | ***** | 0xEF, 0x00, // |*** **** | 0x83, 0x00, // |* ** | 0x01, 0x80, // | ** | 0x01, 0x80, // | ** | 0x1F, 0x80, // | ****** | 0x01, 0x80, // | ** | 0x01, 0x80, // | ** | 0x83, 0x00, // |* ** | 0xEF, 0x00, // |*** **** | 0x7C, 0x00, // | ***** | } }; __flash const struct _glyph gl_afii10048 = { 15, //width 13, //BBw 11, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xC3, 0xE0, // |** ***** | 0xC6, 0x30, // |** ** ** | 0xC6, 0x30, // |** ** ** | 0xCC, 0x18, // |** ** ** | 0xCC, 0x18, // |** ** ** | 0xFC, 0x18, // |****** ** | 0xCC, 0x18, // |** ** ** | 0xCC, 0x18, // |** ** ** | 0xC6, 0x30, // |** ** ** | 0xC6, 0x30, // |** ** ** | 0xC3, 0xE0, // |** ***** | } }; __flash const struct _glyph gl_afii10049 = { 10, //width 9, //BBw 11, //BBh 0, //BBxoff0x 0, //BByoff0y { 0x3F, 0x80, // | ******* | 0x71, 0x80, // | *** ** | 0x61, 0x80, // | ** ** | 0x61, 0x80, // | ** ** | 0x71, 0x80, // | *** ** | 0x3F, 0x80, // | ******* | 0x61, 0x80, // | ** ** | 0x61, 0x80, // | ** ** | 0x61, 0x80, // | ** ** | 0x61, 0x80, // | ** ** | 0xC1, 0x80, // |** ** | } }; __flash const struct _glyph gl_afii10065 = { 8, //width 7, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0x78, // | **** | 0xCC, // |** ** | 0x0C, // | ** | 0x7C, // | ***** | 0xCC, // |** ** | 0xCC, // |** ** | 0xFC, // |****** | 0x76, // | *** ** | } }; __flash const struct _glyph gl_afii10066 = { 9, //width 7, //BBw 12, //BBh 1, //BBxoff0x 0, //BByoff0y { 0x06, // | ** | 0x3C, // | **** | 0x60, // | ** | 0xC0, // |** | 0xD8, // |** ** | 0xEC, // |*** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0x6C, // | ** ** | 0x38, // | *** | } }; __flash const struct _glyph gl_afii10067 = { 9, //width 7, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xFC, // |****** | 0xC6, // |** ** | 0xC6, // |** ** | 0xFC, // |****** | 0xCE, // |** *** | 0xC6, // |** ** | 0xC6, // |** ** | 0xFC, // |****** | } }; __flash const struct _glyph gl_afii10068 = { 7, //width 6, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xFC, // |****** | 0xC0, // |** | 0xC0, // |** | 0xC0, // |** | 0xC0, // |** | 0xC0, // |** | 0xC0, // |** | 0xC0, // |** | } }; __flash const struct _glyph gl_afii10069 = { 9, //width 9, //BBw 10, //BBh 0, //BBxoff0x -2, //BByoff0y { 0x3F, 0x00, // | ****** | 0x33, 0x00, // | ** ** | 0x33, 0x00, // | ** ** | 0x33, 0x00, // | ** ** | 0x33, 0x00, // | ** ** | 0x63, 0x00, // | ** ** | 0x63, 0x00, // | ** ** | 0xFF, 0x80, // |********* | 0xC1, 0x80, // |** ** | 0xC1, 0x80, // |** ** | } }; __flash const struct _glyph gl_afii10070 = { 8, //width 6, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0x78, // | **** | 0xCC, // |** ** | 0xCC, // |** ** | 0xFC, // |****** | 0xC0, // |** | 0xC0, // |** | 0xEC, // |*** ** | 0x78, // | **** | } }; __flash const struct _glyph gl_afii10072 = { 10, //width 10, //BBw 8, //BBh 0, //BBxoff0x 0, //BByoff0y { 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0x6D, 0x80, // | ** ** ** | 0x3F, 0x00, // | ****** | 0x3F, 0x00, // | ****** | 0x6D, 0x80, // | ** ** ** | 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | } }; __flash const struct _glyph gl_afii10073 = { 9, //width 7, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0x7C, // | ***** | 0xC6, // |** ** | 0x06, // | ** | 0x3C, // | **** | 0x0E, // | *** | 0x06, // | ** | 0xC6, // |** ** | 0x7C, // | ***** | } }; __flash const struct _glyph gl_afii10074 = { 9, //width 7, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xC6, // |** ** | 0xCE, // |** *** | 0xCE, // |** *** | 0xD6, // |** * ** | 0xD6, // |** * ** | 0xE6, // |*** ** | 0xE6, // |*** ** | 0xC6, // |** ** | } }; __flash const struct _glyph gl_afii10075 = { 9, //width 7, //BBw 11, //BBh 1, //BBxoff0x 0, //BByoff0y { 0x28, // | * * | 0x38, // | *** | 0x00, // | | 0xC6, // |** ** | 0xCE, // |** *** | 0xCE, // |** *** | 0xD6, // |** * ** | 0xD6, // |** * ** | 0xE6, // |*** ** | 0xE6, // |*** ** | 0xC6, // |** ** | } }; __flash const struct _glyph gl_afii10076 = { 8, //width 6, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xCC, // |** ** | 0xD8, // |** ** | 0xF0, // |**** | 0xF0, // |**** | 0xD8, // |** ** | 0xD8, // |** ** | 0xCC, // |** ** | 0xCC, // |** ** | } }; __flash const struct _glyph gl_afii10077 = { 9, //width 8, //BBw 8, //BBh 0, //BBxoff0x 0, //BByoff0y { 0x3F, // | ******| 0x33, // | ** **| 0x33, // | ** **| 0x33, // | ** **| 0x33, // | ** **| 0x33, // | ** **| 0x33, // | ** **| 0xE3, // |*** **| } }; __flash const struct _glyph gl_afii10078 = { 12, //width 10, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xC0, 0xC0, // |** ** | 0xE1, 0xC0, // |*** *** | 0xF3, 0xC0, // |**** **** | 0xD2, 0xC0, // |** * * ** | 0xDE, 0xC0, // |** **** ** | 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xC0, 0xC0, // |** ** | } }; __flash const struct _glyph gl_afii10079 = { 9, //width 7, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xFE, // |******* | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | } }; __flash const struct _glyph gl_afii10080 = { 9, //width 7, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0x38, // | *** | 0x6C, // | ** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0x6C, // | ** ** | 0x38, // | *** | } }; __flash const struct _glyph gl_afii10081 = { 9, //width 7, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xFE, // |******* | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | } }; __flash const struct _glyph gl_afii10082 = { 9, //width 7, //BBw 11, //BBh 1, //BBxoff0x -3, //BByoff0y { 0xD8, // |** ** | 0xEC, // |*** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xEC, // |*** ** | 0xF8, // |***** | 0xC0, // |** | 0xC0, // |** | 0xC0, // |** | } }; __flash const struct _glyph gl_afii10083 = { 8, //width 6, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0x38, // | *** | 0x7C, // | ***** | 0xC4, // |** * | 0xC0, // |** | 0xC0, // |** | 0xC4, // |** * | 0x7C, // | ***** | 0x38, // | *** | } }; __flash const struct _glyph gl_afii10084 = { 8, //width 8, //BBw 8, //BBh 0, //BBxoff0x 0, //BByoff0y { 0xFF, // |********| 0x18, // | ** | 0x18, // | ** | 0x18, // | ** | 0x18, // | ** | 0x18, // | ** | 0x18, // | ** | 0x18, // | ** | } }; __flash const struct _glyph gl_afii10085 = { 8, //width 8, //BBw 11, //BBh 0, //BBxoff0x -3, //BByoff0y { 0xC3, // |** **| 0xC3, // |** **| 0x66, // | ** ** | 0x66, // | ** ** | 0x24, // | * * | 0x3C, // | **** | 0x18, // | ** | 0x18, // | ** | 0x18, // | ** | 0x30, // | ** | 0x70, // | *** | } }; __flash const struct _glyph gl_afii10086 = { 14, //width 12, //BBw 14, //BBh 1, //BBxoff0x -3, //BByoff0y { 0x06, 0x00, // | ** | 0x06, 0x00, // | ** | 0x06, 0x00, // | ** | 0x3F, 0xC0, // | ******** | 0x66, 0x60, // | ** ** ** | 0xC6, 0x30, // |** ** ** | 0xC6, 0x30, // |** ** ** | 0xC6, 0x30, // |** ** ** | 0xC6, 0x30, // |** ** ** | 0x66, 0x60, // | ** ** ** | 0x3F, 0xC0, // | ******** | 0x06, 0x00, // | ** | 0x06, 0x00, // | ** | 0x06, 0x00, // | ** | } }; __flash const struct _glyph gl_afii10087 = { 7, //width 7, //BBw 8, //BBh 0, //BBxoff0x 0, //BByoff0y { 0xC6, // |** ** | 0xC6, // |** ** | 0x6C, // | ** ** | 0x38, // | *** | 0x38, // | *** | 0x6C, // | ** ** | 0xC6, // |** ** | 0xC6, // |** ** | } }; __flash const struct _glyph gl_afii10088 = { 9, //width 8, //BBw 10, //BBh 1, //BBxoff0x -2, //BByoff0y { 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xFF, // |********| 0x03, // | **| 0x03, // | **| } }; __flash const struct _glyph gl_afii10089 = { 9, //width 7, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xC6, // |** ** | 0xC6, // |** ** | 0xC6, // |** ** | 0xE6, // |*** ** | 0x7E, // | ****** | 0x06, // | ** | 0x06, // | ** | 0x06, // | ** | } }; __flash const struct _glyph gl_afii10090 = { 12, //width 10, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xFF, 0xC0, // |********** | } }; __flash const struct _glyph gl_afii10091 = { 12, //width 11, //BBw 10, //BBh 1, //BBxoff0x -2, //BByoff0y { 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xCC, 0xC0, // |** ** ** | 0xFF, 0xE0, // |*********** | 0x00, 0x60, // | ** | 0x00, 0x60, // | ** | } }; __flash const struct _glyph gl_afii10092 = { 10, //width 9, //BBw 8, //BBh 0, //BBxoff0x 0, //BByoff0y { 0xF0, 0x00, // |**** | 0x30, 0x00, // | ** | 0x30, 0x00, // | ** | 0x3F, 0x00, // | ****** | 0x33, 0x80, // | ** *** | 0x31, 0x80, // | ** ** | 0x31, 0x80, // | ** ** | 0x3F, 0x00, // | ****** | } }; __flash const struct _glyph gl_afii10093 = { 13, //width 11, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xC0, 0x60, // |** ** | 0xC0, 0x60, // |** ** | 0xC0, 0x60, // |** ** | 0xFC, 0x60, // |****** ** | 0xCE, 0x60, // |** *** ** | 0xC6, 0x60, // |** ** ** | 0xC6, 0x60, // |** ** ** | 0xFC, 0x60, // |****** ** | } }; __flash const struct _glyph gl_afii10094 = { 9, //width 7, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xC0, // |** | 0xC0, // |** | 0xC0, // |** | 0xFC, // |****** | 0xCE, // |** *** | 0xC6, // |** ** | 0xC6, // |** ** | 0xFC, // |****** | } }; __flash const struct _glyph gl_afii10095 = { 8, //width 6, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0x70, // | *** | 0xF8, // |***** | 0x8C, // |* ** | 0x3C, // | **** | 0x0C, // | ** | 0x8C, // |* ** | 0xF8, // |***** | 0x70, // | *** | } }; __flash const struct _glyph gl_afii10096 = { 13, //width 11, //BBw 8, //BBh 1, //BBxoff0x 0, //BByoff0y { 0xC3, 0x80, // |** *** | 0xC6, 0xC0, // |** ** ** | 0xCC, 0x60, // |** ** ** | 0xFC, 0x60, // |****** ** | 0xCC, 0x60, // |** ** ** | 0xCC, 0x60, // |** ** ** | 0xC6, 0xC0, // |** ** ** | 0xC3, 0x80, // |** *** | } }; __flash const struct _glyph gl_afii10097 = { 9, //width 8, //BBw 8, //BBh 0, //BBxoff0x 0, //BByoff0y { 0x3F, // | ******| 0x63, // | ** **| 0x63, // | ** **| 0x73, // | *** **| 0x3F, // | ******| 0x63, // | ** **| 0x63, // | ** **| 0xC3, // |** **| } }; const struct _font def_font = { 221, { {32, &gl_space}, {33, &gl_exclam}, {34, &gl_quotedbl}, {35, &gl_numbersign}, {36, &gl_dollar}, {37, &gl_percent}, {38, &gl_ampersand}, {39, &gl_quotesingle}, {40, &gl_parenleft}, {41, &gl_parenright}, {42, &gl_asterisk}, {43, &gl_plus}, {44, &gl_comma}, {45, &gl_minus}, {46, &gl_period}, {47, &gl_slash}, {48, &gl_zero}, {49, &gl_one}, {50, &gl_two}, {51, &gl_three}, {52, &gl_four}, {53, &gl_five}, {54, &gl_six}, {55, &gl_seven}, {56, &gl_eight}, {57, &gl_nine}, {58, &gl_colon}, {59, &gl_semicolon}, {60, &gl_less}, {61, &gl_equal}, {62, &gl_greater}, {63, &gl_question}, {64, &gl_at}, {65, &gl_A}, {66, &gl_B}, {67, &gl_C}, {68, &gl_D}, {69, &gl_E}, {70, &gl_F}, {71, &gl_G}, {72, &gl_H}, {73, &gl_I}, {74, &gl_J}, {75, &gl_K}, {76, &gl_L}, {77, &gl_M}, {78, &gl_N}, {79, &gl_O}, {80, &gl_P}, {81, &gl_Q}, {82, &gl_R}, {83, &gl_S}, {84, &gl_T}, {85, &gl_U}, {86, &gl_V}, {87, &gl_W}, {88, &gl_X}, {89, &gl_Y}, {90, &gl_Z}, {91, &gl_bracketleft}, {92, &gl_backslash}, {93, &gl_bracketright}, {94, &gl_asciicircum}, {95, &gl_underscore}, {96, &gl_grave}, {97, &gl_a}, {98, &gl_b}, {99, &gl_c}, {100, &gl_d}, {101, &gl_e}, {102, &gl_f}, {103, &gl_g}, {104, &gl_h}, {105, &gl_i}, {106, &gl_j}, {107, &gl_k}, {108, &gl_l}, {109, &gl_m}, {110, &gl_n}, {111, &gl_o}, {112, &gl_p}, {113, &gl_q}, {114, &gl_r}, {115, &gl_s}, {116, &gl_t}, {117, &gl_u}, {118, &gl_v}, {119, &gl_w}, {120, &gl_x}, {121, &gl_y}, {122, &gl_z}, {123, &gl_braceleft}, {124, &gl_bar}, {125, &gl_braceright}, {126, &gl_asciitilde}, {128, &gl_afii10051}, {129, &gl_afii10052}, {130, &gl_quotesinglbase}, {131, &gl_afii10100}, {132, &gl_quotedblbase}, {133, &gl_ellipsis}, {134, &gl_dagger}, {135, &gl_daggerdbl}, {136, &gl_Euro}, {137, &gl_perthousand}, {138, &gl_afii10058}, {139, &gl_guilsinglleft}, {140, &gl_afii10059}, {141, &gl_afii10061}, {142, &gl_afii10060}, {143, &gl_afii10145}, {144, &gl_afii10099}, {145, &gl_quoteleft}, {146, &gl_quoteright}, {147, &gl_quotedblleft}, {148, &gl_quotedblright}, {149, &gl_bullet}, {150, &gl_endash}, {151, &gl_emdash}, {153, &gl_trademark}, {154, &gl_afii10106}, {155, &gl_guilsinglright}, {156, &gl_afii10107}, {157, &gl_afii10109}, {158, &gl_afii10108}, {159, &gl_afii10193}, {161, &gl_afii10062}, {162, &gl_afii10110}, {163, &gl_afii10057}, {164, &gl_currency}, {165, &gl_afii10050}, {166, &gl_brokenbar}, {167, &gl_section}, {168, &gl_afii10023}, {169, &gl_copyright}, {170, &gl_afii10053}, {171, &gl_guillemotleft}, {172, &gl_logicalnot}, {173, &gl_hyphen}, {174, &gl_registered}, {175, &gl_afii10056}, {176, &gl_degree}, {177, &gl_plusminus}, {178, &gl_afii10055}, {179, &gl_afii10103}, {180, &gl_afii10098}, {181, &gl_mu}, {182, &gl_paragraph}, {183, &gl_periodcentered}, {184, &gl_afii10071}, {185, &gl_afii61352}, {186, &gl_afii10101}, {187, &gl_guillemotright}, {188, &gl_afii10105}, {189, &gl_afii10054}, {190, &gl_afii10102}, {191, &gl_afii10104}, {192, &gl_afii10017}, {193, &gl_afii10018}, {194, &gl_afii10019}, {195, &gl_afii10020}, {196, &gl_afii10021}, {197, &gl_afii10022}, {198, &gl_afii10024}, {199, &gl_afii10025}, {200, &gl_afii10026}, {201, &gl_afii10027}, {202, &gl_afii10028}, {203, &gl_afii10029}, {204, &gl_afii10030}, {205, &gl_afii10031}, {206, &gl_afii10032}, {207, &gl_afii10033}, {208, &gl_afii10034}, {209, &gl_afii10035}, {210, &gl_afii10036}, {211, &gl_afii10037}, {212, &gl_afii10038}, {213, &gl_afii10039}, {214, &gl_afii10040}, {215, &gl_afii10041}, {216, &gl_afii10042}, {217, &gl_afii10043}, {218, &gl_afii10044}, {219, &gl_afii10045}, {220, &gl_afii10046}, {221, &gl_afii10047}, {222, &gl_afii10048}, {223, &gl_afii10049}, {224, &gl_afii10065}, {225, &gl_afii10066}, {226, &gl_afii10067}, {227, &gl_afii10068}, {228, &gl_afii10069}, {229, &gl_afii10070}, {230, &gl_afii10072}, {231, &gl_afii10073}, {232, &gl_afii10074}, {233, &gl_afii10075}, {234, &gl_afii10076}, {235, &gl_afii10077}, {236, &gl_afii10078}, {237, &gl_afii10079}, {238, &gl_afii10080}, {239, &gl_afii10081}, {240, &gl_afii10082}, {241, &gl_afii10083}, {242, &gl_afii10084}, {243, &gl_afii10085}, {244, &gl_afii10086}, {245, &gl_afii10087}, {246, &gl_afii10088}, {247, &gl_afii10089}, {248, &gl_afii10090}, {249, &gl_afii10091}, {250, &gl_afii10092}, {251, &gl_afii10093}, {252, &gl_afii10094}, {253, &gl_afii10095}, {254, &gl_afii10096}, {255, &gl_afii10097}, } };
Не всегда мудрость приходит с возрастом, иногда возраст приходит один...