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

 
 
33 страниц V  « < 28 29 30 31 32 > »   
Closed TopicStart new topic
> STM32 – вопросы – проблемы - решения.
Allregia
сообщение Mar 7 2012, 06:21
Сообщение #436


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

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(scifi @ Mar 6 2012, 23:31) *
Легко. Кто знает, что внутри этой подпрограммы?


Что значит "кто"? Выше дан ее исходник, там просто счет.

Цитата
И "счёт" - не самый объективный способ оценивать скорость процессора.


Я не скорость процессора оцениваю, а время выполнения куска программы.


Цитата
К сведению: 50 МГц - это настройка крутизны фронтов драйвера порта.



Я в курсе, но при задании фронта к примеру в 2мгц, заставлять дрыгать ножкой с частотой 10мгц как-то не очень корректно sm.gif
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Mar 8 2012, 21:19
Сообщение #437


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(valera_o @ Mar 4 2012, 21:47) *
Вопрос второй. Не понял с ногой NSS, можно ли ее аппаратно использовать для разрешения работы микрухи памяти? Или уже проще просто программно дергать любой удобной ногой?

Если SPI - мастер, NSS надо управлять как обычным GPIO. Или любой другой ногой.
Хотите "правильный" NSS, берите кортексы от NXP.
Go to the top of the page
 
+Quote Post
ReRayne
сообщение Mar 9 2012, 13:18
Сообщение #438


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 12-10-11
Из: Москва
Пользователь №: 67 699



Кто-нибудь встречал как правильно обрабатывать прерывания от ETH_DMA_FLAG_RBU?
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 9 2012, 19:10
Сообщение #439


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Allregia @ Mar 7 2012, 10:21) *
Я не скорость процессора оцениваю, а время выполнения куска программы.

Тогда советую поднять уровень оптимизации. Правильный компилятор должен убрать "счёт" за ненадобностью.
А под "подпрограммами" я имел в виду GPIO_SetBits() и GPIO_ResetBits(): никто не гарантирует, что они оптимизированы для скорости. Если нужна скорость, то следует писать в регистры напрямую.
Go to the top of the page
 
+Quote Post
valera_o
сообщение Mar 10 2012, 16:23
Сообщение #440


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 2-04-08
Пользователь №: 36 402



Каким программатором можно внутрисхемно зашить микросхему памяти spi при питании 3В?

Сообщение отредактировал valera_o - Mar 10 2012, 16:30
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 16 2012, 08:03
Сообщение #441


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(tmtlib @ Mar 16 2012, 11:46) *
Друзья, запутался в логических уровнях. Хочу сделать платку с загрузкой из внутренней флеш, т.е. всё по умолчанию.
- BOOT0 подключаю к GND
- RESET подключаю к 3.3в
что это означает с точки зрения нулей и единиц? GND="1", 3.3v="0"? Где это написано, в таблице пинов нашёл только названия и 5v tolerancy..

Точное название входа reset по даташиту - NRST. N указывает на то, что активный уровень сигнала - низкий. Вообще в большинстве случаев вход reset именно такой.
Go to the top of the page
 
+Quote Post
smk
сообщение Mar 16 2012, 19:28
Сообщение #442


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Запустил пример из STM32_USB-FS-Device_Lib_V3.3.0, железо работает. Собственно нужно теперь разобраться как с помощь этой библиотеки строить USB в том виде, в каком мне нужно. Агурова читал, но как-то мало его. Есть ли еще что-то русскоязычное про USB кроме Русева? Есть ли что-то доходчивое собственно про библиотеку? Сейчас стоит задача передавать в оба конца буфер из 512 байт. Хочется чтоб без дополнительных драйверов, например HID. Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
smk
сообщение Mar 18 2012, 10:26
Сообщение #443


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Кто-нибудь делал устройство USB HID с помощью STM32_USB-FS-Device_Lib_V3.3.0 с нуля? Именно с нуля, а не переделкой примера? Помогите освоить это дело. Ну или помогите в примере Custom_HID разобраться получше. Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
valera_o
сообщение Mar 19 2012, 10:59
Сообщение #444


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 2-04-08
Пользователь №: 36 402



Есть необходимость переместить SPI1 на другие выводы, т.е. ремапить.
Инициализирую таким образом.

