Jump to content
Sign in to follow this  
Vovka

Программа Для Расчета Параметров Uart Модуля Микроконтроллера.

Recommended Posts

Столкнулся с тем, что в некоторых даташитах на микроконтроллеры в таблицах, где указаны значения для определенных скоростей обмена есть ошибки.

Программы для расчета в интеренете не нашел, а калькулятором не очень хотелось пользоваться...

Пришлось программу написать свою. За одно добавил расчет значений для выбранной скорости обмена при различных значениях тактовой частоты - теперь удобно определиться с частотой кварца.

http://www.vovka.sv19.com/CalcUART


На форумах принято общаться на "ты", что не является оскорбительным и подразумевает равноправие

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

В ж.Радио было: http://www.radioway....ttiny2313_.html

было, но в интернете не встретил. Свою делал ориентируясь на PIC


На форумах принято общаться на "ты", что не является оскорбительным и подразумевает равноправие

Share this post


Link to post
Share on other sites

Безмостовые ККМ для 99% КПД!

Схема коррекции коэффициента мощности (ККМ) на основе так называемого «тотемного столба» (Totem Pole) обладает минимально возможными потерями и потенциально может обеспечить самые жесткие требования к энергоэффективности источников питания. Компания Wolfspeed представляет референсную разработку – плату ККМ CRD-02AD065N на базе собственных карбид-кремниевых MOSFET и диодов с наилучшими в отрасли характеристиками.

