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

 
 
> Зашивание текста в память микроконтроллера., Есть ли какой-либо более рацональный способ внесения текста в память к
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
Ответов
qqqqqq
сообщение Sep 14 2007, 15:32
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 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 - это чтоб компилер результат этого макроса в листинг не писал,
а то уж очень нечитаемый листинг получается.
нуль в конец строки он сам добавляет...
Go to the top of the page
 
+Quote Post
qqqqqq
сообщение Sep 17 2007, 08:52
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 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 вводить...
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
- - GrayCat   Внесу свои 4.(9) копеек: перекодировщик Win1251 =...   Sep 17 2007, 06:55
- - Waso   Тема древняя как г мамонта, но вот сейчас пришлось...   Jul 8 2012, 10:24
- - hd44780   Waso, поддерживаю. Я тоже делал что-то родственное...   Jul 9 2012, 06:12
- - uni   Есть даже универсальное решение одновременно для I...   Jul 25 2012, 03:13
- - Сергей Борщ   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 Текстовая версия Сейчас: 22nd July 2025 - 04:48
Рейтинг@Mail.ru


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