CODE
void SPI_init(void)
{ // spi B3 SCK,B4 MISO,B5 MOSI, А15 NSS

AFIO->MAPR |= AFIO_MAPR_SPI1_REMAP;

RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;

RCC->APB2ENR |= RCC_APB2ENR_IOPBEN;

RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;


// SS
GPIOA->CRH |= GPIO_CRH_MODE15; //A15
GPIOA->CRH &= ~GPIO_CRH_CNF15; //
GPIOA->BSRR = GPIO_BSRR_BS15; //


//SCK
GPIOB->CRL |= GPIO_CRL_MODE3; //B3
GPIOB->CRL &= ~GPIO_CRL_CNF3; //
GPIOB->CRL |= GPIO_CRL_CNF3_1; //

// MISO
GPIOB->CRL &= ~GPIO_CRL_MODE4; //B4
GPIOB->CRL &= ~GPIO_CRL_CNF4; //
GPIOB->CRL |= GPIO_CRL_CNF4_1; //
GPIOB->BSRR = GPIO_BSRR_BS4; //

//MOSI
GPIOB->CRL |= GPIO_CRL_MODE5; //B5
GPIOB->CRL &= ~GPIO_CRL_CNF5; //
GPIOB->CRL |= GPIO_CRL_CNF5_1; //

RCC->APB2ENR |= RCC_APB2ENR_SPI1EN;
SPI1->CR1 = 0x0000; //
SPI1->CR2 = 0x0000; //
SPI1->CR1 |=SPI_CR1_MSTR //
| SPI_CR1_BR_1 //
| SPI_CR1_SSI //
| SPI_CR1_SSM //
| SPI_CR1_SPE; //
}

Не работает. Без ремапа, на обычных ногах работает нормально. Что поправить? добавить?

Сообщение отредактировал IgorKossak - Mar 19 2012, 15:41
Причина редактирования: [codebox]!!!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 19 2012, 11:27
Сообщение #445


Гуру
******

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



QUOTE (valera_o @ Mar 19 2012, 12:59) *
Что поправить?
А не надо ли эти две строчки местами поменять?
CODE
AFIO->MAPR |= AFIO_MAPR_SPI1_REMAP;

RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;


QUOTE
Note: To read/write the AFIO_EVCR, AFIO_MAPR, AFIO_MAPR2 and AFIO_ EXTICRX registers,
the AFIO clock should first be enabled. Refer to APB2 peripheral clock enable register (RCC_APB2ENR).


--------------------
На любой вопрос даю любой ответ
"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
valera_o
сообщение Mar 19 2012, 12:07
Сообщение #446


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 2-04-08
Пользователь №: 36 402



Спасибо.
поменял. не помогло.
Нашел.
По сбросу на PB3,PB4, PA15 используются для отладки по jtag.

AFIO->MAPR |=AFIO_MAPR_SWJ_CFG_JTAGDISABLE;
Заработало. SPI1 перенесен на альтернативные ноги.

Сообщение отредактировал valera_o - Mar 19 2012, 19:40
Go to the top of the page
 
+Quote Post
valera_o
сообщение Mar 20 2012, 06:27
Сообщение #447


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 2-04-08
Пользователь №: 36 402



Развожу плату под stm32f100c4. Помогите правильно определиться с ногами необходимыми для программирования SWD, есть плата Дискавери.
Я так понял, что необходимы ноги SWDIO, SWDCLK, Vss, Vdd. Что делать с ногами BOOT0 и BOOT1?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Mar 20 2012, 07:50
Сообщение #448


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(valera_o @ Mar 20 2012, 10:27) *
Что делать с ногами BOOT0 и BOOT1?
Зависит откуда вы хотите загружатьсяsm.gif


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Alfa
сообщение Mar 20 2012, 08:16
Сообщение #449


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 9-02-06
Из: Челябинск
Пользователь №: 14 160



Цитата(valera_o @ Mar 20 2012, 12:27) *
Что делать с ногами...?


Я бы рекомендовал вам почитать Reference manual RM0041 STM32F100xx advanced ARM-based 32-bit MCUs. Но не раздел 2.4 Boot configuration в котором есть таблица 6 в которой написано что же делать с этими ногами. И не 25.4.1 SWJ debug port pins где написано про выводы JTAG и SW, а хотя бы на раз по диагонали просмотреть весь документ. Уверен вы узнаете много нового и полезного. И знания эти помогут избежать ошибок...


ну и даташит никто не отменял...

Сообщение отредактировал Alfa - Mar 20 2012, 08:17
Go to the top of the page
 
+Quote Post
valera_o
сообщение Mar 20 2012, 08:25
Сообщение #450


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 2-04-08
Пользователь №: 36 402



Спасибо за ответы.
Нужно запрограммировать и запускать main из собственной памяти контроллера.
Сейчас открою доки, просмотрю.
Это мечта - взять и прочитать весь документ. Стоит конкретная задача, конкретная периферия, вот и читается сначала то, что необходимо.

Сообщение отредактировал valera_o - Mar 20 2012, 08:36
Go to the top of the page
 
+Quote Post

33 страниц V  « < 28 29 30 31 32 > » 
Closed TopicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


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


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