Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Keil 4.50
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > Keil
Страницы: 1, 2, 3, 4
Sanya_kv
В версии 4.53 проблема с кириллицей НЕ решена!
k000858
спасибо кэп

ппц в 4.53 ваще анриал кодить. текст проги (черный) выделяешь и фон становится черным.
Beginning
Settings->Color&Fonts->AllEditors->TextSelection
4.53 проверено работает

Проблему с кирилицей решают так. Пишем кирилицей в поле поиск Keil (или в любом месте где душе угодно), CtrlA+CtrlC+CtrlV, впрочем про это всё уже было сказано выше.
Alex__Nik
Складывается впечатление, что прогеры "KEIL" пишут комменты только на англ языке
В UV3 тоже были проблемы, но в UV4 просто кроме АНГЛ языка ввод с клавы
не возможен, копипаст проходит мимо(что скопировал то и вставил в ASCII )
Всё просто прикрутили новый редактор, кстати пока мне нравится,
принимают с клавы ASCII символ, преобразуют в мультибайт в соответствии с выбранной
страницей кодировки, а далее работают только с младшим байтом из этой кодировки
Результат -> при кодах знаков более 80h имеем только кракозюки
Правильными методами победить не смог, копипастить из поиска лень
Топором поправил dll редактора только для букв кирилицы
Желающие попробовать найдут в /upload/DOC/ARM/Кирилица...
Вопросы в личку

P.S. Извините забыл,
для 4.53
LCD
Давно делаю так:
CODE
//Cyrillic (CP1251)
#define CYR_A "\xc0"
#define CYR_B "\xc1"
#define CYR_V "\xc2"
#define CYR_G "\xc3"
#define CYR_D "\xc4"
#define CYR_YE "\xc5"
#define CYR_ZH "\xc6"
#define CYR_Z "\xc7"
#define CYR_I "\xc8"
#define CYR_ISHORT "\xc9"
#define CYR_K "\xca"
#define CYR_L "\xcb"
#define CYR_M "\xcc"
#define CYR_N "\xcd"
#define CYR_O "\xce"
#define CYR_P "\xcf"
#define CYR_R "\xd0"
#define CYR_S "\xd1"
#define CYR_T "\xd2"
#define CYR_U "\xd3"
#define CYR_F "\xd4"
#define CYR_KH "\xd5"
#define CYR_TS "\xd6"
#define CYR_CH "\xd7"
#define CYR_SH "\xd8"
#define CYR_SHCH "\xd9"
#define CYR_HARD "\xda"
#define CYR_YERU "\xdb"
#define CYR_SOFT "\xdc"
#define CYR_EH "\xdd"
#define CYR_YU "\xde"
#define CYR_YA "\xdf"
#define CYR_a "\xe0"
#define CYR_b "\xe1"
#define CYR_v "\xe2"
#define CYR_g "\xe3"
#define CYR_d "\xe4"
#define CYR_e "\xe5"
#define CYR_zh "\xe6"
#define CYR_z "\xe7"
#define CYR_i "\xe8"
#define CYR_ishort "\xe9"
#define CYR_k "\xea"
#define CYR_l "\xeb"
#define CYR_m "\xec"
#define CYR_n "\xed"
#define CYR_o "\xee"
#define CYR_p "\xef"
#define CYR_r "\xf0"
#define CYR_s "\xf1"
#define CYR_t "\xf2"
#define CYR_u "\xf3"
#define CYR_f "\xf4"
#define CYR_kh "\xf5"
#define CYR_ts "\xf6"
#define CYR_ch "\xf7"
#define CYR_sh "\xf8"
#define CYR_shch "\xf9"
#define CYR_hard "\xfa"
#define CYR_yeru "\xfb"
#define CYR_soft "\xfc"
#define CYR_eh "\xfd"
#define CYR_yu "\xfe"
#define CYR_ya "\xff"


Надписи пишу так:
Код
char *txt_menu= CYR_M CYR_YE CYR_N CYR_YU;
char *txt_select= CYR_V CYR_YERU CYR_B CYR_O CYR_R;
Forger
А я вон плюнул давно и комменты пишу на английском.
Оказалось, что это удобнее (не нужно перключать раскладку), быстрее,
меньше места занимают (русские комменты выходят в 2..3 раза длиннее английских),
да и на чужеродных форумах легче делиться кусками кода sm.gif
Да еще и KEIL упорно не хочет поддерживать чужие языки...

