Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Вопросы начинающих

Вопросы начинающих Прежде чем задать вопрос, стоит воспользоваться поиском

Ответ
 
Опции темы Опции просмотра
Старый 24.05.2019, 02:11   #1
Zombie47
Senior Member
 
Регистрация: 05.10.2015
Возраст: 33
Сообщений: 137
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Pic16f1847 вопрос по особенности работы с L9637 k-line

Код программы в основном цикле шлю данные по UART до микрухи L9637 :
Код:
UART_Write(0x80); 
UART_Write(0x10); 
UART_Write(0xF0); 
UART_Write(0x05); 
UART_Write(0xA8);
UART_Write(0x00);
UART_Write(0x00);
UART_Write(0x00);
UART_Write(0x1C);
UART_Write(0x49); //crc
otpravil=1;
Delay_ms(50);

Обработка в прерываниях:
Код:
  if(RCIF_bit){
                            LATA2_bit=1;//светодиод
                            LATA2_bit=0;//светодиод
                            }

                          if(RCIF_bit&&TRMT_bit&&otpravil)  //åñëè ïðèøåë ôëàã ïðèåìà ïî óàðòó è áóôåð íà îòïðàâêó ïóñò
                            {



                             if(FERR_bit)  //page 297 farming error bit åñëè åñòü îøèáêà ïðèåìà äàííûõ  òî ñáðîñèì áóôåð ïðèåìà íèæå
                              {
                                tmp = RCREG; //â ïåðåìåííóþ tmp ìû çàïèñàëè çíà÷åíèå ðåãèñòðà áóôåðà ïðèåìà RCREG à êîãäà åãî ÷èòàåì îí ñáðàñûâàåòñÿ.
                                return;
                              }
                               else if (OERR_bit) //page 297  overrun buffer
                              {
                                CREN_bit = 0; //Clear OERR bit     disable reciever
                                CREN_bit = 1; //Clear OERR bit     enable reciever
                                return;
                              }
                              // datas = RCREG;
                           //  datas = UART_Read();//ïðèíèìàåì ïî óàðòó


                                buffers[i]=UART_Read(); //ïðè ïåðâîì çàõîäå çàïèñûâàåì ñþäà äàííûå ïåðâîãî áàéòà â ïåðåìåííóþ   buffer[0], ïðè âòîðîì ïðîõîäå ïî öèêëó ñþäà ïèøåì ñëåäóþùèé áàéò â  buffer[1]
                               // datas = UART_Read();
                                i++;
                              //  buffers[i]=RCREG;
                                

                                if (i>63) {i=0;otpravil=0;}
                            }
Желтая стрелка это я отправил данные по UART
Синяя стрелка это микруха L9637 k-line так сделана что она дублирует все что я отправляю сразу на мой RX вход UART на МК.
Красная стрелка это пришел ответ от устройства по K линии
А вот зеленая стрелка это отработка прерывания RCIF зажигание светодиода.
Нажмите на изображение для увеличения
Название: 2019-05-24_01-55-53.jpg
Просмотров: 19
Размер:	71.5 Кб
ID:	11402
Я никак не могу избавиться от данных и прерываниях под синей стрелкой! То что я отправляю я тут же мгновенно и принимаю. Как мне их проигнорировать? я уже и так и сяк пробывал и флаг ставил и что только не делал.
Zombie47 вне форума   Ответить с цитированием
Старый 24.05.2019, 15:34   #2
Zombie47
Senior Member
 
Регистрация: 05.10.2015
Возраст: 33
Сообщений: 137
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Наверно не правильно сформулировал название темы. Проще говоря меня интересует как в коде запретить прием по UART на время отправки.
Zombie47 вне форума   Ответить с цитированием
Старый 24.05.2019, 18:49   #3
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 7,033
Вес репутации: 6060/179
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от Zombie47 Посмотреть сообщение
Проще говоря меня интересует как в коде запретить прием по UART на время отправки.
а зачем это делать? возможность принимать отправляемые данные позволит диагностировать исправность передатчика. Надо только научиться принимать все подряд, и просто игнорировать пакет, который вы отправляете.
Greg вне форума   Ответить с цитированием
Старый 24.05.2019, 22:14   #4
Zombie47
Senior Member
 
Регистрация: 05.10.2015
Возраст: 33
Сообщений: 137
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от Greg Посмотреть сообщение
а зачем это делать? возможность принимать отправляемые данные позволит диагностировать исправность передатчика. Надо только научиться принимать все подряд, и просто игнорировать пакет, который вы отправляете.
Да там чет странное, посмотрите картинку которую я прикрепил.при отправке 10 байт по уарту, флаг приема срабатывает около 40 раз.
а при получении по уарту 7 байт, флаг работает как надо 7 раз.
соответственно я не могу принять правильно байты которые отправляю
Zombie47 вне форума   Ответить с цитированием
Старый 24.05.2019, 22:58   #5
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 7,033
Вес репутации: 6060/179
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от Zombie47 Посмотреть сообщение
Да там чет странное, посмотрите картинку которую я прикрепил.при отправке 10 байт по уарту, флаг приема срабатывает около 40 раз.
а при получении по уарту 7 байт, флаг работает как надо 7 раз.
соответственно я не могу принять правильно байты которые отправляю
не надо никаких условий в приемнике - надо тупо писать все что приходит в кольцевой буфер и потом смотреть, без этих "трмт" и "отправил".

