The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by, 13-Фев-24 08:47 
Имел ввиду память под код, там размер прошивки 60 байт (а на "языке Wiring" с доработками 244). Откопал ту idb, рядом авторский исходник. Похоже, автор высчитывал времянки, зная время исполнения команд. Но толку от этого мало - без кварца, на внутреннем генераторе, частота создаваемого меандра отличается от требуемых 75 Гц (для проверки я и сравнивал прошивку на соответствие исходнику). Даже когда в серийном устройстве (https://tes.spb.ru/images/dtinstruction_compressed.pdf) стоит кварц (если там вообще есть Атмега), в любом случае придётся проверять осциллографом, значит можно и подобрать константы.


;HiFreq TES @ Ext 16 Mhz

.include "tn25def.inc"

;********
.def       Temp         = r16              ; Temporary Register

.def       CntLo         = r24              ; Count Register
.def       CntHi         = r25
    
;********      
.Cseg
        
.Org    $0000

;********
Reset:
    ldi    Temp,    $07            ; PortB (0,1,2) as Outputs
    out    DDRB,    Temp
    out    PORTB,    Temp
    
;********
LoopA:
    ldi    CntHi,    High (323)        ; 3.225 mSecs Loop
    ldi    CntLo,    Low  (323)

    ldi    Temp,    $02            ; 2.5 uSecs Loop        
    out    PORTB,    Temp
    ldi    Temp,    12
    dec    Temp                
    brne    pc-1
    nop
    nop

    ldi    Temp,    $04            ; 7.5 uSecs Loop            
    out    PORTB,    Temp
    ldi    Temp,    38
    dec    Temp                
    brne    pc-1

    sbiw    CntLo,    1
    brne    LoopA+2                

;********
LoopB:
        ldi    CntHi,    High (967)        ; 9.675 mSecs Loop
    ldi    CntLo,    Low  (967)

    ldi    Temp,    $03            ; 2.5 uSecs Loop            
    out    PORTB,    Temp
    ldi    Temp,    12
    dec    Temp                
    brne    pc-1
    nop
    nop

    ldi    Temp,    $05            ; 7.5 uSecs Loop            
    out    PORTB,    Temp
    ldi    Temp,    38
    dec    Temp                
    brne    pc-1
    
    sbiw    CntLo,    1
    brne    LoopB+2

        rjmp    LoopA


/*
* TES
* см. http://www.ullasmann.eu/
*/

//#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>

#define O1 (1 << PB0)
#define O2 (1 << PB1)
#define O4 (1 << PB2)

// пауза в 10 мкс
#define u_pause(_10uS) __builtin_avr_delay_cycles((_10uS) * F_CPU / 10000000)

// должно быть 2.5 мкс
// подстроено под внутренний генератор
#define PULSE 26

// должно быть 7.5 мкс
// подстроено под внутренний генератор
#define PAUSE 78

// длительность сеанса 30 мин
//#define SEANCE (30 * 60 * 77)

int main(void)
{
  DDRB = O1 | O2 | O4;

  // 30 минут
  for (unsigned s = 30; s; s-- )
    for (unsigned m = 60 * 77; m; m-- ) {
      // длина пульса 3.225 мс
      for (unsigned ps = 323; ps; ps--) {
        PORTB = O2;
        u_pause(PULSE);
        PORTB = O4;
        u_pause(PAUSE);
      }
      // длина паузы 9.675 мс
      for (unsigned ps = 967; ps; ps--) {
        PORTB = O2 | O1;
        u_pause(PULSE);
        PORTB = O4 | O1;
        u_pause(PAUSE);
      }
    }
  // экономим питание
  PORTB = 0;
  MCUCR |= 0x70; // Idle
  __builtin_avr_cli();
  __builtin_avr_sleep();
}


 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру