Allregia 9 7 марта, 2012 Опубликовано 7 марта, 2012 · Жалоба Легко. Кто знает, что внутри этой подпрограммы? Что значит "кто"? Выше дан ее исходник, там просто счет. И "счёт" - не самый объективный способ оценивать скорость процессора. Я не скорость процессора оцениваю, а время выполнения куска программы. К сведению: 50 МГц - это настройка крутизны фронтов драйвера порта. Я в курсе, но при задании фронта к примеру в 2мгц, заставлять дрыгать ножкой с частотой 10мгц как-то не очень корректно :) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KnightIgor 2 8 марта, 2012 Опубликовано 8 марта, 2012 · Жалоба Вопрос второй. Не понял с ногой NSS, можно ли ее аппаратно использовать для разрешения работы микрухи памяти? Или уже проще просто программно дергать любой удобной ногой? Если SPI - мастер, NSS надо управлять как обычным GPIO. Или любой другой ногой. Хотите "правильный" NSS, берите кортексы от NXP. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReRayne 0 9 марта, 2012 Опубликовано 9 марта, 2012 · Жалоба Кто-нибудь встречал как правильно обрабатывать прерывания от ETH_DMA_FLAG_RBU? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 9 марта, 2012 Опубликовано 9 марта, 2012 · Жалоба Я не скорость процессора оцениваю, а время выполнения куска программы. Тогда советую поднять уровень оптимизации. Правильный компилятор должен убрать "счёт" за ненадобностью. А под "подпрограммами" я имел в виду GPIO_SetBits() и GPIO_ResetBits(): никто не гарантирует, что они оптимизированы для скорости. Если нужна скорость, то следует писать в регистры напрямую. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
valera_o 0 10 марта, 2012 Опубликовано 10 марта, 2012 (изменено) · Жалоба Каким программатором можно внутрисхемно зашить микросхему памяти spi при питании 3В? Изменено 10 марта, 2012 пользователем valera_o Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 16 марта, 2012 Опубликовано 16 марта, 2012 · Жалоба Друзья, запутался в логических уровнях. Хочу сделать платку с загрузкой из внутренней флеш, т.е. всё по умолчанию. - BOOT0 подключаю к GND - RESET подключаю к 3.3в что это означает с точки зрения нулей и единиц? GND="1", 3.3v="0"? Где это написано, в таблице пинов нашёл только названия и 5v tolerancy.. Точное название входа reset по даташиту - NRST. N указывает на то, что активный уровень сигнала - низкий. Вообще в большинстве случаев вход reset именно такой. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 16 марта, 2012 Опубликовано 16 марта, 2012 · Жалоба Запустил пример из STM32_USB-FS-Device_Lib_V3.3.0, железо работает. Собственно нужно теперь разобраться как с помощь этой библиотеки строить USB в том виде, в каком мне нужно. Агурова читал, но как-то мало его. Есть ли еще что-то русскоязычное про USB кроме Русева? Есть ли что-то доходчивое собственно про библиотеку? Сейчас стоит задача передавать в оба конца буфер из 512 байт. Хочется чтоб без дополнительных драйверов, например HID. Спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 18 марта, 2012 Опубликовано 18 марта, 2012 · Жалоба Кто-нибудь делал устройство USB HID с помощью STM32_USB-FS-Device_Lib_V3.3.0 с нуля? Именно с нуля, а не переделкой примера? Помогите освоить это дело. Ну или помогите в примере Custom_HID разобраться получше. Спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
valera_o 0 19 марта, 2012 Опубликовано 19 марта, 2012 (изменено) · Жалоба Есть необходимость переместить SPI1 на другие выводы, т.е. ремапить. Инициализирую таким образом. 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; // } Не работает. Без ремапа, на обычных ногах работает нормально. Что поправить? добавить? Изменено 19 марта, 2012 пользователем IgorKossak [codebox]!!! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 132 19 марта, 2012 Опубликовано 19 марта, 2012 · Жалоба Что поправить?А не надо ли эти две строчки местами поменять?AFIO->MAPR |= AFIO_MAPR_SPI1_REMAP; RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; 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). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
valera_o 0 19 марта, 2012 Опубликовано 19 марта, 2012 (изменено) · Жалоба Спасибо. поменял. не помогло. Нашел. По сбросу на PB3,PB4, PA15 используются для отладки по jtag. AFIO->MAPR |=AFIO_MAPR_SWJ_CFG_JTAGDISABLE; Заработало. SPI1 перенесен на альтернативные ноги. Изменено 19 марта, 2012 пользователем valera_o Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
valera_o 0 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба Развожу плату под stm32f100c4. Помогите правильно определиться с ногами необходимыми для программирования SWD, есть плата Дискавери. Я так понял, что необходимы ноги SWDIO, SWDCLK, Vss, Vdd. Что делать с ногами BOOT0 и BOOT1? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба Что делать с ногами BOOT0 и BOOT1?Зависит откуда вы хотите загружаться:) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alfa 0 20 марта, 2012 Опубликовано 20 марта, 2012 (изменено) · Жалоба Что делать с ногами...? Я бы рекомендовал вам почитать Reference manual RM0041 STM32F100xx advanced ARM-based 32-bit MCUs. Но не раздел 2.4 Boot configuration в котором есть таблица 6 в которой написано что же делать с этими ногами. И не 25.4.1 SWJ debug port pins где написано про выводы JTAG и SW, а хотя бы на раз по диагонали просмотреть весь документ. Уверен вы узнаете много нового и полезного. И знания эти помогут избежать ошибок... ну и даташит никто не отменял... Изменено 20 марта, 2012 пользователем Alfa Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
valera_o 0 20 марта, 2012 Опубликовано 20 марта, 2012 (изменено) · Жалоба Спасибо за ответы. Нужно запрограммировать и запускать main из собственной памяти контроллера. Сейчас открою доки, просмотрю. Это мечта - взять и прочитать весь документ. Стоит конкретная задача, конкретная периферия, вот и читается сначала то, что необходимо. Изменено 20 марта, 2012 пользователем valera_o Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться