Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: STM32 новичку в ARM что к чему

Пт фев 16, 2018 07:49:37

Держите.
У гугла надо спросить "stm32f103c8t6" , перейти на картинки и там все ясно будет.
Вложения
arduino-stm32f103c8t6-schematics.png
(214.08 KiB) Скачиваний: 402

Re: STM32 новичку в ARM что к чему

Пт фев 16, 2018 13:30:12

может кто-то видел уже срисованную схему этих плат?
ИзображениеИскать отладочная плата на STM32F103C8T6

Re: STM32 новичку в ARM что к чему

Пт фев 16, 2018 14:17:09

Myp3ik. достаточно чтобы проработать 1-5 мин, да и выделяется от силы 5 байт.А может быть что, в основном цикле тоже есть выделение дин памяти, при прерывании просто адреса выделяемой памяти друг на друга накладываются?

Re: STM32 новичку в ARM что к чему

Пт фев 16, 2018 14:51:58

А что говорит стек вызовов?

Re: STM32 новичку в ARM что к чему

Пт фев 16, 2018 14:59:13

xVekx, можно попробовать вызовы выделения памяти обернуть как критическую секцию

Код:
__disable_irq();
uint8_t *txbuf = (uint8_t*)malloc(sizeof(uint8_t) * (2 + count));
__enable_irq();


А еще лучше, как Вы и поступили, просто выделить массив. Где это возможно, от динамического выделения памяти лучше отказаться, особенно там, где оно не нужно в принципе.

Re: STM32 новичку в ARM что к чему

Пн мар 05, 2018 10:20:10

Добрый день, подскажите, для какой цели здесь стоит пред делитель "RTC_DIV", вроде как для более точного измерения, но каким образом это происходит не понятно. Так же в даташите
http://www.st.com/content/ccc/resource/ ... to,-13,759
написано что он перезагружается из RTC_PRL, но я смотрю в отладки IAR, значение RTC_DIV скачет как хочешь и не капельки не совпадает с PRL.
Ну и ещё один вопрос, его можно считывать, но зачем?
Изображение
Вложения
RTC.png
(65.9 KiB) Скачиваний: 249

Re: STM32 новичку в ARM что к чему

Сб мар 10, 2018 12:35:39

STM32F105RBT6 LQFP64 port РA9 pin 42 - подскажите кто в теме, для чего на эту ногу подаётся постоянно 5В?

Re: STM32 новичку в ARM что к чему

Сб мар 10, 2018 13:57:15

USB OTG_FS_VBUS

Re: STM32 новичку в ARM что к чему

Ср мар 14, 2018 14:31:16

Ребята, помогите. Написал код мигания диода по кнопке, не работает. Использую CMSIS. Компилится без ошибок.

Код:
#include "stm32f10x.h"                  // Device header

int main(void)
{
   RCC->APB2ENR|=RCC_APB2ENR_IOPCEN; //включаем тактирование
   RCC->APB2ENR|=RCC_APB2ENR_IOPAEN; //включаем тактирование
   
   GPIOC->CRH    |=  (GPIO_CRH_MODE13_1);   // Выставляем бит MODE0. Режим MODE10 = Max Speed 2MHz
   GPIOC->CRH   &= ~(GPIO_CRH_CNF13);   // Сбрасываем биты CNF для бита 13. Режим 00 - Push-Pull
   
   GPIOA->CRL |=  GPIO_CRL_CNF0_1;
   GPIOA->CRL &= ~(GPIO_CRL_MODE0);
   
   
   GPIOA->ODR  &= ~GPIO_ODR_ODR0; //подтяжка к земле
   
   
   
   
   
   while(1)
   {
      
      
      if ((GPIOA->IDR & 0x01)==0x01) //Кнопка нажата? Соединение на плюс.
      {
         
         GPIOC->BSRR=GPIO_BSRR_BR13; //сбросили бит   
      }
       else
      {
         GPIOC->BSRR=GPIO_BSRR_BS13; //установили бит   
      }
      
   }
   



}

Re: STM32 новичку в ARM что к чему

Ср мар 14, 2018 18:12:34

Добрый день, подскажите пожалуйста как настроить porch для данного контроллера.
http://prntscr.com/iqv0td
Получается жестко задается только задний porch, а как выбрать длину синхроимпульса и передний?
DOTCLK 60MHz.

Re: STM32 новичку в ARM что к чему

Пт мар 23, 2018 10:42:02

Так вроде и не должно работать.
Замените GPIOC->BSRR=GPIO_BSRR_BR13; //сбросили бит
На GPIOC->BRR=GPIO_BSRR_BR13; //сбросили бит

Re: STM32 новичку в ARM что к чему

Пт мар 23, 2018 20:06:51

