stm32 ds18b20

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: stm32 ds18b20

Сообщение Eddy_Em »

Ну зачем эта жесть с delay'ями, если 1-wire прекрасно можно в виде конечного автомата сварганить на UART+DMA или TIM+DMA?
И не нужно будет две ноги тратить: у UART есть режим полудуплекса по одному проводу, с таймером еще проще (CC2 в режиме захвата вешается на ту же ногу, что и CC1 в режиме ШИМа).
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
AlanDrakes
Прорезались зубы
Сообщения: 236
Зарегистрирован: Пн июл 04, 2016 16:51:22
Откуда: Россия, Омск

Re: stm32 ds18b20

Сообщение AlanDrakes »

ТС хочет на ногодрыге.
Остальные варианты уже сколько раз предлагались =]
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: stm32 ds18b20

Сообщение Eddy_Em »

[uquote="AlanDrakes",url="/forum/viewtopic.php?p=4246750#p4246750"]ТС хочет на ногодрыге.[/uquote]
А потом еще удивляется, чего это его на других форумах забанили!
Да за это и забанили: за извращения в самой жестокой форме!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32 ds18b20

Сообщение ivan dimir »

Не за это меня забанили.А за то что я пошутил что за 100 доларов сделаю работу с таймером AVR.А модератор просил 400 это за что за поффисионализм?А насчёт USART-DMA 1_Wire.Куплю переходник и буду эксперементировать на железке.А сейчас с 22.12 .2021 я без работы.На Украине туго.
Up2805
Встал на лапы
Сообщения: 148
Зарегистрирован: Сб июн 04, 2022 05:21:07

Re: stm32 ds18b20

Сообщение Up2805 »

Да какая разница - на ногодрыге или не на ногодрыге? Главное - попробовать, что-то сделать, получить результат. А потом уже можно и совершенствовать, переносить на уарт например. Пусть автор хоть как-то сделает уже, поймет как это работает, а там видно будет.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: stm32 ds18b20

Сообщение Аlex »

ivan dimir, будете тут разводить срач - и тут забанят. Про политику идите в другие разделы трепаться.

ЗЫ: Срач потчистил.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: stm32 ds18b20

Сообщение Мурик »

ivan dimir писал(а):А насчёт USART-DMA 1_Wire.Куплю переходник и буду эксперементировать на железке.
О каком переходнике речь?
DS18B20 возможно подключить к USART и производить обмен через DMA. http://purebasic.mybb.ru/viewtopic.php?id=574

Что сейчас есть из железа?
Есть STM32 (какие), ST-Link, DS18B20, резисторы, конденсаторы, провода, паяльник и т. д.?
При отсутствии всего перечисленного, можете использовать протеус если комп мощный (симуляция STM32 затратна по ресурсам).
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32 ds18b20

Сообщение ivan dimir »

Ну есть stm32f103c8t .stm32f411?.и stm32f407vet а протеус какой лучше использовать ?Хочется железо поберечь.

Добавлено after 2 minutes 56 seconds:
[uquote="Аlex",url="/forum/viewtopic.php?p=4247157#p4247157"]ivan dimir, будете тут разводить срач - и тут забанят. Про политику идите в другие разделы трепаться.

ЗЫ: Срач потчистил.[/uquote]
Извините на этом сайте я вне политики. Интересуют только знания.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: stm32 ds18b20

Сообщение Мурик »

ivan dimir писал(а):протеус какой лучше использовать
Текущую версию.
Для симуляции STM32 нужен мощный комп (в первую очередь, производительный процессор и быстрая оперативная память), иначе симуляция в реальном времени будет невозможной.
ivan dimir писал(а):Хочется железо поберечь.
В смысле чтобы не вывести из строя или не перетирать флеш? В последнем случае, отладка в ОЗУ поможет.
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32 ds18b20

Сообщение ivan dimir »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4246708#p4246708"]Ну зачем эта жесть с delay'ями, если 1-wire прекрасно можно в виде конечного автомата сварганить на UART+DMA или TIM+DMA?
И не нужно будет две ноги тратить: у UART есть режим полудуплекса по одному проводу, с таймером еще проще (CC2 в режиме захвата вешается на ту же ногу, что и CC1 в режиме ШИМа).[/uquote]
Так TIM+DMA?Или UART+DMA?
В CubeIDE отладка на таких платках проблематично.А какие требования системные ОС?И какой протеус?
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: stm32 ds18b20

Сообщение Eddy_Em »

[uquote="ivan dimir",url="/forum/viewtopic.php?p=4247622#p4247622"]Так TIM+DMA?Или UART+DMA?
В CubeIDE отладка на таких платках проблематично.А какие требования системные ОС?И какой протеус?[/uquote]
Отвечаю последовательно.
И TIMx+DMA, и UART1+DMA не потребуют задействования двух ног. Про другие UART'ы мне лень читать - есть ли там полудуплексный режим.
На калокуб мне насрать, сам знаешь. И презираю использующих это говнище.
Требований к ОС никаких нет. Можешь даже на игровой приставке все это делать, если тебе слишком сложно в линуксе или бсд работать.
Протеус - без понятия, что это за УГ. Слышал неоднократно, но ни разу не видел. Думаю, тебе лучше с этим куском УГ не связываться.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32 ds18b20

Сообщение ivan dimir »

Ну как не требует USART-DMA TIM-DMA требует по две ноги RX TX я так понимаю.Ну если я не правильно понял то вы выскажите правильную информацию.Да и примеров по USART-DMA и TIM-DMA мало .А вообще на 1-wire ds18b20 USART-DMA и TIM-DMA это разные программы. Или одна ?
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: stm32 ds18b20

Сообщение Eddy_Em »

Нет, неправильно понимаешь. А ссылку на реализацию с таймером я ещё в самом начале давал.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32 ds18b20

Сообщение ivan dimir »

У меня вопрос от аматора к вам профи а могли бы вы в кратце на пальцах объяснить принцып USART-DMA 1-wire. Прицип таймера как он работает .Как он реализует протокол 1-Wire ?.Я чужие исходники плохо умею читать.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: stm32 ds18b20

Сообщение Eddy_Em »

На уарте пусть тебе расскажет тот, кто на нем делал. Я делал на таймере, ссылку в самом начале давал. Принцип элементарный: сначала ты "послание" зашифровываешь побитно и в каждый элемент массива uint8_t складываешь значения регистра CC1 таймера, на котором делаешь это дело. Из регистра CC2 будешь забирать захваченные данные. Таймер одновременно как бы генерирует шим на CC1 и захватывает сигнал на CC2. После передачи разбираешь данные, которые через DMA приплыли из регистра CC2, да дешифруешь.
Естественно, мультиплексор соединяет CC1 и CC2 на одной ноге.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32 ds18b20

Сообщение ivan dimir »

Так ты настраиваешь таймер в режиме захвата? Это один вход в режиме захвата?
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: stm32 ds18b20

Сообщение Eddy_Em »

Я же говорю: CC1 в режиме ШИМ, CC2 — в режиме захвата. Оба — на одной и той же ноге. Вот же:

Код: Выделить всё

void DS18_pinsetup(){
    TIM1->CR1 = 0;
    RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_TIM1EN | RCC_APB2ENR_AFIOEN;
    RCC->AHBENR |= RCC_AHBENR_DMA1EN;
    pin_set(GPIOA, 1<<8); // 1 @ line
    // PA8 as opendrain output
    GPIOA->CRH = (GPIOA->CRH & ~(GPIO_CRH_MODE8 | GPIO_CRH_CNF8)) |
            CRH(8, CNF_ODOUTPUT | MODE_FAST);
    TIM1->PSC = 71; // 1MHz
    // CC1 is output (PWM mode 1, active->inactive, enable preload), CC2 is input @TI1
    TIM1->CCMR1 = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1PE |
            TIM_CCMR1_CC2S_1;
    // enable CC1 & CC2, CC1 active low
    TIM1->CCER = TIM_CCER_CC1E | TIM_CCER_CC2E | TIM_CCER_CC1P;
    TIM1->DIER = 0; // disable IRQ & DMA events
    // main output enable
    TIM1->BDTR = TIM_BDTR_MOE;
    // T1Ch2: per->mem, T1Ch1: mem->per; 16bit->8bit,
    DMA1_Channel2->CCR = DMA_CCR_MINC | DMA_CCR_PSIZE_0 | DMA_CCR_TCIE | DMA_CCR_DIR;
    DMA1_Channel3->CCR = DMA_CCR_MINC | DMA_CCR_PSIZE_0 | DMA_CCR_TCIE;
    DMA1_Channel2->CPAR = (uint32_t)&TIM1->CCR1;
    DMA1_Channel3->CPAR = (uint32_t)&TIM1->CCR2;
    TIM1->CR1 = TIM_CR1_URS; // only ARR overflow generates interrupt

    NVIC_EnableIRQ(TIM1_UP_IRQn); // last interrupt to turn timer off
    NVIC_EnableIRQ(DMA1_Channel2_IRQn);
    dsstate = DS18_SLEEP;
}
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32 ds18b20

Сообщение ivan dimir »

Я так и понял а как вы задержки делаете.Функция инициализации и ресета?
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: stm32 ds18b20

Сообщение Eddy_Em »

Ну я же ссылку дал. Неужто трудно открыть код? Все идет внутри конечного автомата. Вот:

Код: Выделить всё

        case DS18_DETDONE:
            if(TIM1->CCR2 > RESET_BARRIER) DS18_startmeas(Tms);
            else dsstate = DS18_ERROR;
        break;
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: stm32 ds18b20

Сообщение Мурик »

Eddy_Em писал(а):Ну я же ссылку дал. Неужто трудно открыть код?
Он же написал
ivan dimir писал(а):Я чужие исходники плохо умею читать.
Можно делать хоть 1500 ссылок на исходники но будет ли результат?
Ответить

Вернуться в «ARM»