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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> несколько вопросов, по WinAVR + AVRStudio
skilful
сообщение Nov 24 2007, 21:18
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



Здравствуйте. Помогите, пожалуйста, начинающему smile.gif


Начинаю переходить с Асма на Си. Использую WinAvr.

1) Так вот...как можно в Студии посмотреть значения моих переменных?
2) потом...#define F_CPU 7372800UL что означают эти строчки? Это частота кварца. Для чего она указывается? При использования подпрограмм задержки - delay_loop?
3) Я пытался вызвать функцию из другой функции, но что-то в Студии корректного перехода не увидел - это я такой кривой или программная отладка тупит? wink.gif)
4) Как втыкать ассемблерные вставки в Сишный код, например, в обработчиках прерываний?


5) Сишники, дайте литературы (по WinAvr и по Сям) - хочу учиться ... wink.gif а не задавать глупые вопросы wink.gif


Заранее благодарю.

Сообщение отредактировал skilful - Nov 24 2007, 21:26
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 24 2007, 23:51
Сообщение #2


Начинающий профессионал
*****

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



Цитата(skilful @ Nov 25 2007, 00:18) *
Здравствуйте. Помогите, пожалуйста, начинающему smile.gif
Начинаю переходить с Асма на Си. Использую WinAvr.

1) Так вот...как можно в Студии посмотреть значения моих переменных?
2) потом...#define F_CPU 7372800UL что означают эти строчки? Это частота кварца. Для чего она указывается? При использования подпрограмм задержки - delay_loop?
3) Я пытался вызвать функцию из другой функции, но что-то в Студии корректного перехода не увидел - это я такой кривой или программная отладка тупит? wink.gif)
4) Как втыкать ассемблерные вставки в Сишный код, например, в обработчиках прерываний?
5) Сишники, дайте литературы (по WinAvr и по Сям) - хочу учиться ... wink.gif а не задавать глупые вопросы wink.gif
Заранее благодарю.

1 Как обычно в Студии через watch
2 да
3 нужно больше информации, возможно? надо включить соответствующие заголовочные файлы.
4 документация по avr-libc поможет
5 Керниган, Ричи Язык программирования С, для Winavr документация по библиотеке и компилятору gcc


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
skilful
сообщение Nov 25 2007, 07:25
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



Так я пытался через Watch - только там пишется Not in scope. Причем ниче не могу посмотреть - ни РОН, ни регистры ввода/вывода.
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Nov 25 2007, 17:14
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Цитата(skilful @ Nov 25 2007, 11:25) *
Так я пытался через Watch - только там пишется Not in scope. Причем ниче не могу посмотреть - ни РОН, ни регистры ввода/вывода.

А это такая особенность студии - переменные размещенные в регистрах не показывать sad.gif
Если их сделать глобальными, gcc разместит их в раме и студия будет их отображать. Неудобно, но что делать...
А ввод/вывод смотрится так же как и в ассемблере - через вкладку I/O View.
Go to the top of the page
 
+Quote Post
skilful
сообщение Nov 25 2007, 20:13
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



спасибо. Разобрался. Чтоб увидеть свою переменную поставил уровень оптимизации -оО и о чудо...
но отладка какая-то буторная - указатель команды ставится на пустые строчки, с функциями вообще жесть....
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 25 2007, 21:37
Сообщение #6


Начинающий профессионал
*****

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



Цитата(skilful @ Nov 25 2007, 23:13) *
спасибо. Разобрался. Чтоб увидеть свою переменную поставил уровень оптимизации -оО и о чудо...
но отладка какая-то буторная - указатель команды ставится на пустые строчки, с функциями вообще жесть....

Посмотрите диасссемблер, станет понятнее про пустые строчки.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
SergeyYA
сообщение Nov 27 2007, 15:20
Сообщение #7





Группа: Новичок
Сообщений: 9
Регистрация: 27-11-07
Пользователь №: 32 731



Цитата(skilful @ Nov 25 2007, 00:18) *
Здравствуйте. Помогите, пожалуйста, начинающему smile.gif
Начинаю переходить с Асма на Си. Использую WinAvr.

1) Так вот...как можно в Студии посмотреть значения моих переменных?
2) потом...#define F_CPU 7372800UL что означают эти строчки? Это частота кварца. Для чего она указывается? При использования подпрограмм задержки - delay_loop?
3) Я пытался вызвать функцию из другой функции, но что-то в Студии корректного перехода не увидел - это я такой кривой или программная отладка тупит? wink.gif)
4) Как втыкать ассемблерные вставки в Сишный код, например, в обработчиках прерываний?
5) Сишники, дайте литературы (по WinAvr и по Сям) - хочу учиться ... wink.gif а не задавать глупые вопросы wink.gif
Заранее благодарю.

