|
Зашивание текста в память микроконтроллера., Есть ли какой-либо более рацональный способ внесения текста в память к |
|
|
|
Sep 12 2007, 12:19
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 20-02-07
Пользователь №: 25 515

|
Всех приветствую.
Имеем AVR, работаем в асемблере в AVR Studio.
Требуется выводить на знакосинтезирующий ЖКИ небольшие объемы текста. В связи с этим вопрос, а есть какой-либо более рацональный способ внесения текста в память контроллера, чем заколачивать его руками в компиляторе?
Может глупость спрошу, но, например, есть ли средства, при помощи которых текстовый файл (или просто введенный куда-либо текст) можно былобы конвертнуть в HEX, или в BIN, и при помощи программатора зашить его в отведенную область памяти.
Спасибо всем откликнувшимся.
|
|
|
|
|
Sep 12 2007, 13:40
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(Alex2578 @ Sep 12 2007, 11:19)  ...есть ли средства, при помощи которых текстовый файл (или просто введенный куда-либо текст) можно былобы конвертнуть в HEX, или в BIN, и при помощи программатора зашить его в отведенную область памяти Можно вот так, например Код .cseg .org 0x1000 ;адрес загрузки .db "the first string",0 .db "the second string",0 . . . . . . . . . .db "the last string",0
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Sep 12 2007, 13:49
|

developer
   
Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032

|
[quote name='=GM=' date='Sep 12 2007, 17:40' post='293936'] Можно вот так, например Код .cseg .org 0x1000 ;адрес загрузки .db "the first string",0 .db "the second string",0 . . . . . . . . . .db "the last string",0 [/quote] тогда еще метки добавить, чтобы можно было обращаться к каждой строки отдельно, а не искать ее по завершающим нулям Код .cseg ldi ZL,low(first); ldi ZH,high(first);
ldi ZL,low(second); ldi ZH,high(second);
.org 0x1000 ;адрес загрузки first: .db "the first string",0 second: .db "the second string",0 . . . . . . . . . last .db "the last string",0 [/quote]
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
Sep 12 2007, 14:00
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(Kuzmi4 @ Sep 12 2007, 12:43)  2 =GM= - это не то, автор же чётко указал - "..более рацональный способ внесения текста в память контроллера, чем заколачивать его руками в компиляторе.." Я думаю, это то, что он просил. Всё равно надо где-то текст набивать. Думаю также, что автор ветки, чтобы ввести, скажем, ваш никнейм (Kuzmi4) делает таким образом Код ; K u z m i 4 .db 0x4B,0x75,0x7A,0x7D,0x49,0x34,0x00
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Sep 12 2007, 14:30
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(dimka76 @ Sep 12 2007, 12:49)  тогда еще метки добавить, чтобы можно было обращаться к каждой строки отдельно, а не искать ее по завершающим нулям Ну, это само собой, я дал только общую идею. Хотя сам давно уже не применяю такой подход, на мой взгляд, есть более продуктивный.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
Guest_=AVR=_*
|
Sep 12 2007, 15:52
|
Guests

|
Цитата(Alex2578 @ Sep 12 2007, 16:19)  а есть какой-либо более рацональный способ внесения текста в память контроллера, чем заколачивать его руками в компиляторе?
Может глупость спрошу, но, например, есть ли средства, при помощи которых текстовый файл (или просто введенный куда-либо текст) можно былобы конвертнуть в HEX, или в BIN, и при помощи программатора зашить его в отведенную область памяти. Таких утилит бродит по Сети великое множество. Гибко это умеет делать, например, WinHex, с разной степенью гибкости (и вовсе без таковой) - различные поделия типа bin2asm. Гугль тебе в помощь по этим ключевым словам
|
|
|
|
|
Sep 12 2007, 17:09
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 20-02-07
Пользователь №: 25 515

|
Всем спасибо, пробежался по ответам, завтра буду осмысливать, эксперементировать.
|
|
|
|
|
Sep 12 2007, 20:27
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 20-03-06
Пользователь №: 15 416

|
Я тут давеча "конвертировал" текстовый файл для заливки его в еепром - изменил расширение с txt на bin. Строки разделял, нажимая Enter. Правда строка получилась не с завершающим нулем, а с завершающим 0xd, зато проще не придумать.
|
|
|
|
|
Sep 13 2007, 04:59
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 20-02-07
Пользователь №: 25 515