А что касается отдельных менюшек и надписей на русском в экранчиках устройств -
выносить тексты в отдельные файлы, типа как в обычных программках - типа файлы локализации.
Редактировать можно хоть в вордпаде.
Sanya_kv
Раз пошла такая пьянка (Описание методов борьбы с косяками кейла). Добавлю своё: Пишу программу по возможности в IDE Eclipse, отладка в кейл. При таком подходе скорость написания даже выше благодаря достоинствам IDE Eclipse (Инталлисенс и т.д.). К тому же с версией кейла 4.53 идут плагины для Eclipse (c:\Keil\Eclipse\...). Правда корявые.
В будущем хочу перейти на IAR там возможностей больше и интеграция с IDE Eclipse лучше.
LCD
Цитата(Sanya_kv @ Jun 25 2012, 13:25) *
В будущем хочу перейти на IAR там возможностей больше

IAR тоже не очень любит кириллицу и иногда портит ее, например, при копировании-вставке.
Sanya_kv
Цитата(LCD @ Jun 25 2012, 13:51) *
IAR тоже не очень любит кириллицу и иногда портит ее, например, при копировании-вставке.

При копировании/вставке необходимо поменять язык на RU, проблем не будет. Эта особенность Windows. Проявляется не только в IAR. Например в Notepad++, Keil, Блокнот, Visual C++ 2010, ...
toweroff
Решение ТУТ
smk
Цитата(toweroff @ Aug 2 2012, 20:38) *
Решение ТУТ

Чет не помогло.
andries5
Цитата(smk @ Aug 7 2012, 07:50) *
Чет не помогло.

У меня помогло. Кирилица вводится в комментариях.
andreichk
у меня тоже сработало
goodwin
Цитата(toweroff @ Aug 2 2012, 20:38) *
Решение ТУТ


Оно не там! Оно именно здесь - чуть выше по тексту...
(См. сообщение от Alex__Nik)
Скажем ему дружное спасибо sm.gif
SII
Работает вся кириллица, кроме буквы "ё". Её приходится вставлять отдельно -- благо, вставка работает без проблем. Спасибо за решение -- сама KEIL никак разродиться не может.
Jenyok2
Цитата(SII @ Aug 12 2012, 23:20) *
Работает вся кириллица, кроме буквы "ё". Её приходится вставлять отдельно -- благо, вставка работает без проблем. Спасибо за решение -- сама KEIL никак разродиться не может.

.
Все просто.
Установите шрифт кириллический, НО без курсива.
И будет Вам счастье.
_Артём_
Цитата(Jenyok2 @ Aug 20 2012, 12:03) *
.
Все просто.
Установите шрифт кириллический, НО без курсива.
И будет Вам счастье.


А чем плох такой вариант: Edit - Configuration - Editor - Encoding = Encode in UTF-8...? Комментарии ведь можно на русском вводить. Или есть подвох?
Кинте ссылкой...
SII
Тогда русские символы в текстовых константах будут тоже в UTF-8, а это часто неприемлемо. Во всяком случае, именно так обстоит дело в ассемблере (я Си не использую, поэтому и не проверял).
_Артём_
Цитата(SII @ Sep 1 2012, 01:02) *
Тогда русские символы в текстовых константах будут тоже в UTF-8, а это часто неприемлемо.


А какая кодировка приемлима (как-то раньше не задумывался в какой кодировке писать, ну и проблем тогда ещё не возникало)?
VAI
Вышел МДК-460. Опять проблемы с русским. Описанным Alex__Nik способом не исправляется.
http://electronix.ru/forum/index.php?showt...p;#entry1070641

Предлагаю подробную инструкцию во вложенном файле.
stoker
Читаю тут о проблеме и никак не могу понять, у меня с кириллицей в KEIL проблем не возникало. Стоит 4.23, ставил по умолчанию, доп. настроек не делал. Спокойно вставляю комменты и вывожу также в порт инфу на русском. Может я что то упустил?
SII
Проблемы возникают, если используется кодировка ASCII, в UTF-8 всё нормально. Однако UTF-8 годится не для всех. Мне он, например, не подходит, поскольку у меня на русском не только комментарии (коим пофиг, как их кодируют), но и текстовые константы -- а им подавай определённую кодировку.
stoker
Можно пример такого файла? я его попробую открыть у себя в кейл.
ps. Разве при выводе отладочной инфы в порт 232 я не использую ASII кодировку? Что то не догоняю.
printf("АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя");
без проблем все вижу в терминале.
VAI
Цитата(stoker @ Sep 28 2012, 18:52) *
... Стоит 4.23, ...

А тема называется Keil 4.50.
Цитата
Может я что то упустил?

Начиная с 4.50 и начались проблемы с русским....
stoker
Цитата(VAI @ Sep 28 2012, 19:52) *
Начиная с 4.50 и начались проблемы с русским....

Теперь понятно что я упустил. sm.gif
toweroff
Ребята, сил нет, проверьте, пожалуйста, в 4.60 без замены dll работает русский или где
vlad_new
Цитата(toweroff @ Sep 29 2012, 23:26) *
Ребята, сил нет, проверьте, пожалуйста, в 4.60 без замены dll работает русский или где

В аски кодировке не работает. А кодировка UTF-8 не интересна, поскольку она со старыми проектами не совместима.
VAI
Работает русский, если выбрать фонт курьер, который разрешает размеры 10, 12, 15.
В win7 - кроме замены длл надо делать, как я написал несколько постов выше. Там во вложенном архиве подробная инструкция.
В ХР, кроме замены длл, скорее всего достаточно будет в ключе реестра [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage] изменить значение параметра "1252" на "c_1251.nls" .
toweroff
Цитата(VAI @ Sep 30 2012, 11:39) *
Работает русский, если выбрать фонт курьер, который разрешает размеры 10, 12, 15.

да, я тоже до этого дотопал, Courier New Cyr никак не хотел

Цитата(VAI @ Sep 30 2012, 11:39) *
В win7 - кроме замены длл надо делать, как я написал несколько постов выше. Там во вложенном архиве подробная инструкция.

а вот я ничего не делал... заменил dll и сменил шрифт на курьер - все


[CENSORED]
VAI
Цитата(toweroff @ Sep 30 2012, 22:25) *
да, я тоже до этого дотопал, Courier New Cyr никак не хотел
а вот я ничего не делал... заменил dll и сменил шрифт на курьер - все

Не нравится мне этот шрифт, дело вкуса.
Замена dll позволяет печатать по русски.
А так, я для работы с текстом использую другой редактор, в кейле только иногда правки вношу при отладке...
[CENSORED]
Для "MDK-Standard" не доступны библиотеки:
- TCP/IP Networking Suite
- Flash File System Library
- USB Device Interface
- USB Host Interface
- CAN Driver Library (Including Source Code)
- GUI Library
Остальное всё включено. http://www.keil.com/arm/selector.asp
evgen2
Читаю вот
http://www.keil.com/update/whatsnew.asp?p=RVMDK&v=4.60

TCPnet

Corrected: buffer queue clearing in BSD socket interface, which caused random Memory free errors or Hardfaults.
Corrected: processing of gratuitous ARP response from Windows 7 on duplicate IP, which caused a Hardfault.
--------
Вот думаю - "оно это или не оно"... когда виснет так, что ресет не помогает, только выключение питания
globalist
При определенных танцах с бубнами все работает (и на XP и на w7). Только зачем эти танцы нужны? Писать коменты? Можно и на английском. ИМХО кто не понимает English, тот не инженер.
Forger
Цитата(globalist @ Oct 8 2012, 20:43) *
Писать коменты? Можно и на английском. ИМХО кто не понимает English, тот не инженер.

Поддерживаю:
1) Самодокументируемый код практически не нуждается в комментах.
2) На англицком комменты гораздо короче русскоязычных.
3) Не нужно поминутно переключать раскладку.
4) Приучает давать объектам (фунциям, классам, переменным и т.д.) сразу вразумительные имена, а не просто магический набор букафцифр.
5) Код выходит полностью интернациональным.
6) Не нужны танцы с бубном, чтобы научить keil работать с русским (шутка).

_Артём_
Цитата(Forger @ Oct 8 2012, 22:54) *
1) Самодокументируемый код практически не нуждается в комментах.

Как его нужно составлять чтобы код самодокументировался?
Какие лучше программы использовать для этого?

Цитата(Forger @ Oct 8 2012, 22:54) *
2) На англицком комменты гораздо короче русскоязычных.

Комметарии тоже сворачиваются.

Цитата(Forger @ Oct 8 2012, 22:54) *
3) Не нужно поминутно переключать раскладку.

Невелик труд.

Цитата(Forger @ Oct 8 2012, 22:54) *
5) Код выходит полностью интернациональным.

Далеко не всем интернациональность нужна, и к тому же текст на родном языке лучше воспринимается.
Forger
Это все оффтоп, но тем не менее отвечу.

Цитата(_Артём_ @ Oct 9 2012, 00:32) *
Как его нужно составлять чтобы код самодокументировался?


Вообще-то этому посвящены целые труды, например:
Роберт Мартин, "Чистый код".
Ален И. Голуб, "ВЕРЕВКА ДОСТАТОЧНОЙ ДЛИНЫ, ЧТОБЫ ВЫСТРЕЛИТЬ СЕБЕ В НОГУ"

Вообще, правило одно, а звучит оно очень просто: "код должен читаться так, как читается хорошая книга".
Однако, это не так-то легко осуществить...

Цитата
Какие лучше программы использовать для этого?

Проги тут вряд ли помогут, а, скорее, без должного опыта только навредят:
давно замечено, что ребёнки, которые много учаться ходить с помощью "ходунков",
несколько позже других детей осваивают самостоятельную ходьбу.
Впрочем, без посторонней помощи они это делают тоже дольше ...

Цитата
Комметарии тоже сворачиваются.

С сокращений и начинается в коде срач, который потом невероятно трудно сопровождать. Особенно другому человеку.
Вопрос риторический: вы в книгах очень любите сокращения?

Цитата
Невелик труд.

Малый труд - тоже труд. Я предпочитаю по-быть в этому случае лентяем - вообще не переключать раскладку sm.gif

Цитата
к тому же текст на родном языке лучше воспринимается.

Со временем эта грань стирается - потом уже не замечаешь разницы sm.gif
_Артём_
Цитата(Forger @ Oct 9 2012, 01:22) *
Это все оффтоп, но тем не менее отвечу.

Спасибо.


Цитата(Forger @ Oct 9 2012, 01:22) *
С сокращений и начинается в коде срач, который потом невероятно трудно сопровождать. Особенно другому человеку.
Вопрос риторический: вы в книгах очень любите сокращения?

Я имел в виду такую функцию IDE как foldind-outlining, а ни в коем случае не сокращение слов.

Цитата(Forger @ Oct 9 2012, 01:22) *
Малый труд - тоже труд. Я предпочитаю по-быть в этому случае лентяем - вообще не переключать раскладку sm.gif

Следующий уровень - не пользоваться клавиатурой?
Forger
Цитата
Я имел в виду такую функцию IDE как foldind-outlining, а ни в коем случае не сокращение слов.

Насчет даже этой штуки. Вот я ею не пользуюсь, т.к. нет надобности -
весь код я таким образом структуривал, что нет ни одной функции с текстом размером с экран - нет "простыней".
Даже файлы оч. небольшие, но их много.
Но т.к. каждый имеет структурированное название и размещен в структурированной системе каталогов (повторяет структуру кода),
то тут тоже проблем нет.


Цитата
Следующий уровень - не пользоваться клавиатурой?

Почему же? Вот я как раз при создании кода почти мышкой не пользуюсь - на клаве выходит быстрее sm.gif
globalist
Цитата(_Артём_ @ Oct 9 2012, 00:32) *
Как его нужно составлять чтобы код самодокументировался?
Какие лучше программы использовать для этого?
Комметарии тоже сворачиваются.
Невелик труд.
Далеко не всем интернациональность нужна, и к тому же текст на родном языке лучше воспринимается.


Уважаемый Артем,
Может интернациональность и не всем нужна, однако любой мало-мальски грамотный инженер и/или программист легко читает тексты на Английском языке, который де-факто стал интернациональным языком общения. И с этим ничего не поделаешь. Библиотеки и прикольные-нужные программки постят и русские, и китайцы, и индийцы и много кто еще. И хорошим тоном является описание и комментарии именно на Английском языке.
Я, если честно, в абсолютном шоке от молодежи, которая не может свободно понимать Английский. Вся тех документация написана на Английском, 90% форумов инженеров и embedded programmers - на английском. Что они будут делать через 10 лет, когда без знания английского можно будет устроиться на работу только дворником?
Я уже давно на работу никого без Good level of Technical English на работу не принимаю, так как не собираюсь нанимать каждому дебилу безъязыкому по переводчику.
_Артём_
Цитата(globalist @ Oct 10 2012, 01:31) *
Может интернациональность и не всем нужна, однако любой мало-мальски грамотный инженер и/или программист легко читает тексты на Английском языке

Читать - это одно, писать сложнее - другие неангличане должны понять написанное таким же неангличанином. Проще писать сразу на родном языке.

Цитата(globalist @ Oct 10 2012, 01:31) *
И хорошим тоном является описание и комментарии именно на Английском языке.

Forger утверждает, что хороший тон - это не писать комментариев вообще.

Цитата(globalist @ Oct 10 2012, 01:31) *
Я, если честно, в абсолютном шоке от молодежи, которая не может свободно понимать Английский.