Да и начать можно (нужно) без этой микросхемы - просто посылать самому себе и смотреть что принимается. Если это не отработать - дальше идти смысла нет.
потом, кстати, придет понимание, что и буфер не нужен, можно все разобрать на лету.
Greg вне форума   Ответить с цитированием
Старый 25.05.2019, 01:10   #6
Zombie47
Senior Member
 
Регистрация: 05.10.2015
Возраст: 33
Сообщений: 137
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от Greg Посмотреть сообщение
не надо никаких условий в приемнике - надо тупо писать все что приходит в кольцевой буфер и потом смотреть, без этих "трмт" и "отправил".

Да и начать можно (нужно) без этой микросхемы - просто посылать самому себе и смотреть что принимается. Если это не отработать - дальше идти смысла нет.
потом, кстати, придет понимание, что и буфер не нужен, можно все разобрать на лету.
изза того что прерывания срабатывают 40 раз при посылки мной 10 байт, принимает он эти отосланные байты рывками и мусором как захочется, у меня нет стабильной картины того что я бы принимал, при том что я отправляю одно и тоже. в этом проблема
Zombie47 вне форума   Ответить с цитированием
Старый 25.05.2019, 01:33   #7
Zombie47
Senior Member
 
Регистрация: 05.10.2015
Возраст: 33
Сообщений: 137
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от Greg Посмотреть сообщение
не надо никаких условий в приемнике - надо тупо писать все что приходит в кольцевой буфер и потом смотреть, без этих "трмт" и "отправил".

Да и начать можно (нужно) без этой микросхемы - просто посылать самому себе и смотреть что принимается. Если это не отработать - дальше идти смысла нет.
потом, кстати, придет понимание, что и буфер не нужен, можно все разобрать на лету.
вообщем сейчас разбирался разбирался, и вижу как только я отправляю 1 байт на приеме сразу есть эти же данные и поднимается флаг RCIF и все флаг не сбрасывается. и у меня постоянно заходит в обработку этого флага.
Zombie47 вне форума   Ответить с цитированием
Старый 25.05.2019, 06:08   #8
VitaKa
Member
 
Регистрация: 17.09.2011
Сообщений: 31
Вес репутации: 100/34
VitaKa will become famous soon enoughVitaKa will become famous soon enough
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Может попробовать выключить передатчик TXEN=0 после передачи.
VitaKa вне форума   Ответить с цитированием
Старый 25.05.2019, 07:01   #9
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 7,033
Вес репутации: 6060/179
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от Zombie47 Посмотреть сообщение
вообщем сейчас разбирался разбирался, и вижу как только я отправляю 1 байт на приеме сразу есть эти же данные и поднимается флаг RCIF и все флаг не сбрасывается. и у меня постоянно заходит в обработку этого флага.
ну вот, дошло...

говорили же - читай ВСЁ в буфер, и будет счастье.
потому что этот флаг сбрасывается как раз чтением из приемника.

И да, видно, что запаса по времени не так и много (иначе там бы был лес иголок).
Greg вне форума   Ответить с цитированием
Старый 25.05.2019, 09:08   #10
VitaKa
Member
 
Регистрация: 17.09.2011
Сообщений: 31
Вес репутации: 100/34
VitaKa will become famous soon enoughVitaKa will become famous soon enough
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Послал данные,контролируешь конец передачи,TXEN=0,SREN=1 и ждёшь приема
VitaKa вне форума   Ответить с цитированием
Старый 25.05.2019, 09:25   #11
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 47
Сообщений: 1,876
Вес репутации: 2596/88
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от Zombie47 Посмотреть сообщение
и поднимается флаг RCIF и все флаг не сбрасывается. и у меня постоянно заходит в обработку этого флага.

Так в обработчике его и надо сбрасывать, сам по себе он никуда не денется.
DimaS вне форума   Ответить с цитированием
Старый 25.05.2019, 09:41   #12
VitaKa
Member
 
Регистрация: 17.09.2011
Сообщений: 31
Вес репутации: 100/34
VitaKa will become famous soon enoughVitaKa will become famous soon enough
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

После входа в прерывание по приему сразу считывать RCREG,а потом уже проверять на ошибки.Иначе если есть ошибка,RCIF не сбросится.
VitaKa вне форума   Ответить с цитированием
Старый 30.05.2019, 02:49   #13
Zombie47
Senior Member
 
Регистрация: 05.10.2015
Возраст: 33
Сообщений: 137
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Вообщем мучался мучался, в основном проблема изза того что я не знаю как работает встроенная в среду функция:
Код:
UART_Write(0x00); //adress
ну да ладно, решил свою проблему так:

