Страница 194 из 421
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 28, 2012 20:49:10
master3763
Эти строки уже назначены лапки. Вы их пытаетесь переназначить. О чем честно говорит компилятор.
Я пробовал и без нофигурации. Результат тотже самый...
Может у меня версия Codevision не та ??
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 28, 2012 20:57:30
master3763
Нашел одну ошибку.
Надо было так поставить.
while (devices>0)
Хотя всеравно в протеусе не реагирует...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 28, 2012 21:12:16
pyzhman
Это не ошибка.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 28, 2012 21:29:35
master3763
Да но без этого выводит :
Warning:........: local variable 'devices' was set, but not used
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 28, 2012 21:56:09
*Trigger*
Это не ошибка, а предупреждение: переменная объявлена, но не используется.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 28, 2012 22:11:46
master3763
Я понемаю. Я ее назвал ошибкой... )
Объясните пожалуйста как правильно сконфигурировать чтобы программа компилировалась и работала в proteus ?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 28, 2012 23:58:40
Mr.Denis
Всем привет!
Подскажите как мне в ком порт отправить команду 4F?
Если я отправлю так UDR=4f; она пройдет?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 07:54:56
pyzhman
Если предварительно настроен блок USART, то пройдет. Даташиты это не про нас?
Код: Выделить всё
void USART_Transmit( unsigned char data )
{
/* Wait for empty transmit buffer */
while ( !( UCSRA & (1<<UDRE)) )
;
/* Put data into buffer, sends the data */
UDR = data;
}
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 11:41:15
Volgol_555
Всем привет. Вопрос не по CV, а по Си. Плохо разбираюсь в "байтных" операциях, поэтому:
что означает вот эта строчка:
PORTB = 0x00;
PORTB |= (1 << PB1);
Я вижу поразрядный сдвиг влево и поразрядное "или". Но...что мы сдвигаем, если в порту B все "0" и соответственно с "или" получим тоже все 0?
Помогите разобраться пожалуйста с этой логикой(
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 12:24:50
*Trigger*
Это то же самое, что и
Только не понятно, что значит PB1. В CVAVR такого нет. Есть PORTB.1 и PINB.1. Или это переменная?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 12:38:26
Volgol_555
Возможно это код с WinAvr я тоже не совсем понимаю(. Я пока переписал на PORTB.1.
PORTB =PORTB|(1 << PB1); Но не понятно что здесь будет реально происходить, если в на всех B стоят логические 0!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 12:56:00
*Trigger*
Там должно быть PINB.1.
Тогда смысл уже есть. Записываем нули, если сигнал поступил на ногу PB1, то в PORTB будет 00000010, если нет, то 00000001
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 13:05:22
Volgol_555
ок. Спасибо, теперь уже вижу некоторый смысл. Остальное додумаю сам)
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 13:07:24
*Trigger*
Даже с PORTB.1 смысл есть, 1 сдвинуть на 0 влево - будет 1. 1<<0=1
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 13:27:56
Volgol_555
Порт B1, B2 и B3 - это ноги RGB светодиода. Я привел одну из трех таких же строчек!
Но не связывается то, что в портах B все 0.
Что сдвигать, если туда 1 вообще никак не заноситься, кроме вот этой строчки?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 13:36:41
*Trigger*
PB1 - это определено в начале программы как #define?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 13:51:15
Volgol_555
нет. Я же говорю это обращение к порту, что оно значит, я так и не понял. Логично что PORTB.1 потому, что нужно подавать ШИМ на B.1
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 14:07:55
*Trigger*
Из PORTx ничего не прочитать, там всегда нули. Читать можно только из PINx. В данном случае PB1 - число, на которое нужно сдвинуть единицу. Эта строчка может выставить единицу на любом выводе PB.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 14:30:52
Мастер Ломастер
использование CVAVR отупляет! не применяйте его долго - эффект может быть необратимым!
самая тривиальная конструкция языка Си по установке одного бита в 1 в переменной у вас вызывает ступор! что такое PB1 не понятно? может, посмотрите в даташит, и увидите, что это НОМЕР бита в регистре?! а что касается того, что происходит - учите Си, и не пользуйтесь всякими кодогенераторами типа CVAVR. знаия придут, растерянность исчезнет.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт мар 29, 2012 15:54:23
BCluster
Mr.Denis писал(а):Всем привет!
Подскажите как мне в ком порт отправить команду 4F?
Если я отправлю так UDR=4f; она пройдет?
Может и пройдет, но что именно туда пройдет я не знаю

UDR = 0x4F;
надо указать что число это хекс.