19.10.2012, 00:02
|
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Кстати MicroXplorerMCU классная штука. Я только что применял. Подбирал так раскладку ног, чтобы любой проц можно было бы запаять. На 100 ног практически полностью уложился (не занятых штук 10 не больше). 407/207/103. В сотой серии выпадает ethernet, один SPI (придётся программно обрабатывать) и выход калибратора часов. Пока не придумал как поступить. ))
|
|
|
|
19.10.2012, 21:44
|
|
Прописка
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от pasipaka
|
Проблема с stm32f105rc.
Кварц на 12MHz.
IAR.
Что-то я с частотой срабатывания прерывания SysTick_Handler не смог согласиться.
Начал копать на какой же скорости работает камень.
Только на ноге ПортА пин 1 ничего не весит. Решил его "подергать".
Так вот
инициализация генератора:
[CODE]void InitRCC(void)
{
__IO uint32_t StartUpCounter = 0, HSEStatus = 0;
/* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/
/* Enable HSE */
RCC-›CR |= ((uint32_t)RCC_CR_HSEON);
Инициализация порта:
Код:
|
void common_port_init(void)
{
RCC-›APB2ENR |= RCC_APB2ENR_IOPAEN // takting Ports
| RCC_APB2ENR_IOPBEN
| RCC_APB2ENR_IOPCEN
| RCC_APB2ENR_IOPDEN ;
RCC-›APB2ENR |= RCC_APB2ENR_AFIOEN; // takting alternate function
GPIOA-›CRL = 0;
GPIOA-›CRH = 0;
GPIOB-›CRL = 0;
GPIOB-›CRH = 0;
GPIOC-›CRL = 0;
GPIOC-›CRH = 0;
GPIOD-›CRL = 0;
GPIOD-›CRH = 0;
AFIO-›MAPR |= AFIO_MAPR_SWJ_CFG_1; // ((uint32_t)0x02000000) /*!‹ Bit 1 */
// Bits 26:24 SWJ_CFG[2:0]: Serial wire JTAG configuration
// 010: JTAG-DP Disabled and SW-DP Enabled
} |
затем еще отдельно по PortA.1:
Код:
|
GPIOA-›CRL |= GPIO_CRL_MODE1; //50MHz set b11000 output max speed 50MHz ((uint32_t)0x00000030) =b 11 0000
GPIOA-›CRL &= ~GPIO_CRL_CNF1; //reset 00 p-p mode pin 1 ((uint32_t)0x000000C0) =b 1100 0000 |
И дергаем ногу:
Код:
|
while(1)
{
GPIOA-›BSRR = GPIO_BSRR_BS1;
GPIOA-›BSRR = GPIO_BSRR_BR1;
}
} |
И на выходе получаю.... см. осцилограмму
Вопрос: почему такая низкая частота - ок. 1,4МГц?
Периферия тактируется на 36МГц. Ядро должно быть 72.
Ожидал около 5МГц. Да и под 10 возможно...
Да и почему форма сигнала пила? На нове ничего нету кроме разьема.
Плата дисковери с 24МГц с аналогичным дерганьем Б порта дает 3,4МГц и форма сигнала - прямоугольник...
З.Ы.
Не пинайте. Код не мой. Дописываю.
|
Решил сегодня свою проблему и нога порта Б задергалась на 36МГц!
Может кому будет полезно и не наступал на мои грабли:
Добавил вначале инициализации тактового обнуление
RCC-›CR = 0;
RCC-›CFGR = 0;
Почему без такого не работало - хз. Ведь код инициализации вручную по своему сам переписывал... И как только не инициировал, например, PLLMUL упорно был 0111 (9х) вместо 0100 (6х). и в SWS было то что нужно. А тактировалось по факту фиг знает как и не отличалось от работы по дефолту (от HSI).
Ведь и перед прописыванием определлных байтов их вначале на 0 умножал....
А почему порт А такую пилу выдавал - хз. На 36МГц ничего почти не видно, кроме еди заметных пиков.
Такое впечатление что на ней кондюк сидит, хотя на принципиалке не обозначено.
|
|
|
|
21.10.2012, 15:30
|
|
Частый гость
Регистрация: 11.12.2010
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 3 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Изучая STM32F4хх, написал генератор начального кода для некоторых модулей. Возможны опечатки и ошибки в программе, будьте внимательны! Следующим напишу генератор для всех таймеров. Подключайтесь к написанию модулей.
|
|
|
Сказали "Спасибо" aleks-falcon
|
|
|
21.10.2012, 20:05
|
|
Прописка
Регистрация: 24.10.2006
Сообщений: 207
Сказал спасибо: 42
Сказали Спасибо 32 раз(а) в 31 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Помнится MicroXplorer мне не правильно выдавал порты для ШИМ на какой-то из таймеров, а в даташитах все правильно, проц был из дискавери.
|
|
|
|
21.10.2012, 20:52
|
|
Прописка
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от mux
|
Помнится MicroXplorer мне не правильно выдавал порты для ШИМ на какой-то из таймеров, а в даташитах все правильно, проц был из дискавери.
|
Сейчас уде версия 2. Потому.... Хотя ничему нельзя верить. Нужно перепроверять
|
|
|
|
22.10.2012, 11:32
|
|
Вид на жительство
Регистрация: 26.07.2007
Сообщений: 483
Сказал спасибо: 18
Сказали Спасибо 107 раз(а) в 68 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
BolshoyK, Приобрел такую-же отладочную плату (пока в дороге). Только начинаю знакомиться с STM32, до этого работал с филипсами. Такой вопрос, ее можно программировать по имеющимся на борту USB или нужен обязательно JTag?
Так-же есть просьба, не могли-бы вы создать отдельную ветку по вопросам HY-mini STM32? Спасибо
|
|
|
|
22.10.2012, 14:06
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от nerozero
|
имеющимся на борту USB или нужен обязательно JTag?
|
Какая-то странная альтернатива - USB - JTAG?
Или нет?
|
|
|
|
22.10.2012, 16:26
|
|
Вид на жительство
Регистрация: 26.07.2007
Сообщений: 483
Сказал спасибо: 18
Сказали Спасибо 107 раз(а) в 68 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
_Артём_, Или нет, у STM Discovery имееться свой собственный Jtag на плате с USB интерфейсом, у Philips-ов (LPC) имеется возможность программирования через UART, ну и так далее ... С STM-ами пока дело не имел, посему спросил.
|
|
|
|
22.10.2012, 16:49
|
|
Прописка
Регистрация: 19.05.2012
Сообщений: 99
Сказал спасибо: 0
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Цитата:
|
Такой вопрос, ее можно программировать по имеющимся на борту USB или нужен обязательно JTag?
|
необязательно, можно по SWD и UART0
|
|
|
|
22.10.2012, 18:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от nerozero
|
BolshoyK, ...ее можно программировать по имеющимся на борту USB или нужен обязательно JTag?...
|
Скорее всего, если, на плате два USB, то один из них для программирования, как это сделано в MINI-STM32.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:45.
|
|