Подкиньте идею в каком направлении копать. Хочу к stm32F051 подключить цветовой сенсор TCS3200, который выдаёт частоту в зависимости от интенсивности света. Максимальная частота может быть 600кГц, 120кГц или 12кГц. Т.е. могу выбрать любую. Каким образом можно на этом кристале померять частоту? У меня уже заняты TIM3 и 15. А из свободных входов есть все 4 TIM1_CH1-4 и TIM1_ETR. Пока как самое простое нашел как измерять период через каналы захвата (называется PWM input в RM), но может есть еще какой способ? Смотрел режим slave trigger mode, но похоже это только запускает счет, но не останавливает.

Re: STM32 новичку в ARM что к чему

Пт мар 23, 2018 22:51:39

Вам и нужен режим захвата PWM. По завершении захвата будет прерывание, в одном регистре будет период PWM, в другом - заполнение. А вообще там таймер можно настроить как угодно...

Re: STM32 новичку в ARM что к чему

Сб мар 24, 2018 01:32:50

https://hubstub.ru/stm32/128-stm32-rezhim-zahvata.html

Re: STM32 новичку в ARM что к чему

Сб мар 24, 2018 07:18:57

Спасибо за отзывы, но режим захвата мне не очень нужен - у него время измерения зависит от измеряемой частоты. Правда забыл написать, что минимальная частота может быть 2 Гц. В моей ситуации это не будет никогда (если только разом не перегорят все светодиоды, хотя может просто отвалиться их питание), но тем не менее.

Просто месяц назад решал аналогичную задачу для микрочипа - надо было мерять период секундных импульсов от RTC в тактовых импульсах контроллера и подгонять эту же частоту, чтобы уменьшить отклонение, чтобы UART нормально работал. И там был применен именно trigger gated mode - один фронт запускал счет, второй - останавливал. Еще и в режиме одиночного запуска: прочитал значение, сделал коррекцию, и запустил для измерения следующего периода. Но в STM32F051 этого режима не нашел, а самый похожий и был режим захвата PWM. Но здесь мне нужен всё же режим подсчета импульсов за интервал времени.

Мне уже прислали исходник в котором используется один таймер как мастер задающий счетный интервал, для слейва, который и считает импульсы за этот интервал. Причем, мастер в режиме одноразового срабатывания. Т.е. я ручками выставляю код цвета - измеряю, меняю код - снова измеряю итд. А врежиме захвата я уже начал настраиваться, чтобы захваченные значения через ПДП заносились в массив в котором я буду высчитывать средний период итп. И как удачно, что слейвом является TIM1. Правда, мастер - TIM3, который у меня уже занят другими делами, но я посмотрел, что могу использовать взамен TIM2, TIM15 или TIM17. Хм, почему эту инфу надо искать по двум даташитам? разве нельзя сразу указать там где есть таблица доступных таймеров с числом каналов захвата итп. инфой? А то трудно распланировать, когда нужно найти кто может запускать АЦП, кто ПДП, а при переходе на другой кристалл, оказывается что этого таймера нет, а "соседний" или не умеет этого делать или работает с каналом ПДП, который занят каким-то другим ресурсом.

Re: STM32 новичку в ARM что к чему

Сб мар 24, 2018 08:34:00

режим захвата мне не очень нужен - у него время измерения зависит от измеряемой частоты

все равно ж нужен хоть один период для измерения - в STM32F0xx Snippet Examples есть пример - 03_InputCaptureOnTI1:
This example configures the TIM1 in order to compute the elapsed time between two rising edges occurring on its TI1 (channel 1).
Применял на практике - нужно было определять частоту 425Гц, использовал TIM14 - там как раз один канал захвата, работает четко.
Тут было еще на форуме про reciprocal frequency meter , пробовал практически на STM32F030F4P6 - тоже было в одной теме на форуме, но тему почистили.
Немного теории, правда AVR:
http://www.mshopf.de/proj/avr/freq_meter.html
на STM32F030F4P6, в случае reciprocal, задействовано было 2 таймера

Re: STM32 новичку в ARM что к чему

Сб мар 24, 2018 08:59:24

В данном случае я не делаю частотомер, а просто опрашиваю датчик цвета. Т.е. мне нужно просто оценить отношение частот на выходе. Так что имхо, наоборот, отсутствие импульсов мне явно сообщит, что для данного канала цвета - темно. И не надо будет ждать полсекунды. Т.е. если я интервал измерения сделаю по 1ms, то через 4 с небольшим, я уже буду знать цвет.

Re: STM32 новичку в ARM что к чему

Сб мар 24, 2018 09:08:08

а в если использовать захват - то после двух положительных фронтов измеряемого сигнала

Re: STM32 новичку в ARM что к чему

Сб мар 24, 2018 13:19:39

uldemir писал(а):Правда забыл написать, что минимальная частота может быть 2 Гц.
Каким образом это мешает измерению частоты методом ШИМ захвата?

Re: STM32 новичку в ARM что к чему

Сб мар 24, 2018 14:07:31

Таймер будет переполняться. А 32 разрядного таймера нет... Вернее есть, но он занят.
Ответить