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

idadron
Пн май 14, 2012 11:45:02
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

так сделайте кратный буфер,в чем проблема?
и обрабатывайте данные то,чего они у вас в буфере то все лежат?обработали и выровняли указатели на хвост и голову.

Так посылки-то разной длинны бывают. Под все буфер не подгонишь.
Вроде я все подчищаю. После каждого приема и обработки я пишу BUFFER_ADR ...
idadron
Пн май 14, 2012 02:13:59
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

Проблема с буфером мне уже весь мозг вынесла...Все остальное уже написано и отлично работает, но иногда программа сбивается при переполнении буфера. Буфер не кратный размеру посылок...когда он близок к заполнению, влезает допустим 3 байта, а посылка состоит из 5-ти. Соответственно записываются ...
idadron
Сб май 12, 2012 00:34:15
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

Помогите пожалуйста разобраться с очисткой буфера приема...как он очищается? А то каша в нем творится, пока сам не очистится при переполнении...
idadron
Пт май 11, 2012 10:53:43
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

Ну да, K-line, я же не скрывал :)) контрольных сумм много разных бывает. Тут именно XOR (сложение по модулю).
idadron
Чт май 10, 2012 00:33:23
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

Сделал так:
void USART_Flush()
{
unsigned char dummy;
while ( UCSR0A & (1<<RXC0) ) dummy = UDR0;
}

USART_Flush();

Вроде так по даташиту. Завтра проверю, надеюсь заработает...А что Вы думаете по этому поводу?

По поводу XOR, вероятность совпадения XOR очень мала в принципе, не даром ее ...
idadron
Ср май 09, 2012 22:23:53
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

Я сравниваю с константой, потому что именно этот XOR меня и интересует. Ответ может прийти любой другой, их почти 96штук, длинной до 16 байт. Из них всех мне нужна только одна посылка, ее XOR d6. Мне показалось сделать проще так, чем выводить каждый принятый байт из буфера и собирать из них принятую ...
idadron
Ср май 09, 2012 02:33:58
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

Извиняюсь за кашу :oops:
Решил проблему так
while ((rx_counter0)&&(BUFFER_ADR==0)) //пока счетчик буфера приема не пуст и адрес буфера команд равен 0
{
rxdata = getchar(); //принимаем байты
if (rxdata==0x4f) //если принят ответ
{
rx_buffer[BUFFER_ADR]=rxdata; //сохраняем в буфере команды ...
idadron
Вт май 08, 2012 19:59:36
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

под спойлер то одно дело не понял,но нафига нам пустая инициализация типа portb=0x00;???
для справки спойлеры добавляются вручную пишем [spoiler][/spoiler]
или тут копируем и сохраняем в блокноте.

а по делу пока заметил,что в коде каша- переменные вперемешку с функциями.
те глобальные переменные ...
idadron
Пн май 07, 2012 22:49:43
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

Помогите пожалуйста решить задачу с UART. Посылает то, что нужно. Но когда приходит нужный ответ - все рубится и дальше ничего не происходит...Уже голову сломал, а причина наверняка банальная...
/
/

void main(void)
{

// Declare your local variables here
char rxdata=0;
char i;
char j;
char p ...
idadron
Вс май 06, 2012 01:50:39
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

Во-первых это не CAN шина. Все эти устройства не общаются между собой. Они все "ведомые". Откликаются они только когда получают пакет со своим адресом от ведущего устройства. Например, от K-line адаптера. Или от того, которое я делаю.
Во-вторых на линии ничего нет, кроме моего и опрашиваемого ...
idadron
Сб май 05, 2012 23:50:17
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

K-line, это линия постоянно подтянутая к +12 (ну или vbat). Передача осуществляется шунтированием этой линии на массу. Если в линии больше 70% vbat - это 1, если менее 30% - это 0. Поправьте если ошибаюсь. У каждого устройства подключенного к линии есть свой адрес, который идет первым в посылке ...
idadron
Сб май 05, 2012 13:11:22
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

Кусочек схемы с готового устройства, там резистора нет, видимо внутренний. Хорошо, а как тогда написать передачу? С delay?
idadron
Сб май 05, 2012 00:48:36
Форум: AVR
Тема: CodeVision AVR в вопросах и ответах
Ответы: 8415
Просмотры: 2552399

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

Всем доброго времени суток. Есть вопрос по программной реализации передачи данных на Atmega8 или Attiny13 (пока не определился).
Пример, нужно передать это 1111010000000011001000010011101111101101 со скоростью 2400, 8e1. Возможно-ли это сделать без прерываний, чтобы не занимать время процессора ...
idadron
Пт май 04, 2012 10:32:55
Форум: Разные вопросы по МК
Тема: Мелкие вопросы по МК и ПЛИС.
Ответы: 12552
Просмотры: 2662839

Re: Мелкие вопросы по МК и ПЛИС.

А вы уверены, что это К-line? Опять же обмен можно организовать и программно. Но все равно, кнопка убивает.
Это 100% K-line. Т.к. устройство на другом конце провода опрашивается обычным USB K-line адаптером и имеет в своем составе L9637D. Схемку немного подправил, обманулся с транзистором, прошу ...
idadron
Пт май 04, 2012 01:34:03
Форум: Разные вопросы по МК
Тема: Мелкие вопросы по МК и ПЛИС.
Ответы: 12552
Просмотры: 2662839

Re: Мелкие вопросы по МК и ПЛИС.

Доброго времени суток, уважаемые форумчане! Меня интересует как Atmega8 может общаться с K-Line устройством без использования UART. Есть некое устройство на Atmega8, оно отправляет и принимает посылки (пример: F4 03 51 0A AC). В общем общается с K-Line устройством на скорости 2400, 8E1. Набросал ...

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