Странно, их же нетак как нас языкам учат...
Цитата(globalist @ Oct 10 2012, 01:31) *
Вся тех документация написана на Английском, 90% форумов инженеров и embedded programmers - на английском.

Я в основном на русских форумах нахожу информацию - хватает(даташиты не в счёт).

Цитата(globalist @ Oct 10 2012, 01:31) *
Что они будут делать через 10 лет, когда без знания английского можно будет устроиться на работу только дворником?

Гугл (или кто другой) автоматический перевод доделает.

Цитата(globalist @ Oct 10 2012, 01:31) *
Я уже давно на работу никого без Good level of Technical English на работу не принимаю, так как не собираюсь нанимать каждому дебилу безъязыкому по переводчику.

Good level - это сколько нужно знать?

Lotor
Цитата(globalist @ Oct 10 2012, 02:31) *
Я уже давно на работу никого без Good level of Technical English на работу не принимаю, так как не собираюсь нанимать каждому дебилу безъязыкому по переводчику.

А в Ваше первое трудоустройство Вы уже были на уровне "Good"? Или же всё пришло в процессе и с опытом? Думаю, что второе.
Forger
Цитата(_Артём_ @ Oct 10 2012, 04:04) *
Forger утверждает, что хороший тон - это не писать комментариев вообще.

Вот так и рождаются домыслы - я сказал совсем иное: "Самодокументируемый код практически не нуждается в комментах."
Другими словами: комментарий нужен лишь там, где без них будет сложнее понять код или алгоритм.
А вот оформление кода для удобства чтения и понимания - это я приветсвтую, даже в ущерб размеру его текста.
И должен со временем выработаться четкий и однозначный стиль.
Lotor
Цитата(Forger @ Oct 10 2012, 08:32) *
Вот так и рождаются домыслы - я сказал совсем иное: "Самодокументируемый код практически не нуждается в комментах."
Другими словами: комментарий нужен лишь там, где без них будет сложнее понять код или алгоритм.

Согласен, но сказали это не Вы, а всякие Google Style Guide'ы много лет назад. =)
ViKo
Цитата(globalist @ Oct 10 2012, 01:31) *
И хорошим тоном является описание и комментарии именно на Английском языке.

Нормальный программист пишет комментарии на том языке, на каком думает. Комментарии на английском - не более, чем понты никчемные.
Alex__Nik
Добавлю кусочек.
В моём понимании IDE должна давать возможность писать комменты на родном языке
можно работать и на англоязычной WINDOWS, что раньше и делали, но так НЕ ВСЕГДА УДОБНО.
По поводу английских комментов, в моём понимании комменты пишут для СЕБЯ и только великие
для потомков.
Для меня пара слов на родном языке в комментах всегда удобней, про начинающих прогеров не
вспоминаю, они обязаны знать англиц..кий лучше родного.
И последняя мысль, если Вы не общаетесь постоянно на английском, то из этого следует, что фразу вы
формируете на родном языке,потом в уме переводите и далее пишете в комменты.
Lotor
Цитата(Alex__Nik @ Oct 12 2012, 06:50) *
По поводу английских комментов, в моём понимании комменты пишут для СЕБЯ и только великие
для потомков.

Раньше тоже так думал, потом пришлось править чужие проекты. Большие. Не тривиальные (со своими велосипедами). Без комментариев. После этого пишу свой код с учетом того, что поддерживать в будущем могут другие люди.

PS: Тема скатывается в оффтоп, но если модераторы позволяют, то... sm.gif
IgorKossak
Давайте обсуждать "Как", а не "Зачем". Иначе закрою тему.
Модератор.
MiklPolikov
Я решил проблему !!!

Делаем так :
1) Устанавливаем в Keil MDK 4.60 кодировку Encode in UTF8 without singature, при которой русские комментарии писать можно, но комментарии написанные в старых версиях кейла не читаются.
2) Открываем старый файл кода в блокноте.
3) Копируем весь текст разом из блокнота в кейл 4.60 .
4) Наслаждаемся тем, что после копирования в кейл старые комментарии стали читатся. Делаю это в windows 7

Прекрасный способ восстновить читаемость комментариев в старых программах !
На восстановление одного файла уходит 1 минута.
SII
Комментариев -- да, но не текстовых констант. Они-то тоже будут перекодированы, а это обычно недопустимо. Так что способ, увы, не универсальный.
AndreyKar
Для себя решил проблему так: поставил ARM 4.60 затем C51 9.50a (по факту вернул старый редактор для С51).
Vladimir_T
Можно пользоваться сторонним редактором, например, SlickEdit.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.