|
Цитата(skn @ Sep 13 2007, 00:27)  Я тут давеча "конвертировал" текстовый файл для заливки его в еепром - изменил расширение с txt на bin. Строки разделял, нажимая Enter. Правда строка получилась не с завершающим нулем, а с завершающим 0xd, зато проще не придумать. Ух ты!!!! ХИТЕР!!! Если не требуется кирилица, то способ просто супер. Проще не придумаешь.
|
|
|
|
|
Sep 13 2007, 06:52
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 20-03-06
Пользователь №: 15 416

|
Цитата(Alex2578 @ Sep 13 2007, 08:59)  Если не требуется кирилица У меня вроде кириллица.
|
|
|
|
|
Sep 13 2007, 10:05
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
foo.txt: Код Требуется выводить на знакосинтезирующий ЖКИ небольшие объемы текста. В связи с этим вопрос, а есть какой-либо более рацональный способ toasm.sed: Код 1 i\ .cseg 1 i\ .org 0x1000 s/^/ .db "/ s/$/",0/ sed -f toasm.sed foo.txt >foo.asm Код .cseg .org 0x1000 .db "Требуется выводить на знакосинтезирующий ЖКИ ",0 .db "небольшие объемы текста.",0 .db "В связи с этим вопрос, ",0 .db "а есть какой-либо более рацональный способ",0 т.е. для таких простых преобразований при использовании стандартных программ (у кого как, а у меня sed и на ДВК-2 валялся под рукой), скриптики настолько просты, что никогда и не сохраняются, их заново набить проще, чем искать по диску. Другое дело - кириллица, на всяких HD44780 кодировка странная, либо в том же sed пробовать глобальную замену делать, либо таки поискать нужную программу :-)
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Sep 13 2007, 10:32
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 20-02-07
Пользователь №: 25 515

|
Там же кириллица не совпадает с кодировкой руссифицированного HD-44780
|
|
|
|
|
Sep 13 2007, 11:58
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 20-03-06
Пользователь №: 15 416

|
Цитата(Alex2578 @ Sep 13 2007, 14:32)  Там же кириллица не совпадает с кодировкой руссифицированного HD-44780 Сделайте таблицу перекодировки и все будет совпадать.
|
|
|
|
|
Sep 14 2007, 04:12
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 20-02-07
Пользователь №: 25 515

|
Текст длиной около 1000 символов. Ну.... в принципе 1 раз можно переморщиться..... Но проблема еще в том, что в каждом следующем приборе сообщения могут быть свои, отличные от предыдущих. И каждый раз долбить в компиляторе текст, честно говоря, не вдохновляет.
|
|
|
|
|
Sep 14 2007, 09:13
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(Alex2578 @ Sep 14 2007, 08:12)  Текст длиной около 1000 символов. Ну.... в принципе 1 раз можно переморщиться..... Но проблема еще в том, что в каждом следующем приборе сообщения могут быть свои, отличные от предыдущих. И каждый раз долбить в компиляторе текст, честно говоря, не вдохновляет. тут вот вопрос возник... а собственно кто мешает инклудить Ваши строки данных как внешнии файлы.. а в файлы уже заливать кодировщиком ? Или религия не-не ? с уважением (круглый)
|
|
|
|
|
Sep 14 2007, 11:35
|
Местный
  
Группа: Свой
Сообщений: 303
Регистрация: 3-03-05
Пользователь №: 3 044

|
Вот штука, которая спасет отцов русской демократии. Да возблагодарят они (как и я) автора ее!
--------------------
Опыт - чудесная вещь: легко использовать, можно продать, трудно пропить.
|
|
|
|
|
Sep 14 2007, 15:32
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 17-01-06
Пользователь №: 13 277

