|
несколько вопросов, по WinAVR + AVRStudio |
|
|
|
Nov 24 2007, 21:18
|
Частый гость
 
Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411

|
Здравствуйте. Помогите, пожалуйста, начинающему  Начинаю переходить с Асма на Си. Использую WinAvr. 1) Так вот...как можно в Студии посмотреть значения моих переменных? 2) потом...#define F_CPU 7372800UL что означают эти строчки? Это частота кварца. Для чего она указывается? При использования подпрограмм задержки - delay_loop? 3) Я пытался вызвать функцию из другой функции, но что-то в Студии корректного перехода не увидел - это я такой кривой или программная отладка тупит?  ) 4) Как втыкать ассемблерные вставки в Сишный код, например, в обработчиках прерываний? 5) Сишники, дайте литературы (по WinAvr и по Сям) - хочу учиться ...  а не задавать глупые вопросы  Заранее благодарю.
Сообщение отредактировал skilful - Nov 24 2007, 21:26
|
|
|
|
|
Nov 24 2007, 23:51
|

Начинающий профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648

|
Цитата(skilful @ Nov 25 2007, 00:18)  Здравствуйте. Помогите, пожалуйста, начинающему  Начинаю переходить с Асма на Си. Использую WinAvr. 1) Так вот...как можно в Студии посмотреть значения моих переменных? 2) потом...#define F_CPU 7372800UL что означают эти строчки? Это частота кварца. Для чего она указывается? При использования подпрограмм задержки - delay_loop? 3) Я пытался вызвать функцию из другой функции, но что-то в Студии корректного перехода не увидел - это я такой кривой или программная отладка тупит?  ) 4) Как втыкать ассемблерные вставки в Сишный код, например, в обработчиках прерываний? 5) Сишники, дайте литературы (по WinAvr и по Сям) - хочу учиться ...  а не задавать глупые вопросы  Заранее благодарю. 1 Как обычно в Студии через watch 2 да 3 нужно больше информации, возможно? надо включить соответствующие заголовочные файлы. 4 документация по avr-libc поможет 5 Керниган, Ричи Язык программирования С, для Winavr документация по библиотеке и компилятору gcc
--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
|
|
|
|
|
Nov 25 2007, 17:14
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(skilful @ Nov 25 2007, 11:25)  Так я пытался через Watch - только там пишется Not in scope. Причем ниче не могу посмотреть - ни РОН, ни регистры ввода/вывода. А это такая особенность студии - переменные размещенные в регистрах не показывать  Если их сделать глобальными, gcc разместит их в раме и студия будет их отображать. Неудобно, но что делать... А ввод/вывод смотрится так же как и в ассемблере - через вкладку I/O View.
|
|
|
|
|
Nov 27 2007, 15:20
|
Группа: Новичок
Сообщений: 9
Регистрация: 27-11-07
Пользователь №: 32 731

|
Цитата(skilful @ Nov 25 2007, 00:18)  Здравствуйте. Помогите, пожалуйста, начинающему  Начинаю переходить с Асма на Си. Использую WinAvr. 1) Так вот...как можно в Студии посмотреть значения моих переменных? 2) потом...#define F_CPU 7372800UL что означают эти строчки? Это частота кварца. Для чего она указывается? При использования подпрограмм задержки - delay_loop? 3) Я пытался вызвать функцию из другой функции, но что-то в Студии корректного перехода не увидел - это я такой кривой или программная отладка тупит?  ) 4) Как втыкать ассемблерные вставки в Сишный код, например, в обработчиках прерываний? 5) Сишники, дайте литературы (по WinAvr и по Сям) - хочу учиться ...  а не задавать глупые вопросы  Заранее благодарю. Компилятор тута ни при чем изучай С когда ты объявляешь локальные переменные они видятся только там где их ты объявил а если объявишь глобальные то их можно посмотреть в любой функции или прерывании и еще когода объевляешь переменную которая используется и в прерывании и в функции обязательно ставь volatile
|
|
|
|
|
Nov 28 2007, 09:33
|
Частый гость
 
Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411

|
там все просто. Создаешь свой makefile утилиткой Mfile. Изменяешь оптимизацию, МК и все такое... Дальше Debug format = AVR Studio 4.07+ Target = <название твоего файла> без расширения А потом открываешь Makefile и прописываешь: SRC = <название файла>.c CPPSRC = пусто И все компилится нормально и все работает как по книге  SergeyYA, спасибо за ответ. Уже потихоньку изучаю
|
|
|
|
|
Nov 28 2007, 10:16
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(Freeze Anti @ Nov 28 2007, 09:07)  В книжке, которую я указал выше есть совет использовать makefile, записанный на прилагаемом диске с некоторыми корректировками Тот плагин, который сейчас идет в комплекте со студией сам создает нужный makefile. Т.е. создаете новый проект, в качестве toolchain выбираете GCC и получаете заготовку проекта с main() и makefile. Все настройки через менюшки студии, новые файлы добавляются в makefile автоматически. Когда возможностей менюшки вам станет мало, укажете в опциях проекта external makefile, возьмете то, что уже создала студия и будете его править.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Nov 28 2007, 12:24
|

Начинающий профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648

|
Цитата(Сергей Борщ @ Nov 28 2007, 13:16)  Тот плагин, который сейчас идет в комплекте со студией сам создает нужный makefile. Т.е. создаете новый проект, в качестве toolchain выбираете GCC и получаете заготовку проекта с main() и makefile. Все настройки через менюшки студии, новые файлы добавляются в makefile автоматически. Когда возможностей менюшки вам станет мало, укажете в опциях проекта external makefile, возьмете то, что уже создала студия и будете его править. Makefile студии отличается от файла, генерируемого утилитой для WinAvr. может собраться студией, а make его может забраковать ( личный опыт).
--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
|
|
|
|
|
Nov 28 2007, 13:30
|
Группа: Новичок
Сообщений: 9
Регистрация: 27-11-07
Пользователь №: 32 731

|
Цитата(mdmitry @ Nov 28 2007, 15:24)  Makefile студии отличается от файла, генерируемого утилитой для WinAvr. может собраться студией, а make его может забраковать ( личный опыт). согласен что на вин авр написанный проект не компилится под студию но изначально созданный в студии проект компилится отлаживается и все такое всегда без проблем и маке файл там создается автоматически и настраивается из под меню элементарно вот уже год сижу на студии пока проблем таких грандиозных вроде пока не было
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|