Автор Тема: Малтиязычность в AVR  (Прочитано 10655 раз)

0 Пользователей и 1 Гость просматривают эту тему.

pumpkin

  • Профи
  • ****
  • Сообщений: 240
  • Карма: 2
  • Пол: Мужской
  • Это Я :-)
    • Просмотр профиля
Re: Малтиязычность в AVR
« Ответ #15 : 11 Декабря 2009, 18:34:42 »
Или сразу так:
Цитировать
Const Codepage = 1
#if Codepage = 1
  Const w1 = "Строка 1" 
  Const w2 = "Строка 2"
  Const w3 = "Строка 3"
#else
  Const w1 = "String 1" 
  Const w2 = "String 2"
  Const w3 = "String 3"
#endif

или с другой строны подойти.  Например, главный модуль с кодом называется main.bas, делаем два файла firmware_cp1.bas:
Цитировать
$include "strings1.bas"
$include "main.bas"
и и firmware_cp2.bas:
Цитировать
$include "strings2.bas"
$include "main.bas"
компилируя их получим firmware_cp1.bin и firmware_cp2.bin.
« Последнее редактирование: 11 Декабря 2009, 18:49:56 от pumpkin »

Andy

  • Администратор Форумa
  • Эксперт
  • *
  • Сообщений: 1803
  • Карма: 15
  • Пол: Мужской
  • Нельзя отремонтировать то, что не сломано...
    • minilabmaster
    • Просмотр профиля
    • Форум "Минилаб-Мастер"
Re: Малтиязычность в AVR
« Ответ #16 : 18 Мая 2011, 15:23:10 »
Давно решил проблему, найдя в сети сишный код перевода русской кодировки в код, понятный жк индикаотору и переделав его под Bascom.

Вот функция печати. Немного громоздкая, так как переводит входящюю строку 16 символов (longstr) в жк кодировку и разбивает на 2 части для печати на однострочном индикаторе, с внутренней организацией 2x8 символов.


Цитировать

Printlsd:
For Otchet = 1 To 16
Ru = Mid(longstr , Otchet , 1)
Dig = Ru
If Dig > 191 Then
Dig = Dig - 192
Dig = Lookup(dig , Rusdata)
Mid(longstr , Otchet , 1) = Dig
End If
Next

Str1 = Mid(longstr , 1 , 8)
Str2 = Mid(longstr , 9 , 8)
Cls
Lcd Str1
Lowerline
Lcd Str2
Return

Rusdata:
Data &H41 , &HA0 , &H42 , &HA1 , &HE0 , &H45 , &HA3 , &HA4 , _
&Ha5 , &HA6 , &H4B , &HA7 , &H4D , &H48 , &H4F , &HA8 , _
&H50 , &H43 , &H54 , &HA9 , &HAA , &H58 , &HE1 , &HAB , _
&Hac , &HE2 , &HAD , &HAE , &HAD , &HAF , &HB0 , &HB1 , _
&H61 , &HB2 , &HB3 , &HB4 , &HE3 , &H65 , &HB6 , &HB7 , _
&Hb8 , &HB9 , &HBA , &HBB , &HBC , &HBD , &H6F , &HBE , _
&H70 , &H63 , &HBF , &H79 , &HE4 , &H78 , &HE5 , &HC0 , _
&Hc1 , &HE6 , &HC2 , &HC3 , &HC4 , &HC5 , &HC6 , &HC7


« Последнее редактирование: 18 Мая 2011, 15:24:57 от admin »
Заклинило деталь - надави на нее, если она сломалась - ничего, ее все равно надо было менять.

Форум проекта "Минилаб-Мастер"

Re: Малтиязычность в AVR
« Ответ #16 : 18 Мая 2011, 15:23:10 »