|
Для перекодировки во время компиляции для иаровского асма сделал такой макрос: ;----------------------------------- LCDstr: macro reptc chr,\1 if 'chr'='└' db 65 elseif 'chr'='┴' db 160 elseif 'chr'='┬' db 66 elseif 'chr'='├' db 161 elseif 'chr'='─' db 224 elseif 'chr'='┼' db 69 elseif 'chr'='╞' db 163 elseif 'chr'='╟' db 164 elseif 'chr'='╚' db 165 elseif 'chr'='╔' db 166 elseif 'chr'='╩' db 75 elseif 'chr'='╦' db 167 elseif 'chr'='╠' db 77 elseif 'chr'='═' db 72 elseif 'chr'='╬' db 79 elseif 'chr'='╧' db 168 elseif 'chr'='╨' db 80 elseif 'chr'='╤' db 67 elseif 'chr'='╥' db 84 elseif 'chr'='╙' db 169 elseif 'chr'='╘' db 228 elseif 'chr'='╒' db 88 elseif 'chr'='╓' db 225 elseif 'chr'='╫' db 171 elseif 'chr'='╪' db 172 elseif 'chr'='┘' db 226 elseif 'chr'='┌' db 173 elseif 'chr'='█' db 174 elseif 'chr'='▄' db 98 elseif 'chr'='▌' db 175 elseif 'chr'='▐' db 176 elseif 'chr'='▀' db 177 elseif 'chr'='р' db 97 elseif 'chr'='с' db 178 elseif 'chr'='т' db 179 elseif 'chr'='у' db 180 elseif 'chr'='ф' db 227 elseif 'chr'='х' db 101 elseif 'chr'='ц' db 182 elseif 'chr'='ч' db 183 elseif 'chr'='ш' db 184 elseif 'chr'='щ' db 185 elseif 'chr'='ъ' db 186 elseif 'chr'='ы' db 187 elseif 'chr'='ь' db 188 elseif 'chr'='э' db 189 elseif 'chr'='ю' db 111 elseif 'chr'='я' db 190 elseif 'chr'='Ё' db 112 elseif 'chr'='ё' db 99 elseif 'chr'='Є' db 191 elseif 'chr'='є' db 121 elseif 'chr'='Ї' db 228 elseif 'chr'='ї' db 120 elseif 'chr'='Ў' db 229 elseif 'chr'='ў' db 192 elseif 'chr'='°' db 193 elseif 'chr'='∙' db 230 elseif 'chr'='·' db 194 elseif 'chr'='√' db 195 elseif 'chr'='№' db 196 elseif 'chr'='¤' db 197 elseif 'chr'='■' db 198 elseif 'chr'='ж' db 199 elseif 'chr'='и' db 162 elseif 'chr'='╕' db 181 else db 'chr' endif endr db 0 endm ;-----------------------------------
инклужу его из отдельного файла, в программе пишу:
LSTEXP- str0: LCDstr "строка по-русски" str1: LCDstr "больщая буква Я работает" str2: LCDstr "вместо маленькой приходится ставить вертикальную палку" even LSTEXP+
LSTEXP - это чтоб компилер результат этого макроса в листинг не писал, а то уж очень нечитаемый листинг получается. нуль в конец строки он сам добавляет...
|
|
|
|
|
Sep 17 2007, 06:55
|

Местный
  
Группа: Свой
Сообщений: 263
Регистрация: 7-10-05
Из: UA
Пользователь №: 9 342

|
Внесу свои 4.(9) копеек: перекодировщик Win1251 => HD44780, работает по принципу "фильтра": Код CODE4LCD < Text_1251.txt > Text_44780.txt Применять по вкусу  . Я в makefile вставляю, перед компиляцией...
--------------------
Gray©at
|
|
|
|
|
Sep 17 2007, 08:52
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 17-01-06
Пользователь №: 13 277

|
Макрос, разумеется, такой. (в пред. посте кодировку не сменил):
LCDstr: macro reptc chr,\1 if 'chr'='А' db 65 elseif 'chr'='Б' db 160 elseif 'chr'='В' db 66 elseif 'chr'='Г' db 161 elseif 'chr'='Д' db 224 elseif 'chr'='Е' db 69 elseif 'chr'='Ж' db 163 elseif 'chr'='З' db 164 elseif 'chr'='И' db 165 elseif 'chr'='Й' db 166 elseif 'chr'='К' db 75 elseif 'chr'='Л' db 167 elseif 'chr'='М' db 77 elseif 'chr'='Н' db 72 elseif 'chr'='О' db 79 elseif 'chr'='П' db 168 elseif 'chr'='Р' db 80 elseif 'chr'='С' db 67 elseif 'chr'='Т' db 84 elseif 'chr'='У' db 169 elseif 'chr'='Ф' db 228 elseif 'chr'='Х' db 88 elseif 'chr'='Ц' db 225 elseif 'chr'='Ч' db 171 elseif 'chr'='Ш' db 172 elseif 'chr'='Щ' db 226 elseif 'chr'='Ъ' db 173 elseif 'chr'='Ы' db 174 elseif 'chr'='Ь' db 98 elseif 'chr'='Э' db 175 elseif 'chr'='Ю' db 176 elseif 'chr'='Я' db 177 elseif 'chr'='а' db 97 elseif 'chr'='б' db 178 elseif 'chr'='в' db 179 elseif 'chr'='г' db 180 elseif 'chr'='д' db 227 elseif 'chr'='е' db 101 elseif 'chr'='ж' db 182 elseif 'chr'='з' db 183 elseif 'chr'='и' db 184 elseif 'chr'='й' db 185 elseif 'chr'='к' db 186 elseif 'chr'='л' db 187 elseif 'chr'='м' db 188 elseif 'chr'='н' db 189 elseif 'chr'='о' db 111 elseif 'chr'='п' db 190 elseif 'chr'='р' db 112 elseif 'chr'='с' db 99 elseif 'chr'='т' db 191 elseif 'chr'='у' db 121 elseif 'chr'='ф' db 228 elseif 'chr'='х' db 120 elseif 'chr'='ц' db 229 elseif 'chr'='ч' db 192 elseif 'chr'='ш' db 193 elseif 'chr'='щ' db 230 elseif 'chr'='ъ' db 194 elseif 'chr'='ы' db 195 elseif 'chr'='ь' db 196 elseif 'chr'='э' db 197 elseif 'chr'='ю' db 198 elseif 'chr'='╓' db 199 elseif 'chr'='Ё' db 162 elseif 'chr'='ё' db 181 else db 'chr' endif endr db 0 endm
вместо прописной 'я' приходится альт-214 вводить...
|
|
|
|
|
Jul 8 2012, 10:24
|