Код:
if (TRMT_bit==1) {CREN_bit=1;} //если TSR буфер пуст то разрешаем прием по UART
else if (TRMT_bit==0) {CREN_bit=0;} //если не пуст значит мы что то отправляем и значит запрещаем прием по UART
Эту проверку вписал в прерываниях по TMR0.
Не знаю насколько хорошо так делать или не хорошо. Но пока так.
Zombie47 вне форума   Ответить с цитированием
Старый 03.06.2019, 09:29   #14
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 48
Сообщений: 3,804
Вес репутации: 6357/149
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от Zombie47 Посмотреть сообщение
встроенная в среду функция:
Озвучьте IDE ...
dosikus на форуме   Ответить с цитированием
Старый 03.06.2019, 11:59   #15
Zombie47
Senior Member
 
Регистрация: 05.10.2015
Возраст: 33
Сообщений: 137
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от dosikus Посмотреть сообщение
Озвучьте IDE ...
MicroC
Zombie47 вне форума   Ответить с цитированием
Старый 03.06.2019, 12:56   #16
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 48
Сообщений: 3,804
Вес репутации: 6357/149
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

И все же mikroC.
Это наихудший выбор , хуже только аурдунья...
dosikus на форуме   Ответить с цитированием
Старый 03.06.2019, 12:58   #17
Zombie47
Senior Member
 
Регистрация: 05.10.2015
Возраст: 33
Сообщений: 137
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от dosikus Посмотреть сообщение
И все же mikroC.
Это наихудший выбор , хуже только аурдунья...
Понял буду иметь ввиду. до этого Mplab IDE была, она была еще хуже, жестко тупила и тд
Zombie47 вне форума   Ответить с цитированием
Старый 03.06.2019, 13:11   #18
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 48
Сообщений: 3,804
Вес репутации: 6357/149
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Здесь вся беда именно в закрытых либах , да и язык не с а внешне похожий на с. МикроЕ сделали подобие аурдуньи , один фреймвок на псевдо с , барсик, паскаль.
Проще и действенней XC8.
Хотя по мне, намного лучше совсем другое...
dosikus на форуме   Ответить с цитированием
Старый 03.06.2019, 13:42   #19
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 39
Сообщений: 551
Вес репутации: 1209/66
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от dosikus Посмотреть сообщение
Здесь вся беда именно в закрытых либах
Ими же можно и не пользоваться. Я сначала из любопытства МикроС попробовал вместо НТ, потом чет сам не заметил как полностью переехал на них Среда понравилась, терминал и калькулятор.
Цитата:
Сообщение от dosikus Посмотреть сообщение
Проще и действенней XC8.
Постоянно следил за километрами постов про "не едущие лыжи" ХС8 и МплабХ, решил пока обождать.
Цитата:
Сообщение от dosikus Посмотреть сообщение
Хотя по мне, намного лучше совсем другое...
Посоветуйте, молчание не всегда золото
HJV вне форума   Ответить с цитированием
Старый 03.06.2019, 14:00   #20
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 48
Сообщений: 3,804
Вес репутации: 6357/149
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от HJV Посмотреть сообщение
Посоветуйте, молчание не всегда золото
ARM и SES+Ozone...
dosikus на форуме   Ответить с цитированием
Старый 03.06.2019, 14:05   #21
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 39
Сообщений: 551
Вес репутации: 1209/66
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от dosikus Посмотреть сообщение
ARM и SES+Ozone...
Это то понятно, а на чем простые поделки на Пиках программировать, чтоб без откровенных граблей? Остается старый добрый НТ (для старых Пиков), Микроси с некоторыми оговорками (встр. библиотеки) и ХС8.
А АРМ да, мне понра
HJV вне форума   Ответить с цитированием
Старый 03.06.2019, 17:56   #22
Zombie47
Senior Member
 
Регистрация: 05.10.2015
Возраст: 33
Сообщений: 137
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Pic16f1847 вопрос по особенности работы с L9637 k-line

Цитата:
Сообщение от dosikus Посмотреть сообщение
Здесь вся беда именно в закрытых либах , да и язык не с а внешне похожий на с. МикроЕ сделали подобие аурдуньи , один фреймвок на псевдо с , барсик, паскаль.
Проще и действенней XC8.
Хотя по мне, намного лучше совсем другое...
Да я про это и написал ) что нет исходного кода библиотек.
Zombie47 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по GSM-модемам и _организации_ работы с ними на PIC Максим2008 Продукция MICROCHIP 17 21.11.2008 04:02
50-ти канальный GPS-модуль по технологии u-box 5 (LEA-5H) кто пробовал? (+ вопрос по GPS-антенне) Picozoid Общетехнические вопросы 13 26.05.2008 00:56
Вопрос по USB и флешкам Zloj_ya Продукция MICROCHIP 4 14.03.2008 18:49
вопрос по моделированию работы pic18f4550 asam Продукция MICROCHIP 2 27.06.2007 15:39
Вопрос новичка по Си ramonchik Продукция MICROCHIP 3 05.03.2007 16:28


Часовой пояс GMT +3, время: 13:08.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot