|
попогите разобраться с тактированием портов в stm32f105/107, ищу примеры |
|
|
|
Feb 13 2013, 05:17
|
Частый гость
 
Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518

|
STM32 самые популярные микроконтроллеры на ядре Cortex-M3 и вы не можете найти под них примеры?  Существует куча различных блогов посвященных данным контроллерам. Ну или самое простое зайти на сайт STM в раздел Firmware для F1хх-го семейства и посмотреть какие там есть примеры. Там можно обнаружить stm32f10x stdperiph library и в ней куча примеров по всей переферии F1xx-го семейства.
--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
|
|
|
|
|
Feb 13 2013, 08:14
|
Частый гость
 
Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518

|
Код GPIO_InitTypeDef GPIO_InitStructure; /* GPIOD Periph clock enable */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
/* Configure PD0 and PD2 in output pushpull mode */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_2; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOD, &GPIO_InitStructure);
--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
|
|
|
|
|
Feb 13 2013, 09:11
|
Местный
  
Группа: Участник
Сообщений: 222
Регистрация: 14-12-12
Из: новосибирск
Пользователь №: 74 845

|
спасибо за пример на частоте 2мгц пин у меня тоже работает(несмотря на то что я на 50 разрешил) а вот выше не получается, наверное я клоки не так настраиваю дайте плиз пример настройки частоты тактирования от внешнего кварца 25мгц и чтоб на порт максимальную частоту возможную я мог подать, я совсем начинающий в кортексах, раньше на амеге писал и структурами не пользовался CODE #include "stm32f10x.h" #include "bits.h" #include "stm32f10x_pet.h"
unsigned long d, e; #define HSE_on RCC -> CR |= (RCC_CR_HSEON)// Включает внешний высокоскочастотный кварц(HSE) #define HSE_sel RCC -> CFGR &= ~(RCC_CFGR_SW_1); RCC -> CFGR |= (RCC_CFGR_SW_0)// выбираем HSE в качастве // источника системного клока sysclk #define enable_clock(port) RCC->APB2ENR|=RCC_APB2ENR_IOP##port##EN // включение тактирования порта
//VVVVVVVVVVVVVVVVVVVVV main() VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV void main() {
//FLASH->ACR |= FLASH_ACR_PRFTBE; // Enable Prefetch Buffer. //FLASH->ACR |= FLASH_ACR_LATENCY_1; // HSE_on; //for (d=0; d<1000000; ++d){e ++;}; //HSE_sel; //enable_clock(D);//включение тактирования порта //GPIOD->CRL&=~(GPIO_CRL_MODE7_1); GPIOD->CRL|=(GPIO_CRL_MODE7_0); //11: Output mode, max speed 50 MHz //GPIOD->CRL&=~(GPIO_CRL_CNF7_0);GPIOD->CRL&=~(GPIO_CRL_CNF7_1); // set port as General purpose output push-pull GPIO_InitTypeDef GPIO_InitStructure; /* GPIOD Periph clock enable */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
/* Configure PD0 and PD2 in output pushpull mode */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOD, &GPIO_InitStructure); //VVVVVVVVVVVVVVVVVVVVV Основной цикл VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV while (1) { pin_off(D,7); //for (d=0; d<1000000; ++d){e ++;}; pin_on(D,7); //for (d=0; d<1000000; ++d){e ++;}; }//^^^^^^^^^^^^^^^^^^^^^^^ Основной цикл ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }//^^^^^^^^^^^^^^^^^^^^^^^^ main() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^
Сообщение отредактировал super_puper - Feb 13 2013, 09:16
|
|
|
|
|
Feb 13 2013, 11:56
|
Частый гость
 
Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518

|
Цитата(super_puper @ Feb 13 2013, 13:11)  дайте плиз пример настройки частоты тактирования от внешнего кварца 25мгц и чтоб на порт максимальную частоту возможную я мог подать, я совсем начинающий в кортексах, раньше на амеге писал и структурами не пользовался Опять же все есть в stm32f10x stdperiph library, файл system_stm32f10x.c.
--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
|
|
|
|
|
Feb 14 2013, 11:42
|
Знающий
   
Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184

|
Цитата за ссылки спасибо! но все равно кому не жалко кидайте примеры или целиком проекты, интересно посмотреть кто как реализует, все по разному.. я понимаю, что поиском по форму тоже тяжко пользоваться: http://electronix.ru/forum/index.php?showtopic=110141Цитата подскажите ещё такой момент, в ИАРе проект компилится нормально но попытка переместиться к телу функции например правая кнопка на SystemInit() - go to definition; выдает ошибку неправильный путь.. посмотрите в настройках проекта. возможно, указано несколько путей.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|