Great Cow BASIC

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
Встал на лапы
Сообщения: 132
Зарегистрирован: Пт окт 19, 2012 05:54:55

Сообщение koms48 »

Ну пёс с ними (с делаями (ежель фловкоде копнуть, совсем мало не покажется)).

Config MCLREOFF
Device = 12F675
Declare Xtal = 4
TRISIO = 0

m1:
PORTB.0 = 1
;DelayMS 100
PORTB.0 = 0
;DelayMS 100
GoTo m1

Что будет с Сями?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4747
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

Сообщение vem566 »

Как то давно, когда 64К было охрененной величины ОЗУ, нужна была программа для проверки этого самого ОЗУ. Так как при выполнении
эта программа находилась в этом самом ОЗУ, единственное условие - минимальный размер. Писалась она двумя разными людьми
даже не на асме, а прямым машинным кодом. Разница в размерах была в два раза. Не помню точно цифры, но в районе 200 и 400 байт.
Так что сравнивать любые одинаковые функции разных языков совершенно бессмысленное занятие.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25501
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="ARV",url="/forum/viewtopic.php?p=3510978#p3510978"]а если функция задержки - часть языка?[/uquote]
Библиотечная функция - часть КОМПИЛЯТОРА, а не языка.
Если говорить о функции задержки, как о критерии сравнения компиляторов, то это равносильно сравнению двух спортсменов-тяжелоатлетов по длине ногтей.
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="koms48",url="/forum/viewtopic.php?p=3510989#p3510989"]Что будет с Сями?[/uquote]
xc8 1.45

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

#include <pic.h>
#include <htc.h>	// Required to interface with delay routines

#ifndef _XTAL_FREQ
// Unless already defined assume 4MHz system frequency
// This definition is required to calibrate __delay_us() and __delay_ms()
#define _XTAL_FREQ 4000000
#endif

#pragma config MCLRE=OFF
#pragma config CP=ON
#pragma config CPD=OFF
#pragma config BOREN=ON
#pragma config WDTE=OFF
#pragma config PWRTE=ON
#pragma config FOSC=INTRCIO

void main()
{
    TRISC1 = 0;
    for (;;)
    {
        RC1 = 1;
        __delay_ms(100);
        RC1 = 0;
        __delay_ms(100);
    }
}
Memory Summary:
Program space used 27 of 3FFh words ( 2.6%)
Data space used 4 of 3Eh bytes ( 6.5%)
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

koms48, где листинг? Чем вы собрались меряться?

Длиной строк исходников?
Пожалуйста:

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

#include <xc.h>
void main (void)
 {
   blink();
}
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

dosikus писал(а):

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

#include <xc.h>
void main (void)
 {
   blink();
}
:))) :))) :))) чего тогда не так

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

#include "a.h"
:))) :))) :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

ARV, а тебе что не понравилось?
xc.h ? Это стандартный хэдер xc8 ...

Ну и к расширению кругозора , нужен же исполняемый код, хоть какой-то . Не пихать же его в хэдеры как ты... :)))
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

oleg110592 писал(а):Program space used 27 of 3FFh words ( 2.6%)
Т. е. 54 байта.
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

pic16
1 слово = 14 бит = 14/8 байтов = 1,75 байта :))
Друг Кота
Аватара пользователя
Сообщения: 25501
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Мурик",url="/forum/viewtopic.php?p=3511190#p3511190"]54 байта.[/uquote]
47,25 байт
:tea: :)))
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

oleg110592 писал(а):1 слово = 14 бит = 14/8 байтов = 1,75 байта
И на флешке они так хорошо упакованы? :))) :)))
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

ага, xc8 с конца флэш заполняет:
Изображение
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1363
Зарегистрирован: Чт апр 04, 2013 22:22:57
Откуда: Белгород, РФ

Сообщение SIM31 »

А отличие от Bascom avr в чем? В Bascom делал программы даже для AtTiny13 хватило памяти. Тем более сообществом поддерживается.
Вроде гланул более кросплатформенная, пики еще поддерживает. По аналогии с Микробэйсиком.
Последний раз редактировалось SIM31 Сб ноя 24, 2018 12:36:00, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 25501
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="koms48",url="/forum/viewtopic.php?p=3511651#p3511651"]сам бы проверил.[/uquote]
А что тут проверять? Как написана на АСМе функция задержки для библиотеки языка?
Сколько одно и тоже говорить? Проверять компиляторы на размер кода функции задержки - это тупость невероятная.
Сравнение нужно вести на конкретных тематических задачах.
Например, сортировка пузырьком. Или извлечение корня без обращения к библиотеке.
Или перемножение матриц. Или преобразование системы счисления (BIN2BCD).
То есть на НЕБИБЛИОТЕЧНЫХ задачах.
Встал на лапы
Сообщения: 132
Зарегистрирован: Пт окт 19, 2012 05:54:55

Сообщение koms48 »

Во, мля!
koms48 писал(а):
сам бы проверил.

Удалять посты - не для неправильно ориентированных мужей. KPAM, Вас это не касается, есть тут одно мудило, досикусом прикинулся.
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

[uquote="koms48",url="/forum/viewtopic.php?p=3511905#p3511905"]Во, мля!
koms48 писал(а):
сам бы проверил.

Удалять посты - не для неправильно ориентированных мужей. KPAM, Вас это не касается, есть тут одно мудило, досикусом прикинулся.[/uquote]


Это что? Когда нет аргументов льется словесный понос?
Не проще ли признать свое поражение, барсиковод, полное и безоговорочное...
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Этот код скомпилировался в прошивку размером 51 байт.
Этот в прошивку размером 54 байта.
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Речь была разве о размере кода ?
Мудрый кот
Сообщения: 1710
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Да что вы за байтами гонитесь,не хватает памяти-срезаем лишнее либо берем мк с большей памяти...
Начал ковыряться (плата с атмега328+дисплей SSD1306,демо пример работает),как включить подтяжку портов (на PORTB у меня кнопки)?
Пока сделал так
PORTB = 0xFF
надеюсь правильно...
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="Мурик",url="/forum/viewtopic.php?p=3512026#p3512026"]Этот код размером[/uquote]
xc8 __delay_ms инлайнит (в листинге два раза, без вызова) - м.б. потому что выбран микроконтроллер с малым стеком. Когдато делал свой корявый делэй:

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

#pragma config = 0x31C4

void Delay_ms(char cnt)
{
    char i, delayus_variable;
    do
    {
        i = 5;
        do
        {
            delayus_variable = 62;
label1:
            #asm
            decfsz delayus_variable
            #endasm
            goto label1;
        }
        while (--i);
    }
    while (--cnt);
}

void main()
{
    TRISC.5 = 0;
    for (;;)
    {
        PORTC.5 = 1;
        Delay_ms(100);
        PORTC.5 = 0;
        Delay_ms(100);
    }
}
RAM usage: 3 bytes (3 local), 61 bytes free
Total of 23 code words (2 %)
Ответить

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