Перейти к содержанию

Stm32F051R8T6 Основная Периферия


bardak

Рекомендуемые сообщения

Нужно помочь в написании программа в среде Keil u5. Устройство работает от внутреннего источника тактирования 8МГц. Необходимо настроить базовый таймер для создания задержки в 1мкс.

Ссылка на комментарий
Поделиться на другие сайты

Скачайте CubeMx, там вся настройка визуальная.

Уважаемый HASL, спасибо за информацию, посмотрел! Но мне хочется понять что я делаю не так без всяких визардов!
Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

тогда читайте статьи.

CubeMx вообще то создает проект для Keil-а

Создайте проект и сравните со своим

К тому же нам не известно на каком "Велосипеде" вы ездите.

т.е. каким методом или точнее какими функциями управляете перефирией. Может вы на ASM все делаете

:buba:

Изменено пользователем hasl
Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

тогда читайте статьи.

CubeMx вообще то создает проект для Keil-а

Создайте проект и сравните со своим

К тому же нам не известно на каком "Велосипеде" вы ездите.

т.е. каким методом или точнее какими функциями управляете перефирией. Может вы на ASM все делаете

:buba:

Я Вас понял, да, извиняюсь, сейчас все выложу.

#include "stm32f0xx_tim.h"
#include "stm32f0xx_rcc.h"
#include "stm32f0xx_gpio.h"
GPIO_InitTypeDef gpioc;
TIM_TimeBaseInitTypeDef tim3;	  
void GPIOC_init(void)
{
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC,ENABLE);
gpioc.GPIO_Mode=GPIO_Mode_OUT;
gpioc.GPIO_OType=GPIO_OType_PP;
gpioc.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_9;
gpioc.GPIO_PuPd=GPIO_PuPd_NOPULL;
gpioc.GPIO_Speed=GPIO_Speed_Level_1;
GPIO_Init(GPIOC,&gpioc);
}
void TIM3_init(void)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
TIM3->CR1|=(0<<9)|(0<<8)|(0<<7)|(0<<6)|(0<<5)|(0<<4)|(0<<3)|(0<<2)|(1<<1);
tim3.TIM_Prescaler=79+1;
tim3.TIM_Period=65534+1;
TIM_TimeBaseStructInit(&tim3);
TIM_TimeBaseInit(TIM3,&tim3);
TIM_Cmd(TIM3,ENABLE);
TIM3->CR1|=(1<<0);
}
int main(void)
{
GPIOC_init();
TIM3_init();

while(1)
{
 if(TIM3->CNT==10){GPIO_SetBits(GPIOC,GPIO_Pin_8);}
 if(TIM3->CNT==20){GPIO_ResetBits(GPIOC,GPIO_Pin_8);}
}
}

Среда разработки Keil u5. Плата STM32F0DISCOVERY внешнего кварца на STM32F051R8T6 нет, используется внутренний HSI

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Немного не в тему.

TIM3->CR1|=(0<<9)|(0<<8)|(0<<7)|(0<<6)|(0<<5)|(0<<4)|(0<<3)|(0<<2)|(1<<1);

Тут достаточно было написать

TIM3->CR1 = (1<<1);

tim3.TIM_Prescaler=79+1; tim3.TIM_Period=65534+1;

А здесь вместо "+" нужен "-".

Точно не уверен, но вместо точки надо "->"

Изменено пользователем Vitemk
Ссылка на комментарий
Поделиться на другие сайты

Немного не в тему.

TIM3->CR1|=(0<<9)|(0<<8)|(0<<7)|(0<<6)|(0<<5)|(0<<4)|(0<<3)|(0<<2)|(1<<1);

Тут достаточно было написать

TIM3->CR1 = (1<<1);

tim3.TIM_Prescaler=79+1; tim3.TIM_Period=65534+1;

А здесь вместо "+" нужен "-".

Точно не уверен, но вместо точки надо "->"

На счет минуса я тоже согласен. Там все верно относительно синтаксиса.

Изменено пользователем gafbich
Ссылка на комментарий
Поделиться на другие сайты

C tim3 да верно, я что-то подумал, что это указатель, оказалось просто структура.

А вот "(0<<x)" считаю бессмысленной записью. Только код загромождает.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

#include "stm32f0xx.h"

#include "stm32f0xx_tim.h"

#include "stm32f0xx_rcc.h"

#include "stm32f0xx_gpio.h"

GPIO_InitTypeDef GPIO_InitStructure;

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

NVIC_InitTypeDef NVIC_InitStructure;

static uint32_t delay_timer;

void GPIOC_init(void)

{

/* GPIOC Periph clock enable */

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);

/* Configure PC8 and PC9 in output pushpull mode */

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;

GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_3;

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;

GPIO_Init(GPIOC, &GPIO_InitStructure);

}

void TIM_Config(void)

{

/* TIM3 clock enable */

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);

/* Time base configuration */

TIM_TimeBaseStructure.TIM_Period = 48000-1; // (48000-1) - ìë ñåê. (48-1) - ìê ñåê.

TIM_TimeBaseStructure.TIM_Prescaler = 1;

TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);

/* TIM Interrupts enable */

TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);

/* TIM3 enable counter */

TIM_Cmd(TIM3, ENABLE);

/* Enable the TIM3 gloabal Interrupt */

NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

}

int main(void)

{

GPIOC_init();

TIM_Config();

while(1)

{

delay(1);

GPIO_SetBits(GPIOC,GPIO_Pin_8);

delay(1);

GPIO_ResetBits(GPIOC,GPIO_Pin_8);

}

}

void delay(uint32_t delay)

{

delay_timer = delay;

while(delay_timer != 0);

}

void TIM3_IRQHandler(void)

{

if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)

{

TIM_ClearITPendingBit(TIM3, TIM_IT_Update);

if(delay_timer != 0) delay_timer--;

}

}

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...