Местный
  
Группа: Свой
Сообщений: 268
Регистрация: 4-11-05
Пользователь №: 10 470

|
Тема древняя как г мамонта, но вот сейчас пришлось заморачиваться такойже проблемой, и решил поделиться своим решением. Вот взял коды из макроса qqqqqq для своей таблички... Код // коды букв русского алфавита в таблице контроллера жки unsigned char __flash LcdRusChar[] = { 65,160,66,161,224,69,163,164,165,166,75,167,77,72,79,168,80,67, 84,169,228,88,225,171,172,226,173,174,98,175,176,177,97,178,179, 180,227,101,182,183,184,185,186,187,188,189,111,190,112,99,191, 121,228,120,229,192,193,230,194,195,196,197,198,199 }; а в процедуру вывода символов на жки вставляется пара строк: Код if(c >= 192) // 192 - код русской А в кодировке WIN1251 { c = LcdRusChar[c-192]; // перекодировка в русские символы на жки } lcdDataWrite(c); проблемы с буквой "я" нет. Да, перекодировка на лету, но в сравнении со общим временем обращения к ЖКИ это пшик. Ну и плюс 64 байта табличка. Зато как удобно.
|
|
|
|
|
Jul 25 2012, 03:13
|

Участник

Группа: Участник
Сообщений: 31
Регистрация: 5-04-06
Из: Екатеринбург
Пользователь №: 15 809

