The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Новая версия среды разработки Arduino IDE 2.3 , opennews (??), 11-Фев-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


32. "Новая версия среды разработки Arduino IDE 2.3 "  +2 +/
Сообщение от Высокоимпедансно (?), 11-Фев-24, 20:36 
Кодил под атмеги на чистом C. В разы компактнее чем скетчи для ардуинок.
Ответить | Правка | Наверх | Cообщить модератору

36. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от 12yoexpert (ok), 11-Фев-24, 20:46 
отсыпь ссылок
Ответить | Правка | Наверх | Cообщить модератору

37. "Новая версия среды разработки Arduino IDE 2.3 "  +1 +/
Сообщение от Высокоимпедансно (?), 11-Фев-24, 21:03 
> отсыпь ссылок

Я поначалу пользовался Atmel Studio. С ней всё само собой получится. И программировал ардуинки через программатор https://sl.aliexpress.ru/p?key=632LOnI.
Нынче Atmel нас банит, может через VPN получится.
А под Linux https://radiokot.ru/artfiles/6736/
Только одна ошибка в статье LDFLAGS д б = CFLAGS.

Ответить | Правка | Наверх | Cообщить модератору

68. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от Аноним (9), 12-Фев-24, 02:20 
> Нынче Atmel нас банит

Нет, работает без всяких VPN

Ответить | Правка | Наверх | Cообщить модератору

39. "Новая версия среды разработки Arduino IDE 2.3 "  –1 +/
Сообщение от Высокоимпедансно (?), 11-Фев-24, 21:19 
> отсыпь ссылок

Ну и отладка в родном proteus с рутрекера :)

Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

50. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от Высокоимпедансно (?), 11-Фев-24, 22:42 
Я бы пересел для этой грядки полностью на Linux, это всё возможно. Но Proteus не идёт у меня в вайне, а без него ардуинку затыркаешь перепрошивками.
Ответить | Правка | Наверх | Cообщить модератору

67. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от Аноним (9), 12-Фев-24, 02:19 
> Proteus

Есть же альтернативы

Ответить | Правка | Наверх | Cообщить модератору

75. "Новая версия среды разработки Arduino IDE 2.3 "  +1 +/
Сообщение от Высокоимпедансно (?), 12-Фев-24, 02:33 
Буду рад узнать какие.
Ответить | Правка | Наверх | Cообщить модератору

74. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от Аноним (-), 12-Фев-24, 02:32 
> Я бы пересел для этой грядки полностью на Linux, это всё возможно.
> Но Proteus не идёт у меня в вайне, а без него
> ардуинку затыркаешь перепрошивками.

По минимуму simulide есть например для некоторых авр-ок. Но вообще симуляторы это изврат, а их точность весьма специфичная.

Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

90. "Новая версия среды разработки Arduino IDE 2.3 "  +1 +/
Сообщение от n00by (ok), 12-Фев-24, 06:46 
Ковырял прошивку Атмеги, написанную на чистом асме. Так и не понял, зачем автор заморачивался экономией 95% незадействованной памяти. Наверное, просто потому что умеет.
Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

109. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от bOOster (ok), 12-Фев-24, 12:36 
Это из того-же разряда экономить операционную память на сервере с устоявшимся набором софта и нагрузки.

А На самом деле, если можешь использовать регистры - зачем лезти в память?

Ответить | Правка | Наверх | Cообщить модератору

146. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от n00by (ok), 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();
}


Ответить | Правка | Наверх | Cообщить модератору

117. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от Аноним (117), 12-Фев-24, 15:40 
Асм на атмеге хорош (кайф), а мишка - гадость (пуши/попы регистров на любой чих, например).
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

138. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от Аноним (117), 12-Фев-24, 22:00 
*сишка
Ответить | Правка | Наверх | Cообщить модератору

147. "Новая версия среды разработки Arduino IDE 2.3 "  +/
Сообщение от n00by (ok), 13-Фев-24, 08:57 
Вообще не интересно было смотреть, что там сишка генерирует. Это на Спектруме память ограничена, а когда Атмега стоит два часа за килограмм микросхем - выбирай любую.
Ответить | Правка | К родителю #117 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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