Список разделов Flyback.org.ru » не HV » Микроконтроллеры и всё, что с ними связано
Тему сейчас просматривают - зарегистрированных: 0, скрытых: 0 и гостей: 0
Зарегестрированные - Нет
Ответить с цитатой

TAN
 


88 - неспроста! пацтулом

Добавлено: Thu Mar 16, 2017 2:40 am
Ответить с цитатой

Behram
 


Можешь эту проверить?

Добавлено: Thu Mar 16, 2017 2:40 am
blink84.zip (286 байт)
Ответить с цитатой

TAN
 


Пашет заебись. Скока весит?

Добавлено: Thu Mar 16, 2017 2:43 am
Ответить с цитатой

Behram
 


84 байта. Там такой говнокод, все охуеют когда увидят пацтулом

Добавлено: Thu Mar 16, 2017 2:44 am
Ответить с цитатой

TAN
 


На 86 проверил, пашет.

Добавлено: Thu Mar 16, 2017 2:57 am
main.rar (232 байт)
Ответить с цитатой

Behram
 


тут тоже 84, без говнокода, но я уже не помню какой там код был

Добавлено: Thu Mar 16, 2017 3:04 am
Ответить с цитатой

Евгений Светницкий
 


Вот так вот это и работает. Вместо асемблера и использования таймера, люди херачат на си да еще и таймер программный Smile

Добавлено: Thu Mar 16, 2017 4:30 am
Ответить с цитатой

TAN
 


Не, у меня на 84 не работает. На 86 работает.

5 утра скоро. Закругляться пора.

Добавлено: Thu Mar 16, 2017 4:48 am
Ответить с цитатой

Анна
 


А что нужно сделать-то?) Даже уже интересно Smile

Добавлено: Thu Mar 16, 2017 5:44 am
Ответить с цитатой

Electricman
Бес заземления


Мигалку для светика. 1секунду светит, две отдыхает.

Добавлено: Thu Mar 16, 2017 7:22 am
Ответить с цитатой

Анна
 


Ну если на асме и без инициализации всего - то наверное это будет байт 30 Smile

Добавлено: Thu Mar 16, 2017 7:25 am
Ответить с цитатой

Анна
 


Если с одинаковым миганием (пауза и свечение одинаковы), тогда вообще можно в 16 байт (код в памяти, 8 инструкций). Извращение, но ведь мигает

.device ATMEGA328
;ANNETT Smile

;PC4 -> LED

ldi r20,0x20
sbi DDRC,4
L1: sbiw r30,1
brne L1
dec r20
out PORTC,r20
brne L1
ijmp
------------
Листинг:
gavrasm Gerd's AVR assembler version 3.3 (C)2012 by DG4FAC
----------------------------------------------------------
Source file: MAIN.AVR
Hex file: MAIN.hex
Eeprom file: MAIN.eep
Compiled: 16.03.2017, 07:10:24
Pass: 2
1: .device ATMEGA328
2: ;ANNETT Smile
3:
4:
5: ;PC4 -> LED
6:
7: 000000 E240 ldi r20,0x20
8: 000001 9A3C sbi DDRC,4
9: 000002 9731 sbiw r30,1
10: 000003 F7F1 brne L1
11: 000004 954A dec r20
12: 000005 B948 out PORTC,r20
13: 000006 F7D9 brne L1
14: 000007 9409 ijmp
15:

Program : 8 words.
Constants : 0 words.
Total program memory: 8 words.
Eeprom space : 0 bytes.
Data segment : 0 bytes.
Compilation completed, no errors.
Compilation endet 16.03.2017, 07:10:24

Добавлено: Thu Mar 16, 2017 8:41 am
Ответить с цитатой

Николай
 


Хекс без исходника, потребного к компиляции не канает.

раз уж пошла такая пьянка - давайте еще немного потянем, вдруг ченить родим.

у мя 88. без говнокода, читабильно и красиво. остановлюсь пожалуй на этом


2Евгений

на асме (да впрочем и на сях) таймер, а вернее шим завести дело пары байт. в чем тогда соревнование.
Смысл этой затеи в том, что мигание светиком это первое что ардуинщики делают. Вот и интересно размеры прошивки, читаемость кода посмотреть в разных вариантах

Добавлено: Thu Mar 16, 2017 10:18 am
Ответить с цитатой

Behram
 


84, без говнокода.

Добавлено: Thu Mar 16, 2017 12:51 pm
blink.zip (286 байт)
Ответить с цитатой

TAN
 


Аналогично, читабельно и красиво, но 86 на голых циклах. Куда девать еще два байта - пока хз.

Появлюсь в инете не раньше 11 вечера.

Добавлено: Thu Mar 16, 2017 12:57 pm
Ответить с цитатой

TAN
 


84 без говнокода. В протеусе работает.

Народ, присоединяйтесь к действу! crazy

P.S. Кароч, скидываю исходник в архиве, поскольку до компа не добраться будет. Пароль спалю вечером.

Добавлено: Thu Mar 16, 2017 1:20 pm
tiny.rar (6.06 Кб)
main.rar (228 байт)
Ответить с цитатой

Николай
 


82 ебать его в ногу!!!!!!!!!!!