|
Есть даже универсальное решение одновременно для IAR и WinAVR, но на С++. Кому интересно посмотрите как это сделано в классе CLCD. Ну и мой вариант таблицы перекодировки: CODE /* +----------------+ |Таблица символов| |Windows (ANSI) | +----------------+ +----------------+ |0123456789ABCDEF| |0123456789ABCDEF| +----------------+ +----------------+ 0x00 |( пропущено ) | 0x80 |( пропущено ) | 0x10 |( пропущено ) | 0x90 |( пропущено ) | 0x20 | !"#$%&'()*+,-./| 0xA0 |( пропущено ) | 0x30 |0123456789:;<=>?| 0xB0 |( пропущено ) | 0x40 |@ABCDEFGHIJKLMNO| 0xC0 |АБВГДЕЖЗИЙКЛМНОП| 0x50 |PQRSTUVWXYZ[\]^_| 0xD0 |РСТУФХЦЧШЩЪЫЬЭЮЯ| 0x60 |`abcdefghijklmno| 0xE0 |абвгдежзийклмноп| 0x70 |pqrstuvwxyz{|}~ | 0xF0 |рстуфхцчшщъыьэюя| +----------------+ +----------------+ */
// Таблица перекодировки из CP1251 (WIN) #ifdef __ICCAVR__ __flash uint8_t CP1251_TO_CPHD44780[ 256 ] = { #elif defined __GNUC__ PROGMEM uint8_t _CP1251_TO_CPHD44780[ 256 ] = { #endif //PROGMEM unsigned char CP1251_TO_CPHD44780[ 256 ] = { /* +---------------------------------------------------------------------------------------------------------------+ | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | */ /* CGRAM: (1) (2) (3) (4) (5) (6) (7) (8) (1) (2) (3) (4) (5) (6) (7) (8) */ /* 0x00 */ 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D , 0x0E , 0x0F , //
/* 0x10 */ 0x10 , 0x11 , 0x12 , 0x13 , 0x14 , 0x15 , 0x16 , 0x17 , 0x18 , 0x19 , 0x1A , 0x1B , 0x1C , 0x1D , 0x1E , 0x1F , // /* 0x20 */ 0x20 , 0x21 , 0x22 , 0x23 , 0x24 , 0x25 , 0x26 , 0x27 , 0x28 , 0x29 , 0x2A , 0x2B , 0x2C , 0x2D , 0x2E , 0x2F , // /* 0x30 */ 0x30 , 0x31 , 0x32 , 0x33 , 0x34 , 0x35 , 0x36 , 0x37 , 0x38 , 0x39 , 0x3A , 0x3B , 0x3C , 0x3D , 0x3E , 0x3F , // /* 0x40 */ 0x40 , 0x41 , 0x42 , 0x43 , 0x44 , 0x45 , 0x46 , 0x47 , 0x48 , 0x49 , 0x4A , 0x4B , 0x4C , 0x4D , 0x4E , 0x4F , // /* 0x50 */ 0x50 , 0x51 , 0x52 , 0x53 , 0x54 , 0x55 , 0x56 , 0x57 , 0x58 , 0x59 , 0x5A , 0x5B , 0x20 , 0x5D , 0x5E , 0x5F , // /* 0x60 */ 0x60 , 0x61 , 0x62 , 0x63 , 0x64 , 0x65 , 0x66 , 0x67 , 0x68 , 0x69 , 0x6A , 0x6B , 0x6C , 0x6D , 0x6E , 0x6F , // /* 0x70 */ 0x70 , 0x71 , 0x72 , 0x73 , 0x74 , 0x75 , 0x76 , 0x77 , 0x78 , 0x79 , 0x7A , 0x5B , 0x20 , 0x5D , 0xE9 , 0x7F , // /*| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | */ /* 0x80 */ 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , // /* 0x90 */ 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , // /* 0xA0 */ 0xCB , 0x20 , 0x49 , 0x69 , 0x04 , 0x20 , 0xFE , 0xEF , 0xA2 , 0xCC , 0x00 , 0xC9 , 0x20 , 0x20 , 0x20 , 0x02 , // /* 0xB0 */ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xB5 , 0x4E , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , // /* 0xC0 */ 0x41 , 0xA0 , 0x42 , 0xA1 , 0xE0 , 0x45 , 0xA3 , 0xA4 , 0xA5 , 0xA6 , 0x4B , 0xA7 , 0x4D , 0x48 , 0x4F , 0xA8 , // /* 0xD0 */ 0x50 , 0x43 , 0x54 , 0xA9 , 0xAA , 0x58 , 0xE1 , 0xAB , 0xAC , 0xE2 , 0xAD , 0xAE , 0x62 , 0xAF , 0xB0 , 0xB1 , // /* 0xE0 */ 0x61 , 0xB2 , 0xB3 , 0xB4 , 0xE3 , 0x65 , 0xB6 , 0xB7 , 0xB8 , 0xB9 , 0xBA , 0xBB , 0xBC , 0xBD , 0x6F , 0xBE , // /* 0xF0 */ 0x70 , 0x63 , 0xBF , 0x79 , 0xE4 , 0x78 , 0xE5 , 0xC0 , 0xC1 , 0xE6 , 0xC2 , 0xC3 , 0xC4 , 0xC5 , 0xC6 , 0xC7 , // /* | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | +---------------------------------------------------------------------------------------------------------------+ */ }; #ifdef __GNUC__ FU08T_PTR CP1251_TO_CPHD44780(_CP1251_TO_CPHD44780); #endif
Сообщение отредактировал IgorKossak - Jul 25 2012, 06:34
Причина редактирования: [codebox] для длинного кода!!!
--------------------
Россия навсегда!
|
|
|
|
|
Jul 25 2012, 08:15
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (uni @ Jul 25 2012, 06:13)  Кому интересно посмотрите как это сделано в классе CLCD. А из каких соображений эта таблица не является статическим членом класса?
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jul 25 2012, 23:06
|

Участник

Группа: Участник
Сообщений: 31
Регистрация: 5-04-06
Из: Екатеринбург
Пользователь №: 15 809

|
Цитата(Сергей Борщ @ Jul 25 2012, 14:15)  А из каких соображений эта таблица не является статическим членом класса? Из тех соображений, что у меня код одновременно компилируется в IAR и GCC, что наложило отпечаток на форму декларации принадлежности к флешу. В GCC варианте создаётся два идентификатора: массив и указатель на него, а у IAR'а можно обойтись только одним. Не знаю как это объяснить компилятору в терминах членов класса. Пока это не критично, функционал ещё допиливается.
--------------------
Россия навсегда!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|