Страница 221 из 421
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс сен 23, 2012 09:05:18
спящий
я как понял это не для всех контроллеров?для mega48 подойдет?
чето немогу найти где эту галку поставить,может версия другая.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс сен 23, 2012 09:22:54
U235
Как то так:
Спойлер


Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс сен 23, 2012 10:07:58
спящий
у меня нет таких настроек
и подскажите насчет макроса,чет непойму,так(выдает ошибку):
#define data(x) (SPDR=x; while (!( SPSR&(1<<7))){}); // макрос
data(0xff);//вызов макроса
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс сен 23, 2012 10:36:02
U235
Попробуйте так
Код: Выделить всё
#define data(x) SPDR=x; while (!( SPSR&(1<<7)));
Видимо, у Вас версия CodeVision более ранняя. Можно попробовать задать в тексте программы
до подключения всех заголовочных файлов. То есть в самом начале.
В моей версии это помогает.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс сен 23, 2012 10:59:43
ut1wpr
спящий писал(а):Код: Выделить всё
#define data(x) (SPDR=x; while (!( SPSR&(1<<7))){}); // макрос
Может, так будет лучше?
Код: Выделить всё
#define data(x) {SPDR=x; while ( !(SPSR & 0x80) ) continue;}
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс сен 23, 2012 12:06:43
rs39
(SPSR & 0x80) - Нолик вместо "о", а то опять ошибка вылезет и вопросы будут.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт сен 27, 2012 17:25:36
спящий
Вопрос почкму выдает ошибку при вставке printf('dhdhfb'); ну если ктонить шарит в картах почему при чтениии карты выдает FF,хотя CMD0(выдала ответ 01),CMD1(выдала ответ00) прошли?
Спойлер
#include <stdio.h>
#include <mega48.h>
#include <delay.h>
#include <string.h>
#include <io.h>
#define data(x) SPDR=x; while (!( SPSR&(1<<7)));
void main() {
int i,temp;
char array[100] ;
DDRD.2=0;
DDRB=0b11101111;
DDRC=255;
// 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
UCSR0A=0x00;
UCSR0B=0x18;
UCSR0C=0x06;
UBRR0H=0x00;
UBRR0L=0x33;
// настройка шим
TCCR1A=0b10000001;
TCCR1B=0b00001001;
TIMSK1=0b01000000;
//настройка SPI
SPCR=0b01010011;
SPSR=0x01;
//подаем 74 импульса
PORTB.2=1;
PORTB.3=1;
for(i=0;i<80;i++)
{
data(0xff)
}
PORTB.2=0;
delay_ms(1);
//CMD0
data(0x40);
data(0x00);
data(0x00);
data(0x00);
data(0x00);
data(0x15);
putchar('a');
while (temp!=0x01)
{temp= SPDR;
data(0xff)
if (i>50)
{data(0x40);
data(0x00);
data(0x00);
data(0x00);
data(0x00);
data(0x15);
i=0;
}
i++;
}
putchar(temp);
putchar('b');
//CMD1
data(0x41);
data(0x00);
data(0x00);
data(0x00);
data(0x00);
data(0x95);
while (temp!=0x00)
{temp= SPDR;
data(0xff);
}
putchar(temp);
delay_ms(200);
//cmd 49
data(0x49);
data(0x00);
data(0x00);
data(0x00);
data(0x00);
data(0x95);
for(i=0;i<17;i++)
{
putchar(SPDR);
}
putchar('v');
printf("qqqqq");
//CMD17 чтение байтов
data(0x52);
data(0x00);
data(0x00);
data(0x00);
data(0x00);
data(0x95);
while (temp==0xff)
{temp= SPDR;
data(0xff);
}
while (temp!=0xfe)
{temp= SPDR;
data(0xff);
}
putchar(temp);
putchar('g');
while (temp==0xff)
{temp= SPDR;
data(0xff);
}
while(1){
for (i=0;i<100;i++)
{
data(0xff);
array=SPDR ;
}
for (i=0;i<100;i++)
{
putchar(array) ;
}
}
}
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт сен 27, 2012 17:51:00
rs39
Чтобы программировать - надо хотя бы немного с "английским" дружить. Без него смысла нет.
В мессаге указано:Не хватает стека! Пожалуйста увеличьте стек!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт сен 27, 2012 18:37:16
спящий
а как его увеличить? на асме вроде так:
ldi r16,high(RAMEND) ;
out SPH,r16 ;
ldi r16,low(RAMEND) ;
out SPl,r16 ;
а на C,в кодевисион?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт сен 27, 2012 19:01:40
rs39
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт сен 27, 2012 19:15:10
pyzhman
Следует уточнить, что это не системный стек, а размер стека данных, фича такая в кодевижене.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт окт 02, 2012 19:05:02
doband
Всем привет.
Помогите с написанием кода для Attiny13 такого плана:
К МК подключен 1 светодиод к одному из выводов
1 реле через транзистор к другому выводу
и ещё 3 вывода испоьзуются как кнопки выбора работ.
НАДО:
светодиод чтоб моргал с периодичностью 1 раз в 5 сек (всегда)
а реле работало в зависимости от выбранной кнопки
1 включено всегда
2 включено 15 минут выключено 45 минут (и далее по кругу)
3 включено 30 минут выключено 30 минут (и далее по кругу)
буду очень благодарен...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт окт 02, 2012 21:22:33
vitalik_1984
А выключеное состояние реле не рассматривается?
Вам не нужно режим светодиодом показывать?Просто всегда моргает или все же только когда реле включено?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт окт 02, 2012 21:38:00
doband
vitalik_1984 писал(а):А выключеное состояние реле не рассматривается?
Вам не нужно режим светодиодом показывать?Просто всегда моргает или все же только когда реле включено?
ну можно второй светодиод когда реле отключено
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт окт 02, 2012 22:02:02
vitalik_1984
а чем выключать предполагается?Какое то тех задание размытое.Соответственно и решений тоже может быть уйма. Вместо одного правильного.
Короче раз ног мало можно сделать несколько кнопок через Ацп сделаем четыре: три режима и выключение.
Так же можно сделать и два светодиода один будет моргать в зависимости от режима, если включен один из режимов и другой диод если выключены.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср окт 03, 2012 04:35:08
doband
vitalik_1984 писал(а):а чем выключать предполагается?Какое то тех задание размытое.Соответственно и решений тоже может быть уйма. Вместо одного правильного.
Короче раз ног мало можно сделать несколько кнопок через Ацп сделаем четыре: три режима и выключение.
Так же можно сделать и два светодиода один будет моргать в зависимости от режима, если включен один из режимов и другой диод если выключены.
конечно можно и так, да просто это будет включатся вентиляция... вот и нет так такового выключения (просто отключение из сети и есть стоп программы)
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср окт 03, 2012 08:03:35
doband
вот схема
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср окт 03, 2012 13:30:45
vitalik_1984
Вот со схемы и нужно было начинать.А ресет будем как ресет использовать или переключим его в порт ввода-вывода.
И что это за джамперы?Вы от нас скрываете какие то подробности, которые опять же отдаляют от решения вашей задачи.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб окт 06, 2012 10:47:23
Demon
Как в CVAVR произвести сдвиг с переносом (в ассемблере ROR и ROL) или как указать чтобы переменная помещалась в один из РОН
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб окт 06, 2012 16:33:39
ChipKiller
Как в CVAVR произвести сдвиг с переносом
.. сделать asm_вставку, а еще лучше подумать и решить задачу чисто средствами С.