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

 
 
> Пару вопросов по AT91SAM7S и IAR от начинающего, делаю лог анализатор, появились вопросы
Handler
сообщение Jul 9 2007, 23:40
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 5-12-06
Пользователь №: 23 156



Решил вот перейти с AVR на ARM7 выбрал плату Olimex на AT91SAM7S256, писать решил под IAR так как под него есть примеры. Сейчас надо написать лог анализатор простейший, чтоб был и, заодно, чтоб научиться, появилось пару вопросов.
Алгоритм анализатора простой, ждем изменения на входе, когда что-то происходит записуем значение входа и время по таймеру в память, потом передаём все по USB на компьютер.
1.Раньше я писал на ассемблере и алгоритм был такой ищу что мне надо в pdf, там же нахожу нужную мне команду и хороший пример, под С я так понимаю все по другому сначала думаешь, что тебе надо потом ищешь в библиотеке нужную функцию, я прав?
вот например надо мне прочитать порты, нашел в библиотеке
/*----------------------------------------------------------------------------
//* \fn AT91F_PIO_GetInput
//* \brief Return PIO input value
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_PIO_GetInput( // \return PIO input
AT91PS_PIO pPio) // \arg pointer to a PIO controller
{
return pPio->PIO_PDSR;
}
как я понял надо примерно так
unsigned int a;
a_in= AT91F_PIO_GetInput(AT91C_BASE_PIOA);
Вопрос, теперь а_in будет значением порта, 32-битным числом?
До этого я так понял надо порты включить и назначить на выход
unsigned int b=0x00000000;
// First, enable the clock of the PIOB
AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_PIOA ) ;
//* to be outputs. No need to set these pins to be driven by the PIO because it is GPIO pins only.
AT91F_PIO_CfgInput( AT91C_BASE_PIOA, b ) ;
2. Тут все говорят про пример BasicUsb, как это ни странно но я нашел только
AT91SAM7S-BasicUSART_USB, под IAR есть вроде только это(а там нет записи, только чтение), или я не прав? есть ещё пример под gcc at91sam7s64_basicusb_20060901_public
там вроде с USB побольше, могу я из него брать куски кода или IAR не поймет?
3. Я не нашел в библиотеке функций отвечающих за таймер TC, мне надо установить частоту и читать значение самого таймера, и ещё есть ли у него функция обнуления, чтоб не боятся переполнения и каждый раз его самому обнулять.
4. Как вообще писать в память и читать из неё, под асм все понятно адреса и до конца(до последнего адреса), а как на С забить все память, какая мне нужна функция?
Ещё после 8 бит на AVR тут, когда вроде можно и 8 и 16 и 32, не совсем все понятно, могу я прочитать только первые 16 бит порта и объединить их с 16-битным таймером в одно двойное слово 32-битное и записать так в память, или как это вообще происходит.
5.В примере для USB передаётся массив
char data[MSG_SIZE];
а у меня вот в памяти будут значения портов и таймера, как мне их подсовывать в
pCDC.Write(&pCDC, data, length); (взято из примера под gcc, я так понимаю сюда надо вставлять данные которые хочешь передать на компьютер.)
6.Я понял, что когда МК с соответствующей прогой подключается к компьютеру, ему(компьютеру) надо дать атмеловский драйвер, а какой прогой получаться сами данные и где взять эту программу? и в каком виду данные появятся на компьютере?
Я понимаю, что мои вопросы дилетантские но все же очень хочется разобраться.
Всем ответившим заранее СПАСИБО.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Handler
сообщение Jul 12 2007, 23:10
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 5-12-06
Пользователь №: 23 156



По умолчанию в регистрах те значения что стоят а в pdf по АТ91 первыми, как мне например узнать частоту таймера и ядра по умолчанию.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 13 2007, 06:30
Сообщение #3


Гуру
******

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



Цитата(Handler @ Jul 13 2007, 02:10) *
По умолчанию в регистрах те значения что стоят а в pdf по АТ91 первыми
Вот эти значения и показывают, что по умолчанию таймер стоит, а ядро тактируется от SLCLK. SLCLK равна 32768 Гц плюс-минус лапоть, точнее лапоть можно уточнить в даташите.


--------------------
На любой вопрос даю любой ответ
"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

Сообщений в этой теме
- Handler   Пару вопросов по AT91SAM7S и IAR от начинающего   Jul 9 2007, 23:40
- - Сергей Борщ   Цитата(Handler @ Jul 10 2007, 02:40) под ...   Jul 10 2007, 08:11
|- - Handler   Цитата(Сергей Борщ @ Jul 10 2007, 11:11) ...   Jul 15 2007, 21:42
|- - Сергей Борщ   Цитата(Handler @ Jul 16 2007, 00:42) Вот ...   Jul 16 2007, 08:21
- - Handler   Спасибо за ответ. ЦитатаНа С в большинстве случаев...   Jul 10 2007, 18:40
|- - Сергей Борщ   Цитата(Handler @ Jul 10 2007, 21:40) да э...   Jul 11 2007, 13:46
- - Handler   uint32_t A[8000]; странно но мой компилятор(IAR) ...   Jul 11 2007, 19:43
|- - Сергей Борщ   Цитата(Handler @ Jul 11 2007, 22:43) стра...   Jul 12 2007, 06:24
- - a3r3   Да.   Jul 11 2007, 20:23
- - Handler   а пример BasicUSB все таки существует под IAR, есл...   Jul 11 2007, 23:27
|- - Calculator   Цитата(Handler @ Jul 12 2007, 05:27) а пр...   Jul 12 2007, 03:39
|- - Handler   Цитата(Calculator @ Jul 12 2007, 07:39) О...   Jul 12 2007, 12:48
|- - Handler   Цитата(Сергей Борщ @ Jul 13 2007, 10:30) ...   Jul 13 2007, 19:10
- - Handler   Странно но у меня пропадает возможность править пр...   Jul 13 2007, 21:16
|- - defunct   Цитата(Handler @ Jul 14 2007, 00:16) тепе...   Jul 14 2007, 23:14
- - Handler   Пытаюсь запустить таймер и как то странно не получ...   Jul 17 2007, 14:03
|- - Сергей Борщ   Цитата(Handler @ Jul 17 2007, 17:03) //до...   Jul 17 2007, 14:48
|- - Handler   Цитата(Сергей Борщ @ Jul 17 2007, 17:48) ...   Jul 18 2007, 22:35
- - Handler   Скажите пожалуйста куда мне копать, если ли такие ...   Jul 19 2007, 17:24


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

 


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


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