Например TDA7294

Форум РадиоКот • Просмотр темы - delay_ms(1) = 0.5mS UPD: Закрыто.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 17:16:01

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: delay_ms(1) = 0.5mS UPD: Закрыто.
СообщениеДобавлено: Вт июн 28, 2022 14:17:11 
Прорезались зубы

Карма: -5
Рейтинг сообщений: -18
Зарегистрирован: Ср янв 11, 2012 11:55:51
Сообщений: 216
Рейтинг сообщения: 0
Всем доброго дня. Столкнулся с совершенно загадочным явлением в железе. На Atmega88 есть кусок кода, который формирует определенную последовательность с определенными временнЫми параметрами. Как видно из кода, минимальной временнОй единицей является 1 милисекунда. И в симуляторе Atmel Studio, и в Proteus нет никаких проблем. Все работает, как и должно. Но в реальном железе происходит следующее. Примерно в половине случаев (а может и больше) вызова функции, формируется последовательность с задержкой в 0,5 mS. Это очевидно видно из осциллограмм. Вопрос: че это за хрень и что с ней делать?
Код:
void send_data(uint8_t comand)
   {   
      cli();
      uint16_t buffer = 0;
         //for (uint8_t m = 0; m <=3; ++m)
         {buffer = (devices << 8)|comand;
            PORTB &= ~(1 << TXD);   // старт передачи две "1"
            _delay_ms(2);            
               for(uint8_t i=0; i<=15; i++)
                  {
                     if (buffer & 0x01) PORTB_XOR(TXD); else;
                     buffer = buffer >> 1;
                     _delay_ms(1);
                  }
            PORTB |= (1 << TXD);
            _delay_ms(2);
         }
      sei();

1 mS
Изображение
0.5 mS
Изображение


Последний раз редактировалось Land Вт июн 28, 2022 22:50:55, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: delay_ms(1) = 0.5mS
СообщениеДобавлено: Вт июн 28, 2022 14:42:52 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 2
Медали: 1
Получил миской по аватаре (1)
проблема не в делаях, а в выводе (передние фронты то не съехали...)

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: delay_ms(1) = 0.5mS
СообщениеДобавлено: Вт июн 28, 2022 15:21:51 
Это не хвост, это антенна

Карма: 15
Рейтинг сообщений: 177
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1326
Откуда: Тюмень
Рейтинг сообщения: 0
Столкнулся с совершенно загадочным явлением в железе.

Загадка видимо в коде… может кривовато написан? :dont_know:

У меня правда нет меги88, но на меге328 (16 МГц) работает вот как похожая задержка у меня… задействован вывод РВ5.
Вложение:
P1010390.JPG [38.29 KiB]
Скачиваний: 45

Если есть на чём проверить мою версию, вот прошивка:
Вложение:
Test.hex [635 байт]
Скачиваний: 49


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: delay_ms(1) = 0.5mS
СообщениеДобавлено: Вт июн 28, 2022 15:48:17 
Прорезались зубы

Карма: -5
Рейтинг сообщений: -18
Зарегистрирован: Ср янв 11, 2012 11:55:51
Сообщений: 216
Рейтинг сообщения: 0
проблема не в делаях, а в выводе (передние фронты то не съехали...)

допустим. Тогда что может прибавлять по 0,5 мС ? В коде ничего не меняется, устройство не выключается, осциллограммы сделаны с разностью в 2 минуты.

Добавлено after 3 minutes 36 seconds:
Столкнулся с совершенно загадочным явлением в железе.

Загадка видимо в коде… может кривовато написан? :dont_know:

возможно. Я для этого код и привел. Но, повторюсь, во всех симуляторах все работает как дОлжно. Без вопросов.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: delay_ms(1) = 0.5mS
СообщениеДобавлено: Вт июн 28, 2022 15:53:17 
Это не хвост, это антенна

Карма: 15
Рейтинг сообщений: 177
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1326
Откуда: Тюмень
Рейтинг сообщения: 0
Так я не понимаю что там написано… :dont_know: потому делаю только предположения… :roll: я даже не понял какая должна быть у тебя последовательность… :)


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: delay_ms(1) = 0.5mS
СообщениеДобавлено: Вт июн 28, 2022 19:33:48 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 2
Медали: 1
Получил миской по аватаре (1)
можно подробнее, какое действие ожидается от этой строки?
if (buffer & 0x01) PORTB_XOR(TXD); else;
(интересует PORTB_XOR(TXD); ето функция?
и ещё, что отделено оператором else;?

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: delay_ms(1) = 0.5mS
СообщениеДобавлено: Вт июн 28, 2022 21:12:07 
Прорезались зубы

Карма: -5
Рейтинг сообщений: -18
Зарегистрирован: Ср янв 11, 2012 11:55:51
Сообщений: 216
Рейтинг сообщения: 0
можно подробнее, какое действие ожидается от этой строки?
if (buffer & 0x01) PORTB_XOR(TXD); else;
(интересует PORTB_XOR(TXD); ето функция?

#define PORTB_XOR(x) (PORTB ^= (1 << x))
и ещё, что отделено оператором else;?

ничего. ; закрывает пустой оператор else. Да, я знаю, что его можно не писать, но мне он не мешает, а для меня делает код более читаемым.
Перепроверил дефайны. #define TXD PB4. Больше к этому пину ничто не обращается. PCINT4 не инициализируется и не используется
Стоп. Кажется сам дурак. Я это смотрю на приемной стороне после компаратора. И не вижу фронтов на входе приемника :oops:
UPD. Тема закрыта.
Ivanoff-iv, большое спасибо за подсказку!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y