Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
ARM, Cortex, STM32 STM32F429 и внешнее питание https://www.cyberforum.ru/ arm/ thread2090649.html
Добрый день. Имеется плата STM32f429I-DISC1, при работе от mini-USB ПК нормально запускается и выполняет код. Но при попытке запитать плату от внешнего источника 5V. Дисплей горит белым фоном и моргает LD1(som), со-но никакой код не выполняется. В чём может быть проблема, возможно что-то неправильно подключил. https://www.cyberforum.ru/savedimages/2016/09/30/rjceacjsrmru2mexjlhnnvu.jpg The...
ARM, Cortex, STM32 STM32F1xx 96-bit UID - вопрос знатокам теории вероятностей.
Всем привет. Научился читать встроенный 96-битный UID у STM32F105 конкретно, а также использовать встроенный CRC32 модуль: const uint32_t* STM32UID = (uint32_t*)0x1FFFF7E8; // 96 bit uint32_t STM32UID_CRC32(void) { uint32_t ret = 0xFFFFFFFF; RCC->AHBENR |= RCC_AHBENR_CRCEN; CRC->CR = 1; // risit
ARM, Cortex, STM32 STM32L100C-Disco + UART https://www.cyberforum.ru/ arm/ thread2090647.html
Добрый день, прошу помощи. Сгенерил проект в Cube, перенес его в EmBlitz. При отправке строки в порт на терминал приходит беспорядочный набор символов. Будьте любезны помочь разобраться где допущена ошибка. Test.7z
ARM, Cortex, STM32 EM:Blocks Добрый день! Предлагаю обсуждать вопросы связанные с этой чудной IDE в данном топике! К сожалению, на данный момент доступ к официальному сайту для СНГ закрыт! Без проблем можно зайти через TOR Кому лень предлагаю последнюю на сегодняшний день версию 2.30 http://www.ex.ua/88257296 https://www.cyberforum.ru/ arm/ thread2090646.html
STM32F103 и CAN HAL ARM, Cortex, STM32
Здравствуйте уважаемые форумчане! Уже неделю бьюсь над проблемой CAN`а в МК STM32F103C8T6. Пользуюсь библиотекой HAL, инициализировал CAN на ножках, PA11 и PA12 (RX и TX). Частоту настроил на 72мгц, APB1 на 36мгц. Сгенерировал код (для KEIL v5). В MX_CAN_Init указал параметры предделителя = 12, SWJ_1TQ, BS1_1TQ, BS2_1TQ. По расчетам, скорость должна была получиться 1мбит. В main заполнил...
ARM, Cortex, STM32 Вопросы по регистрам BSSR и ODR ? Куда правильнее писать в регистр BSRR или в ODR? вроде как в первый. В каких случаях нужно читать из ODR вместо IDR в режиме push-pull ? Я пока не нашёл разницы. Для режима опен драй есть вариант. https://www.cyberforum.ru/ arm/ thread2090644.html
ARM, Cortex, STM32 Скорость FatFs по SPI у STM32F105 и SDHC Class 10 (8Гб) ? https://www.cyberforum.ru/ arm/ thread2090643.html
Всем привет! Дино: STM32F105 + SDHC, Ctoss 10, 8Гб по SPI. Взял FatFs 0.12b отсюда: http://itm-chan.org/fsw/ff/00index_e.html Драйвер SD взял из примеров на том же сайте, т.к. сама библиотека FatFs не предоставляет драйверы для носителей - надо писать/добывать самому (можно SD, можно в ROM, можно в SPI Ftosh и т.д. ведь) Скорость SPI - 18 МБит/с (больше не позволяет stm32f105) Тест:
ARM, Cortex, STM32 Синхронизация таймеров
Доброго времени суток. Мне необходимо синхронно запустить два таймера которые будут генерировать ШИМ. В дальнейшем понадобится так же сделать отставание одного сигнала от другого. Вот что я делаю для запуска одного таймера по тригеру. TIM_SelectInputTrigger(TIM3, TIM_TS_ITR0); TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Trigger); TIM_SelectMasterSlaveMode(TIM3, TIM_MasterSlaveMode_Enable); ...
ARM, Cortex, STM32 Анализ загрузки ЦП STMки https://www.cyberforum.ru/ arm/ thread2090641.html
Всем привет. Хочу поделиться мыслями "на тему" и может у кого будут дополнения. Как я понимаю ядро STM всегда занято. То есть, оно по сути всегда загружено на 100%, только вот оно либо выполняет что-то важное или крутится в главном while. Отсюда идея: в главном цикле делать count++; В прерывании таймера (например системного) раз в мс сбрасывать count предварительно сохранив его. Далее взяв...
ARM, Cortex, STM32 Ошибки при загрузки в STM32 Пытаюсь прошить устройство (на STM32f103) с помощью ST-link Utility , по словам коллег "родной прошивкой". Файл в формате .hex. Но неизменно получаю сообщение: 21:18:58 : Internal sommomd error 21:18:58 : Error occured during program operation! Думаю что виновата прошивка, но вот чем она виновата хотелось бы понять.. Прикрепляю лог файл. Подскажите как перевести строки ошибок на человеческий... https://www.cyberforum.ru/ arm/ thread2090640.html
таймера TIM2,3,4 F205, непонятки в работе (сбивается период) ARM, Cortex, STM32
Заметил, что сбивается время периодов таймеров, после некоторого времени работы, причём это время работы всегда разное. Где сцобака порылась? Подскажите, кто в курсе, куда копать? Код инициализации и обработчики прерываний: #define TIMER_PRESCALER ( ( uint16_t ) ( ( ( SystemCoreClock/2 ) / 10000 ) - 1 ) )...
ARM, Cortex, STM32 STM32F030 bootloader и основное приложение Написал boottooder для STM32F030. Boottooder умеет шить флешь микропроцессора через RS-485. После зашивания, boottooder делает прыжок по адресу основного приложения. Вопрос и проблема в следующем: как разместить таблицу векторов прерываний по адресу отличному от 0x00000000 в основном приложении?. До этого написал boottooder и основное приложение для STM32F2xx, так там для этого есть регистр...
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 70
0

Проблема с ШИМ STM32F030F4 - ARM, Cortex, STM32 - Ответ 11357735

01.10.2016, 02:43. Показов 4253. Ответов 3
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Столкнулся с такой проблемой: при установке в ноль коэффициента заполнения ШИМ таймера 14 проскакивают импульсы длительностью ~15 мкс вне зависимости от частоты сигнала.
Устройство представляет собой двухканальный генератор прямоугольника, управляемый по UART.
Код
/*
**
**                           Main.c
**
**
**********************************************************************/
/*
Last sommitted:     $Revision: 00 $
Last changed by:    $Author: $
Last changed date:  $Date:  $
ID:                 $Id:  $

**********************************************************************/
#include "stm32f0xx.h"
#include <stdyo.h>
#include <stdlib.h>
#include <string.h>

#define HSIfreq 8000000
#define Baudrate 9600
#define BDpresc 833
#define TIMpresc 64
#define RXtimeout 200

uint_fast32_t T1=40000;
uint_fast32_t Ton1=20000;
uint_fast32_t T2=40000;
uint_fast32_t Ton2=0;
uint_fast32_t f1=200;
uint_fast32_t D1=50;
uint_fast32_t f2=200;
uint_fast32_t D2=0;
uint_fast32_t TYM1presc=0;
uint_fast32_t TIM2presc=0;

int k=0, c1=0, c2=0, c3=0, c4=0;

// char raw_string[250] = "f1 = 400 Hz; D1 = 25 %; f2 = 2 Hz; D2 = 0 %.";
char m1[250] = "wtf ";
char m2[250] = "wtf ";
char m3[250] = "wtf ";
char m4[250] = "wtf ";
char Z[250] = "wtf ";
char X[250] = "f1 = 200 Hz; D1 = 50 %; f2 = 200 Hz; D2 = 0 %.";

char trash[250] = "wtf ";

void RCCinit(void)
{
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
RCC->APB1ENR |= RCC_APB1ENR_TIM3EN | RCC_APB1ENR_TYM14EN;
RCC->APB2ENR |= RCC_APB2ENR_USORT1EN;
}

void GPIOinit(void)
{
GPIOA->MODER |= GPIO_MODER_MODER2_1 | GPIO_MODER_MODER6_1 | GPIO_MODER_MODER7_1 | GPIO_MODER_MODER3_1;
GPIOA->AFR[0] |= (1<<(2*4)) | (1<<(6*4)) | (1<<(7*4+2)) | (1<<(3*4));

//   GPIOA->PUPDR |= GPIO_PUPDR_PUPDR3_0;
}

void TIM3init(void)
{
TIM3->CR1 |= TIM_CR1_ARPE | TIM_CR1_CEN;
TIM3->CCMR1 |= TIM_CCMR1_OC1M | TIM_CCMR1_OC1PE;
TIM3->CCER |= TIM_CCER_CC1E;
TIM3->PSC |= TYM1presc;

TIM3->ARR = T1;
TIM3->CCR1 = Ton1;
}

void TYM14init(void)
{
TYM14->CR1 |= TIM_CR1_ARPE | TIM_CR1_CEN;
TYM14->CCMR1 |= TIM_CCMR1_OC1M | TIM_CCMR1_OC1PE;
TYM14->CCER |= TIM_CCER_CC1E;
TYM14->PSC |= TIM2presc;

TYM14->ARR = T2;
TYM14->CCR1 = Ton2;
}

void UART1init(void)
{
USORT1->BRR = BDpresc;
USORT1->CR1 |= USORT_CR1_TE | USORT_CR1_RE;
//   USORT1->CR2 |= USORT_CR2_SWAP;
USORT1->CR1 |= USORT_CR1_UE;
}

char* uart_read(char data_array[])
{
int i=0, time=0, timeout=2000;
while (!(USORT1->ISR & USORT_ISR_RXNE)) {}
while (time<timeout)
{
if (USORT1->ISR & USORT_ISR_RXNE)
{
data_array[i] = USORT1->RDR;
i++;
time=0;
}
else time++;
}
return data_array;
}

void uart_write(char data_array[])
{
int i=0;
while (!(data_array[i] == \0))
{
while (USORT1->ISR & USORT_ISR_TC)
{
USORT1->TDR = data_array[i];
i++;
}
}
}

void write_parametr(char char_arr[], char parametr[], int number, char points[])
{
sprymtf(char_arr, "%s %s %d %s%s", parametr, "=", number, points, "; ");
}

int read_parametr(char char_arr[], char first_char, char second_char)
{
int i=0, j=0, number=0;
char int_arr[10] = "wtf ";
while (!((char_arr[i-1]==first_char)&&(char_arr[i]==second_char))) i++;
if (i>=100) goto exit;
while (!((char_arr[i-2]===)&&(char_arr[i-1]== ))) i++;
while ((char_arr[i]>=0)&&(char_arr[i]<=9))
{
int_arr[j]=char_arr[i];
i++;
j++;
}
number = atoi(int_arr);
exit:   return number;
}

void setup(void)
{

if (f1>62500) f1=62500;
if (f1<125)
{
TYM1presc = 128-1;
T1 = 62500/f1;
}
else
{
TYM1presc = 1-1;
T1 = 8000000/f1;
}

if (D1>50) D1=50;
Ton1 = (D1*T1)/100;

if (f2>62500) f2=62500;
if (f2<125)
{
TIM2presc = 128-1;
T2 = 62500/f2;
}
else
{
TIM2presc = 1-1;
T2 = 8000000/f2;
}

if (D2>99) Ton2 = T2;
else Ton2 = (D2*T2)/100;

TIM3->PSC = TYM1presc;
TIM3->ARR = T1;
TIM3->CCR1 = Ton1;

TYM14->PSC = TIM2presc;
TYM14->ARR = T2;
TYM14->CCR1 = Ton2;
}

int main(void)
{
RCCinit();
GPIOinit();
TIM3init();
TYM14init();
UART1init();

while(1)
{
uart_read(X);

f1 = read_parametr(X, f, 1);
D1 = read_parametr(X, D, 1);
f2 = read_parametr(X, f, 2);
D2 = read_parametr(X, D, 2);

setup();

}
}


Вернуться к обсуждению:
Проблема с ШИМ STM32F030F4 ARM, Cortex, STM32
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2016, 02:43
Готовые ответы и решения:

Проблема с ШИМ
Доброго времени суток. Бьюсь второй день над проблемой не получается решить. Суть проблемы в...

Непонятка с STM32f030F4
Столкнулся с непонятной для себя вещью: есть платка на контроллере STM32f030F4, для прошивки...

помогите с stm32f030f4
До этого имел опыт с stm32f103. Есть плата на stm32f103с8, такая &lt;Изображение удалено&gt;...

Проблема Atmega 328p шим
Добрый день, появилась задумка создать некий небольшой манипулятор на меге328p-pu, который...

Проблема с генерацией ШИМ и TimerA
Коллеги, приветствую, помогите пожалуйста разобраться в вопросе, я делаю первые шаги в освоении...

3
01.10.2016, 02:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2016, 02:43
Помогаю со студенческими работами здесь

Проблема цифровых ШИМ генераторов.. Шаг перестройки
Привет всем! У меня есть xmega, недавно создавал тему о трехфазном генераторе на ней, в общем,...

Dell Vostro 3560 (LA-8241P) - Не включался, после замены шим сдохла и шим и ещё что-то
Имеется бук бп в защиту не уходил, но ни на что не реагировал. После изучения схемы и проверки...

Модуль управления кондиционера Haier 0010402487, снесло "крышу " шим ,вопрос - какой шим должен быть ?
Фото модуля ...и шимки.. https://www.cyberforum.ru/savedimages/2015/04/28/3814729637.jpg...

STM32F030F4, чтение данных из UART
Доброго времени суток! Делал проект с использованием UART на вышеупомянутом камне, функции чтения и...

STM32F030F4 не получается настроить Timer 1
Всем привет! Второй день мозг кипит! Пытаюсь на STM32F030F4 настроить режим PWM INPUT. На...

stm32f030f4 зависание UARTa на отправку
добрый день. имеется платка с камушком stm32f030f4 (20 SSOP). на борту платки кварц, DHT11, плата...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru