|
|
  |
Что лучше взять для AVR?, Программить на С. |
|
|
|
Nov 28 2005, 11:12
|
Знающий
   
Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231

|
Цитата(Георгий @ Nov 28 2005, 15:03)  Вопрос по опциям ИАРа - char можно сделать по умолчанию беззнаковым, а про int я такого не нашел, возможно ли это. А то у меня получилось, что 0х8000 < 0, т.е. по умолчанию int идет со знаком. Переопредели типы typedef (ом) если надо. и сделай WORD, DWORD и т.д. Код typedef unsigned char BYTE; typedef unsigned char WORD
|
|
|
|
|
Nov 28 2005, 13:08
|
Местный
  
Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957

|
Я думаю, что Вы правы , спорить не буду. В тонкостях Си я еще не силен.  Уточнился по борладндовскому хэлпу (Билдер), там сказано что и char по умолчанию знаковый. В IAR-е видимо для таких как я галочку поставили, чтоб хоть с char поначалу не заморачиваться. Привыкли, что в железе знаков нет.
Сообщение отредактировал Георгий - Nov 28 2005, 13:17
--------------------
Обычно последним смеется тот, кто хуже соображает!
|
|
|
|
|
Nov 28 2005, 17:04
|

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

|
Цитата(Георгий @ Nov 28 2005, 16:08)  Я думаю, что Вы правы , спорить не буду. В тонкостях Си я еще не силен.  Уточнился по борладндовскому хэлпу (Билдер), там сказано что и char по умолчанию знаковый. В IAR-е видимо для таких как я галочку поставили, чтоб хоть с char поначалу не заморачиваться. Привыкли, что в железе знаков нет. В любом мало-мальски приличном букваре по С сказано - не закладываться на знаковость char вообще - нигде и никогда, ни явно, ни неявно. Вот писатели пикада не подумали об этом где-то пропустили при чтении ASCII-формата входящие симовлы через char - и мы имеем облом на русской букве "я" - код 0xFF, который при пропускании через знаковый char в int превращается в полновесный -1 и мы имеем unexpected end of file на строке "схема электрическая принципиальная" - надо большими буквами писать. Естественно, это моё предположение, но больно оно правдоподобно выглядит. Так о чём это я... А! Так вот, любая приличная книга говорит - если знак важен - указывать явно unsigned char или signed char - в зависимости от того, что надо. У меня тип char если используется - то это явное предупреждение для меня же более позднего - "тут хранятся не более чем символы, никакой арифметики, сравнение только с символьными константами на равенство" А стандарт языка С 99-го года заводит стандартный заголовочный файл stdint.h , в котором должны через typedef определяться типы int8_t uint8_t ... int64_t uint64_t. Я бы рекомендовал пользоваться этими типами, а не byte/word/dword (особенно учитывая то, что word на x86 - это halfword на ARM, dword на x86 - это word на ARM). Если stdint.h в поставке имеющегося компилятора нет - несложно написать и приложить самому. Что я во всех новых проектах и делаю уже года 4. И даже один старый, но развивающийся - не поленился со старых i08/u08/../i32/u32 пере-sed-ить на новые стандартные typedef-ы.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Nov 29 2005, 06:41
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(IgorKossak @ Nov 28 2005, 18:41)  Что касается знаковости типов, то насколько я помню, согласно стандарта только char по умолчанию беззнаковый, В Стандарте на С, afair, знаковость char отдана на откуп реализации. В Стандарте С++ типы char, unsigned char и signed char - это три разных типа. Цитата(IgorKossak @ Nov 28 2005, 18:41)  а int и long - знаковые. Да, целые типы - знаковые.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Dec 15 2005, 08:02
|
Группа: Новичок
Сообщений: 1
Регистрация: 27-11-05
Пользователь №: 11 448

|
Цитата(MicronSys @ Nov 23 2005, 14:35)  Я использую WinAvr + VMLAB получается хорошая связка
до этого работал на IAR C++ симулятор AVRstudio
WinAvr немного больше код делает на компилит давольно таки хорошо VMLAB очень хороший симулятор правда не без хрехов На счет того что VMLAB - хороший я согласен - внутренности МК видит прекрасно!! Вот может кто-то знает как его вылечить от того чтобы он обрабатывал код больше 500 слов, меньше у меня программы не получаются..
|
|
|
|
|
Mar 10 2006, 19:04
|
Группа: Новичок
Сообщений: 2
Регистрация: 10-03-06
Пользователь №: 15 106

|
Народ, подскажите новичку: скачал последнюю AStudio с плагином для С от GCC, но он пишет, что ПСС надо устанавливать отдельно. Установил с диска от книжки Голубцова версию 3.0.2 кажется. В хелпе к АВР Студии прочел как конфигурить, но вот беда кнопка с "..." у меня не жмется, не5 могу прописать пути. Что делать? Качать новую версию GCC или косяк в другом?
|
|
|
|
|
Mar 10 2006, 20:46
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Несколько лет назад, когда начинал работать с gcc соблазнился возможностью прикрутить его к AStudio(разных версий). Полноценной работы так и не удалось добиться. Вроде бы с 4.10 это наконец работает,но предыдущий опыт убеждает - не стоИт на это тратить время -прикрути к любому текстовому редактору и воюй. Под тем же PN, который идет с WinAVR у меня подцеплены gcc под Win32, AVR, MSP,ARM.Под ним же работаю с TCL, Python и и редактирую HTML. Рука уже набита на конкретные меню и шорткаты. Ну а если позарез нужна отладка, тогда юзать студию как симулятор.
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|