ELcat писал(а):ARV с знаковыми и беззнаковыми разберусь. А вот целочисленно считать... Как же тогда будет вестись накопление при крутизне 0,01? Или всё выражение умножать на 1000 и считать в long?
не на 1000, а на 100, и тогда, возможно, хватит и int, но и long всяко будет быстрее и компактнее.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Я так понимаю, Вы пытаетесь задействовать знакогенератор?.. Тогда это несколько не та функция. Эта функция предназначена для записи стандартных символов. А для работы со знакогенератором в CV вряд ли есть встроенные средства. Придется Вам самим разбираться с datasheet дисплея
А например если мне нужно динамически менять значок зарядки аккумулятора, тогда приходится под кодом одного и того же символа менять разные символы. Вопрос память дисплея там какая рам или флэш. Сколько она записей выдержит?
подскажите пожалуйста есть ли русификатор для codevishion avr 2.05.0? а то я что то в нем не соображаю. а так хочется поучиться писать хотя бы простенькие программки. светодиодами поморгать или звуки какие замутить. и где искать скомпиллированый файл. в папке с программой вроде нету. где может быть тогда
у меня в папке C\\program files\bin нет папок и файлов. а при открытии папки из программы codevishion avr он открывает их но они почему то под замочком. этот win 7 со своими причудами меня достал уже. вообщем в той папке bin если открывать из проводника то там 4 файла. avrasm2, CVAVR, cvavr, STARTUP. ну и должны быть по идее папки с проектами но их нет. они непонятно почему скрытыеа вот файлы 444 что я создавал. их можно открыть через программу а через проводник нельзя
в документах поищите.
Либо в Виндовз есть мощное средство под названием поиск. Компилируете программу и ищете фалы со временем изменения за последнюю минуту. + название, наверно, с названием проекта должно совппадать.
Подскажите как сделать глобальный define?
т.е у меня есть главная программа main.c
к которой подключаются библиотеки usart.h eeprom.h и так далее
теперь мне понадобилось добавить отладку к функциям usart и eeprom
и я меняю только макрос __DEBUG__ а в остальных библиотеках он не виден
так вот как сделать что бы его видели все библиотеки знаю что можно добавлять где-то в настройках проекта но мне не очень это нравится как-то далековато а я часто его меняю
сделал файл DEBUG_SETTING.h и запихал его во внутрь но
но начали возникать ошибка смысл которой я не очень понимаю
а я разобрался со своей проблемой. просто нужно включать программу от имени администратора. написал тут простые программки мигания светиками. радует глаз))) не отказался бы от исходников простых программулин что бы разобраться с операторами и регистрами аттини 2313
pokk
Компилятор может несколько раз включать в один файл исходного кода заголовок. Чтобы избежать повторных входов и переопределений, делают примерно так:
Капитан Очевидность спешит на помощь!
Жаль только, что pokk нуждается в его помощи.
Тоже покапитаню: чтобы решить эту проблему надо убрать объявление макроса из .c файла и оставить только в своем специальном заголовке (.h). Ну и шапку из #ifndef / #define / #endif как советовал uk8amk полезно оставить.
подскажите почему светодиод мигает даже если не нажата кнопка. кнопка подключена к PORTD.0 светик к PORTB.0. по идее светик должен моргать при нажатии кнопки а он постоянно мигаетСпойлер#include <tiny2313.h>
#include <delay.h>
void main(void)
{
PORTB=0xFF;
DDRB=0xFF;
PORTD=0x7F;
DDRD=0x00;
ACSR=0x80;
while (1)
{
if (PIND.0==1)
{PORTB.0=1;}
else
PORTB.0=1;
delay_ms (50);
PORTB.0=0;
delay_ms (50);
};
}или это в протеусе просто не правильно что сделал? воу воу скобочки надо же такая мелочь а все испортила. не ну я даже сначала и не понял. после else скобочка должна быть. а почему интересно. это как подпрограмма. если кнопка нажата то выполняется else и пропускается if или что то типо того. более интересней если сразу потушить светодиод в младшем регистре порта B. а потом уже по нажатию им мигать