АЦП на ATTINY13

Обсуждаем контроллеры компании Atmel.
Ответить
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт июн 15, 2021 18:24:25

Сообщение vigor53 »

Машину состояний ?
Я ведь в самом начале написал -- Я НАЧИНАЮЩИЙ
Но все равно - спасибо !
Реклама
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

Ну и опять-таки: в тиньке 1-ой серии и DA серии есть система событий. Практически на любую реакцию можно аппаратно задать любое возмущение.
Если у вас ведро тинек13 - несите их на помойку. 21 век на дворе. Пора бы сняться с якоря 2000-х.

Добавлено after 3 minutes 36 seconds:
[uquote="vigor53",url="/forum/viewtopic.php?p=4048751#p4048751"]Машину состояний ?
Я ведь в самом начале написал -- Я НАЧИНАЮЩИЙ
Но все равно - спасибо ![/uquote]
Раз начинающий, значит надо учиться.
Тяжело в учении, легко в бою (с).
Реклама
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт июн 15, 2021 18:24:25

Сообщение vigor53 »

Вот решу необходимую задачу - тогда отнесу на помойку .....
А пока я тут буду учится - стоит определенная работа
Может есть где-то библиотека примеров кодов по BASCOM ?
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков

Сообщение slav0n »

а фильтровать измерения не надо? чи нехай срабатывает абы как
ohmycode!
primuss3.com
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

vigor53, чем обусловлен выбор Basic'а? Если честно, имхо провальный путь - людей, пишущих на нём для МК единицы и подсказки будет сложно искать.
Может лучше ArduinoCore взять? https://github.com/MCUdude/MicroCore Хотя бы примеров и подсказок много найти/узнать можно будет.
Реклама
Мучитель микросхем
Сообщения: 437
Зарегистрирован: Пн май 27, 2019 07:18:28
Откуда: ВВХ-ск

Сообщение mont-oriol »

[uquote="vigor53",url="/forum/viewtopic.php?p=4048698#p4048698"]Надо только один , и при следующем событии опять один[/uquote]

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

Do
  If Getadc(3) <= 300 And Getadc(2) <= 300 Then
    Portb.2 = 1
  Else
    Portb.2 = 0
  End If

  If Portb.2 = 1 Then
    Portb.1 = 1
    Waitms 500
    Portb.1 = 0

    While Getadc(3) < 400 And Getadc(2) < 400 Do
      Waitms 100
    Loop

  End If
Loop
Я добавил цикл ожидания, три строки, ждёт пока один из аналоговых сигналов не станет больше либо равен 400. Как случится такое, этот дополнительный цикл завершится, и ваша программа будет снова готова дать нужный импульс по условию Getadc(3) <= 300 And Getadc(2) <= 300.
В тех трёх строчках могут быть ошибки, т.к. я не уверен, что это за язык, но главное - понять идею.
А если нужно ждать, когда оба сигнала станут >= 400, то так:

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

    While Getadc(3) < 400 Or Getadc(2) < 400 Do
      Waitms 100
    Loop
Откуда взялось 400. Нужно любое число немного больше изначального порога, иначе будет дребезг, когда ваши сигналы будут колебаться возле 300.
Реклама
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт июн 15, 2021 18:24:25

Сообщение vigor53 »

Спасибо !
Буду пробовать
Мучитель микросхем
Сообщения: 437
Зарегистрирован: Пн май 27, 2019 07:18:28
Откуда: ВВХ-ск

Сообщение mont-oriol »

В BASCOM-AVR цикл while вот так выглядит:

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

    While Getadc(3) < 400 And Getadc(2) < 400
      Waitms 100
    Wend
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт июн 15, 2021 18:24:25

Сообщение vigor53 »

извините - но Ваша прогр амма даже не компирируется !
Всем спасибо !
Нашлись - ДОБРЫЕ ЛЮДИ ! все сделали за 15 минут !!!!!!!!!!!!!
Причем --- поняли всю задачю с полуслова !!!
Без всяких -: машин состояний:
Но все равно = спасибо за участие !!!
Будьте - добрее !!!
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков

Сообщение slav0n »

делай кораблики
ohmycode!
primuss3.com
Контактная информация:
Ответить

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