реклама на сайте
подробности

 
 
> Зашивание текста в память микроконтроллера., Есть ли какой-либо более рацональный способ внесения текста в память к
Alex2578
сообщение Sep 12 2007, 12:19
Сообщение #1


Участник
*

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



Всех приветствую.

Имеем AVR, работаем в асемблере в AVR Studio.

Требуется выводить на знакосинтезирующий ЖКИ небольшие объемы текста.
В связи с этим вопрос, а есть какой-либо более рацональный способ внесения текста в память контроллера, чем заколачивать его руками в компиляторе?

Может глупость спрошу, но, например, есть ли средства, при помощи которых текстовый файл (или просто введенный куда-либо текст) можно былобы конвертнуть в HEX, или в BIN, и при помощи программатора зашить его в отведенную область памяти.

Спасибо всем откликнувшимся.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
uni
сообщение Jul 25 2012, 03:13
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 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] для длинного кода!!!


--------------------
Россия навсегда!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alex2578   Зашивание текста в память микроконтроллера.   Sep 12 2007, 12:19
- - Kuzmi4   В принципе чистотеоретически - такой файл можно на...   Sep 12 2007, 13:38
- - =GM=   Цитата(Alex2578 @ Sep 12 2007, 11:19) ......   Sep 12 2007, 13:40
|- - dimka76   [quote name='=GM=' date='Sep 12 2007, ...   Sep 12 2007, 13:49
|- - =GM=   Цитата(dimka76 @ Sep 12 2007, 12:49) тогд...   Sep 12 2007, 14:30
- - Kuzmi4   2 =GM= - это не то, автор же чётко указал - ...   Sep 12 2007, 13:43
|- - =GM=   Цитата(Kuzmi4 @ Sep 12 2007, 12:43) 2 =GM...   Sep 12 2007, 14:00
- - BratherLU   http://www.atmel.ru/Binary/HD-44780.exe Эта штука ...   Sep 12 2007, 14:17
- - KRS   у LCD текстовых еще обычно с кодировкой русской пр...   Sep 12 2007, 15:10
- - =AVR=   Цитата(Alex2578 @ Sep 12 2007, 16:19) а е...   Sep 12 2007, 15:52
- - Alex2578   Всем спасибо, пробежался по ответам, завтра буду о...   Sep 12 2007, 17:09
- - skn   Я тут давеча "конвертировал" текстовый ф...   Sep 12 2007, 20:27
|- - Alex2578   Цитата(skn @ Sep 13 2007, 00:27) Я тут да...   Sep 13 2007, 04:59
|- - skn   Цитата(Alex2578 @ Sep 13 2007, 08:59) Есл...   Sep 13 2007, 06:52
- - ReAl   foo.txt: КодТребуется выводить на знакосинтезирующ...   Sep 13 2007, 10:05
- - Alex2578   Там же кириллица не совпадает с кодировкой руссифи...   Sep 13 2007, 10:32
|- - skn   Цитата(Alex2578 @ Sep 13 2007, 14:32) Там...   Sep 13 2007, 11:58
- - ReAl   Не, таблица перекодировки - это некрасиво. Лишний ...   Sep 13 2007, 12:47
|- - Alex2578   Текст длиной около 1000 символов. Ну.... в принцип...   Sep 14 2007, 04:12
|- - kolobok0   Цитата(Alex2578 @ Sep 14 2007, 08:12) Тек...   Sep 14 2007, 09:13
- - CDT   Вот штука, которая спасет отцов русской демократии...   Sep 14 2007, 11:35
- - qqqqqq   Для перекодировки во время компиляции для иаровско...   Sep 14 2007, 15:32
|- - qqqqqq   Макрос, разумеется, такой. (в пред. посте кодировк...   Sep 17 2007, 08:52
- - GrayCat   Внесу свои 4.(9) копеек: перекодировщик Win1251 =...   Sep 17 2007, 06:55
- - Waso   Тема древняя как г мамонта, но вот сейчас пришлось...   Jul 8 2012, 10:24
- - hd44780   Waso, поддерживаю. Я тоже делал что-то родственное...   Jul 9 2012, 06:12
- - Сергей Борщ   QUOTE (uni @ Jul 25 2012, 06:13) Кому инт...   Jul 25 2012, 08:15
- - uni   Цитата(Сергей Борщ @ Jul 25 2012, 14:15) ...   Jul 25 2012, 23:06


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 13:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.014 секунд с 7
ELECTRONIX ©2004-2016