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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> STM32F0+Keil=простой старт, Помогите начать работать с АРМ Cortex M0
Artos5
сообщение Jul 21 2013, 11:30
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Цитата(toweroff @ Jul 21 2013, 13:38) *
глобальная переменная. Декремент смотреть в прерывании системного таймера
объявлена в main.c (как вы ищите - непонятно)


Переменную нашел в мейн .
Теперь не найду где выполняется декремент..

Все, нашел! Урааааааааа! sm.gif
Go to the top of the page
 
+Quote Post
andries5
сообщение Jul 21 2013, 12:10
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 15-01-09
Из: Moldova
Пользователь №: 43 421



Все по своим отдельным файлам, не люблю когда все в одном в виде каши. Думаю так удобнее.
Go to the top of the page
 
+Quote Post
Artos5
сообщение Jul 21 2013, 12:23
Сообщение #18


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Цитата(andries5 @ Jul 21 2013, 15:10) *
Все по своим отдельным файлам, не люблю когда все в одном в виде каши. Думаю так удобнее.


А скажите пожалуйста, с какой частотой происходит прерывание системного таймера?
И как например задействовать

Код
void TIM17_IRQHandler(void)
{
    
}


Это прерывание?
Достаточно вбить туда переменную? Подозреваю, что нужны еще дополнительные телодвижения sm.gif

Посмотрел даташит на МК, и я просто в шоке sm.gif
Такая куча возможностей!!!
Таймеров дофига и всего прочего sm.gif
Go to the top of the page
 
+Quote Post
andries5
сообщение Jul 21 2013, 12:30
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 15-01-09
Из: Moldova
Пользователь №: 43 421



Цитата(Artos5 @ Jul 21 2013, 15:15) *
А скажите пожалуйста, с какой частотой происходит прерывание системного таймера?
И как например задействовать

Код
void TIM17_IRQHandler(void)
{
    
}


Это прерывание?
Достаточно вбить туда переменную? Подозреваю, что нужны еще дополнительные телодвижения sm.gif


Прерывание системного таймера происходит согласно указанию
SysTick_Config(SystemCoreClock / 1000); //1ms
Если делить на 10000, то будет 0.1ms.
Здесь можно изменить значение по своему усмотрению, в пределах возможного.
В Keil нажав правую кнопку на непонятной переменной или функции, выбираете в меню "Go To Definition Of '...' " и попадаете в место ее определения. Очень удобно.
Да это прерывание, Прерывание Timer17 и для этого сначала нужно проинициализировать таймер, включить режим прерываний и так далее.
Go to the top of the page
 
+Quote Post
Artos5
сообщение Jul 21 2013, 13:01
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Цитата(andries5 @ Jul 21 2013, 15:30) *
Прерывание системного таймера происходит согласно указанию
SysTick_Config(SystemCoreClock / 1000); //1ms
Если делить на 10000, то будет 0.1ms.
Здесь можно изменить значение по своему усмотрению, в пределах возможного.
В Keil нажав правую кнопку на непонятной переменной или функции, выбираете в меню "Go To Definition Of '...' " и попадаете в место ее определения. Очень удобно.
Да это прерывание, Прерывание Timer17 и для этого сначала нужно проинициализировать таймер, включить режим прерываний и так далее.


Спасибо Вам за помощь!




Буду дальше пробовать разбираться sm.gif

А сколько времени происходит вход в прерывание и его выполнение а потом выход из него?


Сообщение отредактировал Artos5 - Jul 21 2013, 13:00
Go to the top of the page
 
+Quote Post
andries5
сообщение Jul 21 2013, 14:23
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 15-01-09
Из: Moldova
Пользователь №: 43 421



Цитата(Artos5 @ Jul 21 2013, 16:01) *
А сколько времени происходит вход в прерывание и его выполнение а потом выход из него?

Когда отладку включал с платой на stm32f103 через JTAG отладчик, то видел время каждого шага. Сейчас на этой плате не знаю. Я сам только учусь.
Go to the top of the page
 
+Quote Post
Artos5
сообщение Jul 21 2013, 15:27
Сообщение #22


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Бедаааа.... отвалился программатор.
Не хочет шить . Выскакивает ошибка: "No target connected"
Хотя программатор видется.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Jul 21 2013, 15:43
Сообщение #23


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

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Чем шьёшь?


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
Artos5
сообщение Jul 21 2013, 15:45
Сообщение #24


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



stm32f0discovery
Go to the top of the page
 
+Quote Post
hd44780
сообщение Jul 21 2013, 15:58
Сообщение #25


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

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Я имел в виду на компе из кейла шьёшь?
Попробуй ST-шную утилиту - http://www.st.com/web/en/catalog/tools/PF258168#header поставить. Только кейл перед этим закрой.


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
Artos5
сообщение Jul 21 2013, 16:22
Сообщение #26


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Цитата(hd44780 @ Jul 21 2013, 18:58) *
Я имел в виду на компе из кейла шьёшь?
Попробуй ST-шную утилиту - http://www.st.com/web/en/catalog/tools/PF258168#header поставить. Только кейл перед этим закрой.

