Найдено 30 результатов

Wasily
Чт июн 25, 2015 11:29:29
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

Пробовал, конечно работает. Но как то не профессионально :).
Подбирать под разную скорость надо задержку.
Wasily
Чт июн 25, 2015 10:36:06
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

ARV писал(а):по-моему, вам надо ждать, когда оба бита будут установлены UDRE и TXC - это будет означать, что все данные переданы и буфер пуст. после этого можно и выключать драйвер.

ок, попробую вскоре
Wasily
Чт июн 25, 2015 09:46:40
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

В папке кожевижена есть пример 2usart_lcd - там есть готовый putchar.
case USART0: // the output will be directed to USART0
while ((UCSR0A & 1<<UDRE)==0);
UDR0=c;

по сути функция ждет освобождения буффера.

Посмотрите как в вашей готовой библиотеке putchar организован.
Как? мало знаний у ...
Wasily
Чт июн 25, 2015 08:53:08
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

Да. Обычно отправляю не один байт.
Прерывания только таймеры. Putchar в теле нет. Пользуюсь готовой библиотекой *.h
Вот так например:
if(CmndSymb[0]==Adres1){
Rs485SendEN=1;
UCSRA |= (1<<TXC);//sbros flaga txc
printf("Status from adres%u\nRel1=%i,Led2Value=%i(pr),TimeTmr=%u(min),", Adres1 ...
Wasily
Чт июн 25, 2015 08:26:09
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

Так об этом я и не спорю.
Но всё же это для того чтобы понять что можно именно начать передачу (пихать в буфер :)) , т.е. когда пердатчик готов.
Но UDR не говорит нам что ВСЕ биты фышли и стоп бит тоже. Мне же надо знать именно когда вышел стоп бит и можно выключить передатчик DE в ADMке.
Wasily
Чт июн 25, 2015 06:37:50
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

вот :
A data transmission is initiated by loading the transmit buffer with the data to be transmitted. The
CPU can load the transmit buffer by writing to the UDR I/O location. The buffered data in the
transmit buffer will be moved to the Shift Register when the Shift Register is ready to send a new ...
Wasily
Чт июн 25, 2015 06:29:06
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

Так и
The TXC Flag can be used
to check that the Transmitter has completed all transfers, Note that the TXC Flag must be
cleared before each transmission (before UDR is written) if it is used for this purpose.

А The UDR Flag indicates if the transmit buffer (UDRn) is ready to receive new data, но ...
Wasily
Чт июн 25, 2015 03:45:39
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

Мужики, подскажите.

Есть пир, отвечающий на команды с компа по RS485.
Уже долго бьюсь, но никак не могу понять почему у меня драйвер adm485 отключается раньше, чем заканчивается передача по UART.
Вот код такой:

case SendStat:
Rs485SendEN=1; //driver on
UCSRA |= (1<<TXC);//sbros flaga txc ...
Wasily
Пт апр 11, 2014 04:38:12
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

"не сбрасывается флаг" - это фигня непонятная. я вижу, что он выводит (неужели в USART?!) содержимое регистра и при этом он ждет, что в этом регистре не будет флага?!

Да в USART через ADM485.


А в чем я ошибаюсь так уж сильно
Флаг TXC должен устанавливаться толко после того как последний байт ...
Wasily
Пт апр 11, 2014 04:37:37
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

uint8_t tmp;
...
UCSRA |= (1<<TXC);
tmp = UCSRA;
printf("%с",tmp);
И так я делал, только переменная была temp.
После чип erase c флагами стало все ок!

Сейчас провел эксперимент очередной:

Если запустить такой код после reset (запускается после нажатии кнопки однократно):

Rs485SendEN=1;
printf ...
Wasily
Чт апр 10, 2014 11:19:28
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

Вот теперь понятно! огромное спасибо.

Еще подскажите по флагам TXC плз :beer:
Wasily
Чт апр 10, 2014 10:39:08
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

Т.е. если я правильно понял то отдельно функцию которая будет вызываться из main неполучится?

я в main пишу
#include <stdio.h>
#include <mega8.h>
#include <delay.h>

и #include "readRx.c"

readRx.c добавляю в проект, там функция обработчик которая получает и передает в main. Но не выходит.

2) Вы ...
Wasily
Чт апр 10, 2014 09:35:30
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

Да, а как его обозвать и правильно include?
Пробовал и .h и .c и все ругается. :(
Wasily
Чт апр 10, 2014 08:37:38
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

и как вынести функцию в другой файл?
Wasily
Чт апр 10, 2014 04:26:18
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

Не совсем понял, что вы хотели этим сказать.
Для сброса флага нужно в него записать 1 согласно даташиту.
Wasily
Ср апр 09, 2014 12:56:15
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2476972

Re: CodeVision AVR в вопросах и ответах

Коты, подскажите почему когда я пишу
UCSRA |= (1<<TXC);
printf("%с",UCSRA);

я принимаю в терминале 0x60 (0b01100000), т.е. флаг установлен хотя я в него записал 1?


Мне это надо выяснить поскольку надо по завершению передачи выключать передатчик RS485.
Вот такой код например:
case ...
Wasily
Пн фев 27, 2012 09:00:46
Форум: Микроконтроллеры и ПЛИС
Тема: Подделка atmega8A???
Ответы: 16
Просмотры: 2491

Re: Подделка atmega8A???

Все атмеловские контроллеры по умолчанию поставляются с тактированием 8МГц и включенным делителем на 8, значит, все они по умолчанию работают на 1МГц, так что зря вы злитесь

Так вот именно что "все они по умолчанию работают на 1МГц ". А делитель для PWM для какого clock- a задается? Не с clock_I ...
Wasily
Пт фев 24, 2012 19:04:52
Форум: Микроконтроллеры и ПЛИС
Тема: Подделка atmega8A???
Ответы: 16
Просмотры: 2491

Re: Подделка atmega8A???

Модераторов прошу удалить тему.
Wasily
Пт фев 24, 2012 19:03:44
Форум: Микроконтроллеры и ПЛИС
Тема: Подделка atmega8A???
Ответы: 16
Просмотры: 2491

Re: Подделка atmega8A???

Ну это у кого как :)
Злые вы все тут какие-то :shock: .
Нет чтоб подсказать проверить фьюзы..
Wasily
Пт фев 24, 2012 19:02:45
Форум: Микроконтроллеры и ПЛИС
Тема: Подделка atmega8A???
Ответы: 16
Просмотры: 2491

Re: Подделка atmega8A???

Ну это у кого как :)

Перейти к расширенному поиску