|
SAM4S, Ничего не выходит |
|
|
|
 |
Ответов
|
Oct 14 2014, 18:26
|

Профессионал
    
Группа: Участник
Сообщений: 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] - для короткого!!!
|
|
|
|
Сообщений в этой теме
Грендайзер 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|