Блин... закрыл Кейл. Запустил СТ Линк. И он отказывается дружить с программатором... все равно не видит программатор. Хотя система видит устройство прекрасно.

Начал шить СТ Линк, после шаманства...
Поставил в настройках Connect under reset.
Что то не могу вкурить что это произошло... кейл по прежнему отказывается шить...



Теперь Кейл пишет такую херню: flash download failed - Target DLL has been canсelled
Что то СТМ начинает тошнить sm.gif

Что ему то не хватает?!

Сообщение отредактировал Artos5 - Jul 21 2013, 16:23
Go to the top of the page
 
+Quote Post
andries5
сообщение Jul 21 2013, 16:40
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 15-01-09
Из: Moldova
Пользователь №: 43 421



В свойствах проекта, на вкладке Utilites, в св-вах St-Link (settings), выбран STM32F05x Flash?
Go to the top of the page
 
+Quote Post
Artos5
сообщение Jul 21 2013, 16:46
Сообщение #28


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Цитата(andries5 @ Jul 21 2013, 19:40) *
В свойствах проекта, на вкладке Utilites, в св-вах St-Link (settings), выбран STM32F05x Flash?

Выбран ST Link debugger и его поменять нельзя, он не активный

Оно шилось нормально , шилось-шилось пока не "заглючило" резко . Резко начал ругаться Кейл...

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
andries5
сообщение Jul 21 2013, 16:47
Сообщение #29


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 15-01-09
Из: Moldova
Пользователь №: 43 421



Нажать левой кнопкой на Use Target Drive for Flash Programming.
Go to the top of the page
 
+Quote Post
Artos5
сообщение Jul 21 2013, 17:00
Сообщение #30


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Цитата(andries5 @ Jul 21 2013, 19:47) *
Нажать левой кнопкой на Use Target Drive for Flash Programming.

Спасибо Вам за наводку! Заработало!
Только не могу понять почему оно заглючило! sad.gif

Есть еще серьезная проблема...
Не работает полностью PORTB

инициализирую так:

Код
void Init_GPIO(void)
{
    /* Private typedef ---------------------------------------------------------*/
    GPIO_InitTypeDef GPIO_InitStruct_butt;
    GPIO_InitTypeDef GPIO_InitStruct_led;
    //GPIO_InitTypeDef GPIO_InitStruct_led1;
    
    /*Enable or disable the AHB peripheral clock */
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);
    
    /** Configure pins as GPIO for USER button
         PA0     ------> GPIO_Input
    */

  /* Configure Button pin as input */
  GPIO_InitStruct_butt.GPIO_Mode = GPIO_Mode_IN;
  GPIO_InitStruct_butt.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_InitStruct_butt.GPIO_Pin = GPIO_Pin_0;
  GPIO_Init(GPIOA, &GPIO_InitStruct_butt);
    
    /** Configure pins as GPIO for led
         PC8     ------> GPIO_Output  blue
         PC9     ------> GPIO_Output    green
    */

    /*Configure GPIO pin */
    GPIO_InitStruct_led.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11;
    GPIO_InitStruct_led.GPIO_Mode = GPIO_Mode_OUT;
    GPIO_InitStruct_led.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStruct_led.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_InitStruct_led.GPIO_Speed = GPIO_Speed_2MHz;
    GPIO_Init(GPIOC, &GPIO_InitStruct_led);
    
        /*Configure GPIO pin PORTB*/
    GPIO_InitStruct_led.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
    GPIO_InitStruct_led.GPIO_Mode = GPIO_Mode_OUT;
    GPIO_InitStruct_led.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStruct_led.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_InitStruct_led.GPIO_Speed = GPIO_Speed_2MHz;
    GPIO_Init(GPIOB, &GPIO_InitStruct_led);
}


и

Код
#define LED_Greeen_On (GPIOC->BSRR = GPIO_Pin_9)
#define LED_Blue_On (GPIOC->BSRR = GPIO_Pin_8)
#define LED_Greeen_Off (GPIOC->BRR = GPIO_Pin_9)
#define LED_Blue_Off (GPIOC->BRR = GPIO_Pin_8)
#define LED_Green_Toggle (GPIOC->ODR ^= GPIO_Pin_9)
#define LED_Blue_Toggle (GPIOC->ODR ^= GPIO_Pin_8)
#define Butt_User_Get_State (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0))
// led out config
#define DATA_LED_1 (GPIOB->BSRR = GPIO_Pin_13)
#define DATA_LED_0 (GPIOB->BRR = GPIO_Pin_13)
#define CLOCK_LED_1 (GPIOB->BSRR = GPIO_Pin_14)
#define CLOCK_LED_0 (GPIOB->BRR = GPIO_Pin_14)
#define LATCH_LED_1 (GPIOB->BSRR = GPIO_Pin_15)
#define LATCH_LED_0 (GPIOB->BRR = GPIO_Pin_15)


Если настраиваю другой порт например: PORTA
То все работает...

Подозреваю что умер у меня в отладчике порт В sm.gif
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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