Добавлено: Thu Mar 16, 2017 1:53 pm
Ответить с цитатой

Behram
 


TAN писал(а):
Есть только АРМы и АРМы в золоте.
Можешь сфоткать? Никогда такие не видел.

Добавлено: Thu Mar 16, 2017 2:13 pm
Ответить с цитатой

Николай
 


Хекс, 82 байта

:100000000EC015C014C013C012C011C010C00FC064
:100010000EC00DC00CC00BC00AC009C008C011241E
:100020001FBECFE5D1E0DEBFCDBF0AD010C0E8CF04
:100030002FE18FEF9FEF0197F1F72150E1F708953E
:10004000B89AC09AF5DFC098F3DFF2DFFACFF894E0
:02005000FFCFE0
:00000001FF

если никто больше не присоединится то вечером палим исходники.

Добавлено: Thu Mar 16, 2017 2:55 pm
Ответить с цитатой

Behram
 


В общем вот последняя версия 84 байтовой прошивки. Ща в универ иду, вечером буду онлайн.

Добавлено: Thu Mar 16, 2017 3:05 pm
blink.zip (288 байт)
Ответить с цитатой

Николай
 


Раз уж никто больше не хочет заняться занимательным мозгоебством тогда завершаем

Всё. закончил.

80 байт. Восемьдесят байтегов!!! Пустой проект винавр компилирует в 54 байта, итого весь код компилится в 26 байт.

Я когда-то писал на асме. но потом перешел на си, потому как читабельность гораздо лучше, а рожать короткий код он вполне способен.


Ну кто скажет что это нечитабельная хуйня!?

Хекс
Код:
:100000000EC015C014C013C012C011C010C00FC064
:100010000EC00DC00CC00BC00AC009C008C011241E
:100020001FBECFE5D1E0DEBFCDBF09D00FC0E8CF06
:100030008FE121503040E9F78150D9F70895B89AFF
:10004000C09AF6DFC098F4DFF3DFFACFF894FFCF61
:00000001FF


А вот собсно говоря и сам текст. Кто хочет сказать что он колдунство и нечитаем!?
Код:

#include avr/io.h
#define PIN 0                      //Номер ноги, на которой мигает светодиод
#define PORT PORTB                  //Порт, на котором будем дрыгать ногой
#define DDR DDRB                  //Регистр назначения порта
#define F_CPU 8000000               //Тактовая частота контроллера
#define DValue 1                  //Длительность задержки в секундах
#define NumRep (F_CPU/255000*DValue)   //Вычисление требуемого числа циклов для формирования задержки

void Delay(void)         //Генерация задержки
{
  unsigned char a=NumRep;
  unsigned int b;
  ret:
   --b;      
     if (b) goto ret;
   --a;
    if (a) goto ret;
}
int main()
 { 
  DDR |= (1<<PIN);         //Устанавливаем пин как выход 
  do {
     PORT|=(1<<PIN);      //Зажигаем светодиод
     Delay();            //Ждем 1 сек
     PORT&=~(1<<PIN);      //Гасим светодиод
     Delay();            //
     Delay();            // Ждем две секунды
    }while(1);
   
 }


Добавлено: Thu Mar 16, 2017 7:32 pm
Ответить с цитатой

Тёма
Больше не студент


Что-то не могу понять...

Николай писал(а):
80 байт.
Берем "Хекс", копируем код, сохраняем в файл и получаем размер в 236 байт, откуда 80?

Behram писал(а):
В общем вот последняя версия 84 байтовой прошивки.
Почему 84 байтовой, если прошивка весит 259 байт? Даже сам архив весит 288 байт.

Добавлено: Thu Mar 16, 2017 7:39 pm
Ответить с цитатой

perezx
 


Так оно ж не даст ничем, кроме мигания, заниматься контроллеру!

Добавлено: Thu Mar 16, 2017 7:39 pm
Ответить с цитатой

SilverRay
 


Тёма писал(а):
Почему 84 байтовой, если прошивка весит 259 байт? Даже сам архив весит 288 байт.
Потому что HEX-файл -- текстовый, с дополнительными полями адресов и контрольной суммы.

Добавлено: Thu Mar 16, 2017 7:41 pm
Ответить с цитатой

Behram
 


84 байта, как-то так

Код:

#include <avr>
#include <util>
void delay( uint8_t count);

int main(void)
{
DDRB |= 1<<DDB0; //нога PB0 выход
while(1)
{
PINB |= 1<<PINB0; //инвертируем состояние
delay(50); //ждем
PINB |= 1<<PINB0>0);
}



Почему-то весь код не вставляется, кусок удаляется. Вставлю скриншотом


Добавлено: Thu Mar 16, 2017 7:49 pm
.JPG (47.09 Кб)

Список разделов Flyback.org.ru » не HV » Микроконтроллеры и всё, что с ними связано
На страницу Пред.  1, 2, 3 ... 98, 99, 100 ... 151, 152, 153  След.     Просмотр темы целиком



Лицензионное соглашение

(c)Flyback.org.ru
Российское общество любителей высоких напряжений.
Использование материалов с данного сайта и форума возможно только с разрешения администрации.