Подробнее

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Сообщения

    • Немного зависит от типа ОУ, но если взять к примеру копеешный TL072, или NJM4580, оба причём сдвоенные , что удобно, то хватит заглаза и с запасом.  140УД7 лучше таки для саба только))
    • есть у меня такой ,но у не чувствительность такая что надо именно прикоснутся к контакту , на растоянии не реагирует   
    • Согласен с Magnum 45, вполне может быть и УД.  Ну так проверьте. Не знаю какой у вас опыт. Но по логике: без нагрузки синусоида, а с нагрузкой швах (даже без сигнала?) означает, что 1) на выходе постоянка вольт 10. 2) замыкание в нагрузке. 3) мощный возбуд с момента включения. Чтобы сгорел предохранитель, через него должен пойти ток выше предела. Верно? Так откуда он берётся? Может у вас ток покоя запредельный? Дело в том, что этот усилитель будет работать и на одном плече если в другом вытащить предохранитель. Вот эту синусоиду вы может и видите без нагрузки с закрытым входом осциллографа. Какая постоянка на выходе усилителя? Вход осцила =. Или мультиметром. Если невозможно и горят предохранители ОТКЛЮЧИТЕ выходные транзисторы и нагрузку и посмотрите на выходе осц. с открытым входом сигнал, симметрию, постоянку. Затем убавьте ток покоя и подпаивайте ВК.
    • Это естественно, ведь кислотность воды, уже как неделю и более, полностью нейтрализовалась. Тоже никакого от этого толка нет, ибо полностью деактивировалась ...  Вы контролируете кислотность воды хоть чем-нибудь?  Годами может стоять и не тухнуть заряженная вода, но не из электроактиватора, а заряженная нормальными контактёрами, экстрасенсами, либо в крещенские купания. Это реально испытано, а вот в "батюшек" я не верю ...  А "М" и "Ж" водой надо лечиться, причём, вовремя, а не смотреть на неё.
    • давайте  жить дружно
    • STEN50 Если бы Мы все, лет 50 назад, в начале нашей карьеры, будучи школьниками  делали  шарманки по правильной  схеме, которая нарисована  выше, Мы бы работали в эфире с куда более качественными сигналами    Алексей 781 - быстренько заземли экранную сетку по ВЧ хорошим конденсатором на землю. Типа 0.01 на 400-600 вольт. Будет по лучше....А так поздравляем !!!! ... и если хочешь, что б услышали по дальше, пусти с окна два одинаковых луча на левое дерево под окном и на правое дерево. Лучи по 0.25 лямбда.. Один луч к передатчику, второй тупо на шасси передатчика. За 200-300 км ночью запросто могут услышать...в этом случае отвод с катушки  в антенну спусти по ниже к земле , от части витков катушки.

  • Частотники VFD до 5кВт. Одна входная фаза, три выходных

  • Similar Content

    • By Timofey Shilov
      Пытаюсь разобраться в программировании этого контроллера и при попытке настроить USART для приема/передачи данных возникла проблема:
      Пытаюсь принять байт и после нажатия кнопки отправить его обратно, но на выходе получается совсем не то что ожидаю.

      При отправке 0 должно вернуть 0, но возвращает вот это. В чем может быть проблема?
      ASCII                                BIN                   DEC         HEX

      Подозрения падают на настройку baud rate, но вроде всё как в мануалах.

      Полный код:
      #include "stm32f4xx.h" #include "stm32f4xx_hal_gpio.h" #include "stm32f4xx_hal_rcc.h" #include "stm32f4xx_hal_cortex.h" #include "stdint.h" #include "math.h" //define Internal RC frequencies #define XTAL 16000000UL //define busses prescalers #define AHB_PRE 1 #define APB1_PRE 2 #define APB2_PRE 1 #define SysTicksClk 10000 //calculate peripheral frequencies #define SYSCLK 84000000 #define AHB SYSCLK/AHB_PRE #define APB1 AHB/APB1_PRE #define APB1_TIM APB1*2 #define APB2 AHB/APB2_PRE #define APB2_TIM APB2*1 #define SysTicks AHB/SysTicksClk #define USART_BAUDRATE 19200 #define BUF_LEN 1 struct Data { char Msg[BUF_LEN]; } Message; void USART2_IRQHandler(void) { if (!(USART2->SR & USART_SR_TXE)) { if (Message.Msg[0] == (char)0x00) GPIOA->ODR |= 1 << 1; if (Message.Msg[0] == (char)0x01) GPIOA->ODR |= 0 << 1; } if (USART2->SR & USART_SR_RXNE) { Message.Msg[0] = USART2->DR; } } int main() { RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN | RCC_AHB1ENR_GPIOBEN; GPIOA->MODER |= 1 << 1*2; //Set GPIOA pins output mode GPIOB->MODER |= 0 << 0*2; GPIOA->MODER |= 0xA0; GPIOA->AFR[0] |= 0x7700; RCC->APB1ENR |= RCC_APB1ENR_USART2EN; USART2->CR1 |= USART_CR1_UE; //usart enable USART2->CR1 |= USART_CR1_TE; //transmitter enable USART2->CR1 |= USART_CR1_RE; //receiver enable float div = (float)APB1 /(16*(float)USART_BAUDRATE); int integer = APB1 / (16*USART_BAUDRATE); float flo = (div - (float)integer)*16; int floatt = round(flo); USART2->BRR = (( integer << 4 ) + floatt); NVIC_EnableIRQ(USART2_IRQn); USART2->CR1 |= USART_CR1_TXEIE; USART2->CR1 |= USART_CR1_RXNEIE; int i; while(1) { if (!(GPIOB->IDR & GPIO_IDR_ID0)) { i = 1; } else { if(i == 1) { USART2->DR &= Message.Msg[0]; while(!(USART2->SR & USART_SR_TC)); i = 0; } } } }  
      Сама схема:

    • Guest NickL
      By Guest NickL
      Всем привет.
      Имеется датчик давления под управлением микрухи MLX90308. Микруха сия собирает показания с 4-х включенных мостом тензометрических датчиков, и отдает обработанное значение в виде аналогового сигнала. Так же есть пин для получения данных в цифре и калибровки/прошивки этой микрухи. Производитель микрухи предлагает бесплатный софт и свою отладочно-прошивочную плату (EVB90308) за 250 бакинских (дорого), которую ждать 8 недель (долго)
      Судя по докам, там обычный UART, но с другими уровнями. Логический 0 = 0.3*Uвх, т.е. 1.5в, Логическая 1 = 0.7*Uвх, т.е. 3,5в. И всё это засунуто в единственный пин и на прием и на передачу.
      Универ был давно, да и учился я плохо, подскажите пожалуйста пример схемы чтобы 1) свести tx и rx на одну ногу 2)согласовать уровни для чтения/записи сей микрухи доступными средствами. Например, FTDI.
      Даташит микрухи:
      https://www.melexis.com/-/media/files/documents/datasheets/mlx90308-datasheet-melexis.pdf
      Спасибо заранее! Это датчик из блока АБС мотоцикла, замены нет, б/у запчастей нет, а новый блок стоит как сам мотоцикл.
    • By Дмитрий -
      На примере GSM/GPRS Goouuu Tech IOT-GA6-B и ATtiny85.
      Программа «Звонилка». 
      Программа на BASCOM-AVR. 
      Источник https://178654.blogspot.com/p/uart.html
       

    • By Viktor Golubov
      Почему может неправильно работать uart? Подключил 1 uart к пк через usb/uart переходник, а второй к gsm модему. В первый уарт вывожу инфу для дебага, а во второй AT команды. Суть в том, что сообщения для 2 уарта выводятся в 1 уарт

      и выводятся как то странно

      не полностью

      Вот такой вывод постоянно:

      Begin
      End
      AT+CNMI=2,2,0,0,0
      AT+CMGEnd
      AT+CNMI=2,2,0,0,0

      а должно быть просто

      begin

      end

      и все

      полный код https://pastebin.com/zBBZmZue
    • By IgnatiusF
      Не удается проинициализировать работу UART2 на скорость 19200 бод.
      Не вызывается прервание совсем, отсылаются постоянно нули на всех скоростях, если ставить System clock switch в 01 (HSE). При работе от RC генератора выдает уже просто не то, что нужно. 
      Кварц рабочий, и вообще все работает, при использовании библиотек HAL.
      SysTick выключил потому, что были подозрения на конлфикт приоритетов.
      Внизу представлена именно та часть кода программы, которая не работает, то есть сам UART.
      Проект скоро сдавать, а использовать готовую библиотеку HAL не хочется совсем, уже несколько дней парюсь и не могу найти проблему. Попробовал разобраться что пишет в регистры HAL, однако не смог т.к. не хватает знаний, значения регистров все такие же, кроме PLL (не используется) и RCC_CR1 (в HAL почему-то полностью равен 0). Проверял передачей данных по UART. Регистр BRR не удалось считать т.к. он только для записи. У меня записано так:
      USART1->BRR = 0x412;  //20MHz/16/19200 = 65,104.
      Где искать следует ошибку?
×
×
  • Create New...