Jump to content

supercelt

Members
  • Content Count

    182
  • Joined

  • Last visited

Community Reputation

-1 Плохой

About supercelt

  • Rank
    Осваивающийся

Информация

  • Пол
    Мужчина
  • Город
    Санкт-Петербург

Электроника

  • Стаж в электронике
    10-20 лет
  • Сфера радиоэлектроники
    морские информационные системы

Recent Profile Visitors

3139 profile views
  1. Здрасьте! Подскажите пожалуйста, можно ли раскидать ШИМ сигнал с МК через демультиплексор (к примеру CD4555) на базы транзисторов для организации динамической индикации с регулировкой яркости? Просто не хочется выделять 4 порта под ШИМ. По задумке выделить один порт под шим и двоичным кодом по каждому выходу (их 4) прогонять этот ШИМ.
  2. Всем привет! Прошу вас пожалуйста помочь в примере схемы. У меня есть циферблат секундный из светодиодов. 60 штук. По задумке, надо будет под управлением МК организовать часы. И светодиоды - это будет индикация секунд, типа бегущей точки. На МК естественно не охота столько ножек выделять под каждый светодиод. Видел что есть всякие дешифраторы и тд. Не подскажете самую простую и надёжную схему, что бы зажигать 60 светодиодов используя минимальное кол-во портов МК? Спасибо
  3. Где-тона сайте прочитал что не помешает. Типа от залипания Так я его настроил и мне не надо пока его запускать, а только в определённый момент
  4. Спасибо всем, что настроили на правильные мысли #define PLL_M 4 #define PLL_N 168 #define PLL_P 2 #define PLL_Q 7 void System_init(void){ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ #endif RCC->CR|= RCC_CR_HSEON; while (!(RCC->CR &RCC_CR_HSERDY)){}; RCC->CFGR |= RCC_CFGR_HPRE_DIV1 | RCC_CFGR_PPRE2_DIV2 |RCC_CFGR_PPRE1_DIV4; RCC->PLLCFGR = PLL_M|(PLL_N<<6)|(((PLL_P>>1)-1)<<16)|RCC_PLLCFGR_PLLSRC_HSE|(PLL_Q<<24); RCC->CR |= RCC_CR_PLLON; while (!(RCC->CR &RCC_CR_PLLRDY)){}; FLASH->ACR|=FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_5WS | FLASH_ACR_PRFTEN; RCC->CFGR &= ~RCC_CFGR_SW; RCC->CFGR |= RCC_CFGR_SW_PLL; while (!(RCC->CFGR & RCC_CFGR_SWS ) ){}; } RCC->APB1ENR |= RCC_APB1ENR_TIM12EN; //Включаем тактирование TIM12 TIM12->CR1 &= ~TIM_CR1_CEN; //На всякий случай принудительно останавливаем таймер, если он был включён TIM12->CNT = 0; //Обнуляем счётный регистр тамера TIM12->PSC |= 42000 - 1; //F = 2 kHz); //Задаём частоту таймера = 1000 Hz. (24000000/1000) - 1; (за 1 сек таймер тикает 2000 раз, т.е. с частотой 2 KHz) TIM12->EGR |= TIM_EGR_UG; //Повторно инициализирует счетчик и генерирует обновление регистров TIM12->ARR = 2000; //Прерывания будут срабатывать каждую секунду TIM12->DIER |= TIM_DIER_UIE; NVIC_EnableIRQ(TIM8_BRK_TIM12_IRQn); __NOP(); __NOP(); TIM12->SR &= ~(TIM_SR_UIF);
  5. В файле stm32f4xx.h прописано: #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ в файле system_stm32f4xx.c #include "stm32f4xx.h" #if !defined (HSE_VALUE) #define HSE_VALUE ((uint32_t)25000000) /*!< Default value of the External oscillator in Hz */ #endif /* HSE_VALUE */ #if !defined (HSI_VALUE) #define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/ #endif /* HSI_VALUE */ uint32_t SystemCoreClock = 16000000;
  6. Добрый вечер! У меня есть 2 вопроса, которые я хочу задать в одной теме. Потому что один вытекает из другого. 1. У меня есть самодельная отладка с stm32f405. Кварцы установлены на 32,768 кгц для часов и 8 мгц для тактирования МК. Лежала на полке где-то пол года. Тут решил достать, подключил. И как видно из видео, отсчёт секунд на дисплее отстает от красного светодиода. Светодиод горит ровно 1 сек и гаснет на 1 сек. Он подвязан в прерывании RTC. А отсчёт времени на дисплее сделан на TIM12. Пол года назад что самое интересное, работало все синхронно. Что поменялось: я переустановил винду и поставил новый Keil. Уточню: длительность между отсчётами на дисплее больше одной сек, хотя таймер настроен на 1 сек. Может в настройках что не так? Вопрос 2. Таймер отсчитывает 1000 тиков, то есть каждую сек уходит в прерывание. Помогите настроить таймер12, что бы он считал до 20 сек и выдал прерывание И попутно еще каждую секунду давал тоже прерывание. То есть первое - по достижении числа в ARR. А ежесекундное - наверное как то по регистру сравнения. Мой код: uint8_t load_sec_flag = 0; void gsm_ini(void){ RCC->APB1ENR |= RCC_APB1ENR_TIM12EN; //Включаем тактирование TIM12 TIM12->CR1 &= ~TIM_CR1_CEN; //На всякий случай принудительно останавливаем таймер, если он был включён TIM12->CNT = 0; //Обнуляем счётный регистр тамера TIM12->PSC |= (24000000/1000) - 1; //F = 1 kHz);//Задаём частоту таймера = 1000 Hz. TIM12->EGR |= TIM_EGR_UG; //Повторно инициализирует счетчик и генерирует обновление регистров TIM12->ARR = 1000; //Прерывания будут срабатывать каждую секунду TIM12->DIER |= TIM_DIER_UIE; NVIC_EnableIRQ(TIM8_BRK_TIM12_IRQn); __NOP(); __NOP(); TIM12->SR &= ~(TIM_SR_UIF); } void gsm_handler(void){ char buffer_timer[3] = ""; static uint8_t load_timer = 0; if(load_sec_flag){ load_sec_flag = 0; sprintf(buffer_timer,"%02d",load_timer); lcd_send_string_xy(0, 1, buffer_timer); if(load_timer < 20){ load_timer++; }else{ } } } void TIM8_BRK_TIM12_IRQHandler(void){ if(TIM12->SR & TIM_SR_UIF){ TIM12->SR &= ~TIM_SR_UIF; load_sec_flag = 1; } }
  7. Гербер подгружал конечно. В размер листа с маской не влезает 2 стороны, хотя сайт предлагает эту опцию
  8. Добрый день! Подскажите пожалуйста. У всех известных китайских изготовителей на сайте с производством платы можно заказать данный трафарет. Что означают опции выбора при заказе? 1 Top, 2 Bottom, 3 Top+Bottom (On single stencil), 4 Top & Bottom (on separate stencil) Я так понимаю, 1 и 2 это будет трафарет либо верхнего слоя, либо нижнего. 4 это отдельные два трафарета верхнего и нижнего слоя. Вопрос по 3. Это получается верхний и нижний на одной пластине, но они как рядом будут и лист побольше или все дырки с верха и низа просто накладываются друг на друга? Но а если будет перекрытие дыр с верхнего и нижнего слоя. Просто при заказе если ставить 3 пункт, то размеры пластины не меняются.
  9. Добрый день! помогите пожалуйста разобраться. Интересуют выводы 7,8,10,11,12,13,14,15,16 На картинке приведена схема. Некоторые подтянуты принудительно к питанию, один к земле, а некоторые вообще висят. Что самое интересное схем достаточно, но разводка везде разная, на других вообще к примеру подтяжек нет. В даташите вообще есть таблица Table 7.11 Internal Pull-Up / Pull-Down Configurations. Где, как я понял указана какая-то конфа для внутренней подтяжки, хотя по тексту нигде не написано где это в регистрах подтягивать, если это делается как в МК. Вопрос такой: как же всё-таки правильно подтягивать? И надо ли вообще?
  10. Помотрел даташит на трансформатор B78476A8247A003. В нем и правда ни слова о POE. Но на официальном сайте из таблицы выбрал трас в котором указано есть POE. В обозначении на одну цифру отличается. Хотя схема почти такая же, единственное показана связь между сердечниками трансформатора. Так вот B78476A8248A003, тоже не подходит? Тогда еще вопрос. У меня просто уже есть розетки, они без трансформаторов, но со светодиодами. Поэтому я и ищу трансформатор отдельно в виде микросхемы. Не подскажете марку таких трансов, где как у вас на картинках, со средней точкой, а может даже и с диодами. Но можно и без них. Главное что бы в виде микросхемы, спасибо
  11. Добрый день, делаю блок питания, который из POE вытаскивает 5 вольт. Возник вопрос. Посмотрите пожалуйста на 2 картинки. В одном случае трансформатор установлен одним образом, на второй картинке - наоборот. Собираю по схеме, которая на картинке poe-schematic (вторая). Может в схеме ошибка и трансформатор надо наоборот ставить?
  12. Это часть схемы st-link. Подскажите пожалуйста, правильно сделана коммутация контактов? особенно правильно ли то что nRST идёт на RESET подключаемого МК, а JRST на nTRST?
  13. Добрый день! Из интернета взял схему st-link v2 (прилагаю), какой-то человек объединил схему из stm32f4 discovery и простого swd, ну так было написано. Смысл в чём, не понимаю следующую вещь. Хочу сделать 20 пиновый разъём JTAG/SWD. По всем практически даташитам, контакт 1 VTRef - это вход. Туда подаётся то напряжение, от которого питается МК для согласования уровней, как я понял К КОТОРОМУ подрубается ST-LINK. Вопрос куда этот контакт 1 приделывается в самой схеме STLINK?
×
×
  • Create New...