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

 
 
> SAM4S, Ничего не выходит
Грендайзер
сообщение Oct 14 2014, 18:01
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451



Здравствуйте всем! Попала в руки отлпдочная плата SAM4S-EK2 на базе контроллера ATSAM4SD32C. Ранее никогда не работал ни с ARM ни с Cortex ну и встрял. Немного работал с AVR так там всё элементарно... Надо что то - посмотрел в даташите необходимый регистр, записал в него что нужно и всё... А здесь.. смотрел в даташит, так там как будто Лев Толстой приложился столько букв sad.gif И хоть убей, не вижу как элементарно вывести единичку в порт?

Сообщение отредактировал Грендайзер - Oct 14 2014, 18:08
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Genadi Zawidowsk...
сообщение Oct 14 2014, 18:26
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Вот посмотрите... Разберетесь?
CODE
void
arm_hardware_pioa_outputs(unsigned long opins, unsigned long initialstate)
{
#if CPUSTYLE_AT91SAM7S

AT91C_BASE_PMC->PMC_PCER = 1UL << AT91C_ID_PIOA; // разрешить тактированние этого блока

AT91C_BASE_PIOA->PIO_SODR = (opins & initialstate); // Установка единицы в регистре данных
AT91C_BASE_PIOA->PIO_CODR = (opins & ~ initialstate); // Установка нулей в регистре данных

AT91C_BASE_PIOA->PIO_OER = opins; // Разрешение выхода
AT91C_BASE_PIOA->PIO_PPUDR = opins; // disable pull-up resistors
AT91C_BASE_PIOA->PIO_MDDR = opins; // Disable open drain output

#elif CPUSTYLE_ATSAM3S || CPUSTYLE_ATSAM4S

PMC->PMC_PCER0 = (1UL << ID_PIOA);

PIOA->PIO_SODR = (opins & initialstate); // Установка единицы в регистре данных
PIOA->PIO_CODR = (opins & ~ initialstate); // Установка нулей в регистре данных

PIOA->PIO_OER = opins; // эти выводы на вывод - похоже, при работе с периферийными устройствами не требуется.
PIOA->PIO_PUDR = opins;
PIOA->PIO_MDDR = opins; // Disable open drain output

#elif CPUSTYLE_STM32F10X

RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; /* I/O port A clock enable */
__DSB();
// Установка начального состояния битов
GPIOA->BSRR = (GPIO_BSRR_BS0 * (initialstate & opins)) | (GPIO_BSRR_BR0 * (~ initialstate & opins));
// Установка режима выводов
arm_stm32f10x_hardware_pio_prog(GPIOA, opins, 0, 1); /* Установить CNF=0 и MODE=1 для указанных битов */

#elif CPUSTYLE_STM32F4XX

RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; /* I/O port A clock enable */
__DSB();
// Установка начального состояния битов
arm_stm32f4xx_hardware_pio_setstate(GPIOA, opins, initialstate);
// Установка режима выводов
arm_stm32f30x_hardware_pio_prog(GPIOA, opins, 1, 1, 0, 0); /* mode, speed, pupdr, typer */

#elif CPUSTYLE_STM32F30X || CPUSTYLE_STM32F0XX

RCC->AHBENR |= RCC_AHBENR_GPIOAEN; /* I/O port A clock enable */
// Установка начального состояния битов
GPIOA->BSRR = (GPIO_BSRR_BS_0 * (initialstate & opins)) | (GPIO_BSRR_BR_0 * (~ initialstate & opins));
// Установка режима выводов
arm_stm32f30x_hardware_pio_prog(GPIOA, opins, 1, 1, 0, 0); /* mode, speed, pupdr, typer */

#else
#error Undefined CPUSTYLE_XXX
#endif
}