Компилятор тута ни при чем изучай С когда ты объявляешь локальные переменные они видятся только там где их ты объявил а если объявишь глобальные то их можно посмотреть в любой функции или прерывании и еще когода объевляешь переменную которая используется и в прерывании и в функции обязательно ставь volatile
Go to the top of the page
 
+Quote Post
Freeze Anti
сообщение Nov 28 2007, 07:07
Сообщение #8


Частый гость
**

Группа: Новичок
Сообщений: 153
Регистрация: 29-03-07
Из: Саратов
Пользователь №: 26 613



Из литературы могу посоветвать книжку: Ю.А.Шпак Программирование на языке C для AVR и PIC микроконтроллеров.

только у меня в связи с этой книжкой вопрос... я все время программировал в IAR Embedded Workbench, а тут во нужно быстро перейти но WinAVR. У меня возникла первая же сложность с makefile. В книжке, которую я указал выше есть совет использовать makefile, записанный на прилагаемом диске с некоторыми корректировками, которые объясняются в книге... но я скачивал книгу в djvu формате из интернета и, разумеется никакого диска у меня нет... может кто сможет написать содержимое этого makefile или дать какие-то инструкции, как его изготовить самому...


--------------------
!!! All you need is LOVE !!!
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 28 2007, 07:29
Сообщение #9


Начинающий профессионал
*****

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



Цитата(Freeze Anti @ Nov 28 2007, 10:07) *
Из литературы могу посоветвать книжку: Ю.А.Шпак Программирование на языке C для AVR и PIC микроконтроллеров.

только у меня в связи с этой книжкой вопрос... я все время программировал в IAR Embedded Workbench, а тут во нужно быстро перейти но WinAVR. У меня возникла первая же сложность с makefile. В книжке, которую я указал выше есть совет использовать makefile, записанный на прилагаемом диске с некоторыми корректировками, которые объясняются в книге... но я скачивал книгу в djvu формате из интернета и, разумеется никакого диска у меня нет... может кто сможет написать содержимое этого makefile или дать какие-то инструкции, как его изготовить самому...

В ветке по AVR выкладывались makefile, не менее двух вариантов. Воспользуйтесь поиском.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
skilful
сообщение Nov 28 2007, 09:33
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



там все просто. Создаешь свой makefile утилиткой Mfile. Изменяешь оптимизацию, МК и все такое...
Дальше
Debug format = AVR Studio 4.07+
Target = <название твоего файла> без расширения

А потом открываешь Makefile и прописываешь:
SRC = <название файла>.c
CPPSRC = пусто


И все компилится нормально и все работает как по книге wink.gif

SergeyYA, спасибо за ответ. Уже потихоньку изучаю wink.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 28 2007, 10:16
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 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)
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 28 2007, 12:24
Сообщение #12


Начинающий профессионал
*****

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



Цитата(Сергей Борщ @ Nov 28 2007, 13:16) *
Тот плагин, который сейчас идет в комплекте со студией сам создает нужный makefile. Т.е. создаете новый проект, в качестве toolchain выбираете GCC и получаете заготовку проекта с main() и makefile. Все настройки через менюшки студии, новые файлы добавляются в makefile автоматически. Когда возможностей менюшки вам станет мало, укажете в опциях проекта external makefile, возьмете то, что уже создала студия и будете его править.

Makefile студии отличается от файла, генерируемого утилитой для WinAvr. может собраться студией, а make его может забраковать ( личный опыт).


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
SergeyYA
сообщение Nov 28 2007, 13:30
Сообщение #13





Группа: Новичок
Сообщений: 9
Регистрация: 27-11-07
Пользователь №: 32 731



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

согласен что на вин авр написанный проект не компилится под студию но изначально созданный в студии проект компилится отлаживается и все такое всегда без проблем и маке файл там создается автоматически и настраивается из под меню элементарно вот уже год сижу на студии пока проблем таких грандиозных вроде пока не было 1111493779.gif
Go to the top of the page
 
+Quote Post
fmdost
сообщение Nov 28 2007, 18:38
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(Freeze Anti @ Nov 28 2007, 11:07) *
Из литературы могу посоветвать книжку: Ю.А.Шпак Программирование на языке C для AVR и PIC микроконтроллеров.
.....

Дядь! Ссылочкой бы поделился, а ещё лучше на сахару её саму.
Go to the top of the page
 
+Quote Post
skilful
сообщение Nov 28 2007, 21:21
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



http://dasbook.ru/?id=24&n=2
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:44
Рейтинг@Mail.ru


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