Сообщение отредактировал IgorKossak - Oct 15 2014, 08:16
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Грендайзер   SAM4S   Oct 14 2014, 18:01
- - Leopoldius   Все зависит от того чем Вы предпочитаете пользоват...   Oct 14 2014, 18:29
- - Golikov A.   А еще надо не путать даташит и рефернс мануал. В о...   Oct 14 2014, 19:04
- - Leopoldius   О да, особенно СТМ этим страдает. У АТМЕЛ в этом п...   Oct 14 2014, 19:09
- - Грендайзер   ЦитатаВот посмотрите... Разберетесь? Честно говоря...   Oct 14 2014, 19:15
|- - Leopoldius   Цитата(Грендайзер @ Oct 14 2014, 22:15) А...   Oct 14 2014, 19:23
- - Грендайзер   ЦитатаЕсли есть опыт работы с другими МК, то я бы ...   Oct 14 2014, 19:52
- - Golikov A.   В АРМах не принято порты буквами называть. И на са...   Oct 15 2014, 05:15
- - Грендайзер   Нашёл в студии заголовочник "sam4sd32c.h...   Oct 15 2014, 06:49
|- - DmitryM   Цитата(Грендайзер @ Oct 15 2014, 10:01) Н...   Oct 15 2014, 06:52
|- - KnightIgor   Цитата(Грендайзер @ Oct 15 2014, 08:49) Н...   Oct 15 2014, 09:46
- - Golikov A.   обычно хорошим тоном бывает давать в заголовочном ...   Oct 15 2014, 08:14
- - Грендайзер   Фух, запустил внутренний "медленный" ква...   Oct 15 2014, 11:55
|- - KnightIgor   Цитата(Грендайзер @ Oct 15 2014, 13:55) K...   Oct 15 2014, 13:03
- - Leopoldius   По поводу студии и почему не работает PORTB в ваше...   Oct 15 2014, 12:17
- - Golikov A.   а я бы сказал что так делать не надо, по описанной...   Oct 15 2014, 12:50
|- - Leopoldius   Цитата(Golikov A. @ Oct 15 2014, 15:50) а...   Oct 15 2014, 13:00
- - Грендайзер   ЦитатаЭто самый короткий, прямой путь без сюрпризо...   Oct 15 2014, 13:39
- - Golikov A.   Правда как всегда по середине. Я всегда за то что...   Oct 15 2014, 14:17
- - Грендайзер   Здравствуйте! Продолжаю мучить ATSAM4S32C. Дош...   Jul 29 2015, 09:54
- - Obam   Формально да (но попробовать не запрещено), ЦАП бы...   Jul 29 2015, 10:13
- - Грендайзер   Всё ясно, спасибо. Хотя всёравно как то печально   Jul 29 2015, 10:17
- - Грендайзер   Всем доброго времени суток. Опять столкнулся с про...   Aug 5 2015, 10:10
- - Obam   Не грех посмотреть в сгенерённый код: куда dout та...   Aug 5 2015, 11:04
- - Грендайзер   ЦитатаНе грех посмотреть в сгенерённый код: куда d...   Aug 5 2015, 11:56
- - scifi   У вас шнурки развязались не код, а полный бардак. ...   Aug 5 2015, 12:13
- - Грендайзер   прошу прощения за ошибки допущенные при копировани...   Aug 5 2015, 12:40
|- - DmitryM   Цитата(Грендайзер @ Aug 5 2015, 16:40) пр...   Aug 5 2015, 13:43
- - Golikov A.   int din = 0; int dout = 0; вот это под volatile ...   Aug 5 2015, 12:55
- - Грендайзер   Цитатакакая там у вас битность ЦАП? не переполнитс...   Aug 5 2015, 13:14
|- - scifi   Цитата(Грендайзер @ Aug 5 2015, 16:14) И ...   Aug 5 2015, 13:30
- - RabidRabbit   А прерывания от АЦП с какой частотой следуют? Не т...   Aug 5 2015, 13:14
- - Golikov A.   возникло прерывание, а дальше? флаг наличия прерыв...   Aug 5 2015, 13:28
- - Грендайзер   RabidRabbit, а не всё ли равно, с какой частотой с...   Aug 5 2015, 14:46
|- - scifi   Цитата(Грендайзер @ Aug 5 2015, 17:46) Ла...   Aug 5 2015, 15:57
- - Грендайзер   ЦитатаИ ещё один вопрос: при этом у процессора воо...   Aug 5 2015, 17:08
|- - scifi   Цитата(Грендайзер @ Aug 5 2015, 20:08) Ск...   Aug 5 2015, 17:32
- - Грендайзер   ЦитатаПредставьте, что одна итерация "мигания...   Aug 5 2015, 18:01
|- - scifi   Цитата(Грендайзер @ Aug 5 2015, 21:01) Не...   Aug 5 2015, 18:04
- - Грендайзер   да... это до меня дошло... завтра попробую ещё раз...   Aug 5 2015, 19:01
- - Golikov A.   вам не кейз надо делать, потому что попав в одно с...   Aug 5 2015, 19:06
- - Грендайзер   Снова здравствуйте. Вообщем промучился ещё день но...   Aug 7 2015, 12:13
- - zltigo   Это не проблема ARM, а проблема того, что сие ника...   Aug 7 2015, 12:35
- - scifi   +100500, пила там точно не получится. Для начала н...   Aug 7 2015, 12:43
- - Грендайзер   Ну началось... Бог с ней с пилой... Мне не важно, ...   Aug 7 2015, 13:20
|- - zltigo   QUOTE (Грендайзер @ Aug 7 2015, 16:20) а ...   Aug 7 2015, 13:31
- - Грендайзер   ЦитатаВы свое 'n' и 'dout' как-бы ...   Aug 7 2015, 13:39
|- - scifi   Цитата(Грендайзер @ Aug 7 2015, 16:39) Ча...   Aug 7 2015, 13:45
|- - zltigo   QUOTE (Грендайзер @ Aug 7 2015, 16:39) Ча...   Aug 7 2015, 13:51
|- - RabidRabbit   Цитата(Грендайзер @ Aug 7 2015, 16:39) Ча...   Aug 10 2015, 06:25
- - Грендайзер   ЦитатаНу тогда так: не забыли приписать volatile к...   Aug 7 2015, 13:47
|- - scifi   Цитата(Грендайзер @ Aug 7 2015, 16:47) Не...   Aug 7 2015, 13:51
|- - zltigo   QUOTE (Грендайзер @ Aug 7 2015, 16:47) Не...   Aug 7 2015, 13:55
- - scifi   Кстати, а что надо-то? А то пока что и пила, котор...   Aug 7 2015, 13:58
- - Грендайзер   ЦитатаЧто на выходе получиться должно-то? Должно п...   Aug 7 2015, 14:11
|- - scifi   Цитата(Грендайзер @ Aug 7 2015, 17:11) Та...   Aug 7 2015, 14:14
- - Грендайзер   ЦитатаЛегко. Запретить прерывания на время проверк...   Aug 7 2015, 14:20
|- - scifi   Цитата(Грендайзер @ Aug 7 2015, 17:20) Пр...   Aug 7 2015, 15:46
- - Грендайзер   Имею некоторый негативный опыт запихивания изрядно...   Aug 7 2015, 17:18
|- - scifi   Цитата(Грендайзер @ Aug 7 2015, 20:18) Им...   Aug 7 2015, 19:22
- - Грендайзер   ЦитатаПардон, но вам до такого понимания как пешко...   Aug 10 2015, 05:51
- - Грендайзер   Вылезает. При выходе из прерывания, я его отключаю...   Aug 10 2015, 07:14
- - Грендайзер   Ну сейчас меня с гавн съедят, и всё же... Товарищ ...   Aug 11 2015, 11:38


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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 15:04
Рейтинг@Mail.ru


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