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

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

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

Ответ
 
Опции темы Опции просмотра
Старый 29.09.2016, 19:34   #26
intom33
Junior Member
 
Регистрация: 10.04.2010
Возраст: 53
Сообщений: 28
Вес репутации: 100/26
intom33 will become famous soon enoughintom33 will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

Вот дошел до такого варианта
Код:
char receive;
void main() {
 TRISA = 0;
 TRISB = 0;
 TRISB1_bit = 1;
 PORTA = 0;
 PORTB = 0;
  UART1_Init(9600);

while(1){
              receive = UART1_Read();
             
             UART1_Write(receive);
        }

}
но теперь правильно отправляет из пика каждую вторую цифру
например шлю 1 выходит 1, шлю 2 выходит не понятно что, шлю 3 выходи 3 и так далее ???
intom33 вне форума   Ответить с цитированием
Старый 29.09.2016, 20:13   #27
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,466
Вес репутации: 4590/146
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: PIC16F628 работа с UART

Цитата:
Сообщение от intom33 Посмотреть сообщение
Вот дошел до такого варианта
Код:
char receive;
void main() {
 TRISA = 0;
 TRISB = 0;
 TRISB1_bit = 1;
 PORTA = 0;
 PORTB = 0;
  UART1_Init(9600);

while(1){
              receive = UART1_Read();
             
             UART1_Write(receive);
        }

}
но теперь правильно отправляет из пика каждую вторую цифру
например шлю 1 выходит 1, шлю 2 выходит не понятно что, шлю 3 выходи 3 и так далее ???
сейчас у вас все очень сложно. но вы на правильном пути, надо упрощать ещё.
т.е. научиться сначала просто отправлять из пика. и гарантированно принимать, то что послали.
потом уже переходить к этому приему.
Greg вне форума   Ответить с цитированием
Старый 29.09.2016, 20:17   #28
intom33
Junior Member
 
Регистрация: 10.04.2010
Возраст: 53
Сообщений: 28
Вес репутации: 100/26
intom33 will become famous soon enoughintom33 will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

Спасибо буду пробовать.
intom33 вне форума   Ответить с цитированием
Старый 30.09.2016, 13:08   #29
intom33
Junior Member
 
Регистрация: 10.04.2010
Возраст: 53
Сообщений: 28
Вес репутации: 100/26
intom33 will become famous soon enoughintom33 will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

Здравствуйте !
Уважаемый Greg не могли бы вы мне объяснить как мне сделать инверсию на ПИКЕ.
Пробовал как Вы посоветовали сначала выводить с контролера ПИКа выводится нормально только
мне кажется надо сделать инверсию потому как на выходе стартовый бит получается "0"
А если вывожу с компа то там стартовый бит "1"
проверял осцилографом
выход с ПИКа вывожу число 1 или 49Dec по таблице 00110001
осцилограмма:1111....bit Start-0|1000|1100|bit Stop-1|11111...
Как мне зделать инверсию на выходе ПИКа чтоб было
осцилограмма:0000....bit Start-1|1000|1100|bit Stop-0|0000...
intom33 вне форума   Ответить с цитированием
Старый 30.09.2016, 14:08   #30
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 44
Сообщений: 3,346
Вес репутации: 5171/120
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: PIC16F628 работа с UART

intom33, вы так и не ответили о вашем переходнике...
dosikus вне форума   Ответить с цитированием
Старый 30.09.2016, 14:29   #31
intom33
Junior Member
 
Регистрация: 10.04.2010
Возраст: 53
Сообщений: 28
Вес репутации: 100/26
intom33 will become famous soon enoughintom33 will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

Переходник купил Китайский USB-COM CH340
на выходе TTL сигнал +5V
Когда вывожу "1" из компа на осцилограмме такой сигнал:
....00001|0111|0011|0|1|0000...
Стартовый сигн. "1" дальше данные стоповый сигн. "0"
intom33 вне форума   Ответить с цитированием
Старый 30.09.2016, 14:34   #32
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 44
Сообщений: 3,346
Вес репутации: 5171/120
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: PIC16F628 работа с UART

Ссылку на переходник.
dosikus вне форума   Ответить с цитированием
Старый 30.09.2016, 14:37   #33
intom33
Junior Member
 
Регистрация: 10.04.2010
Возраст: 53
Сообщений: 28
Вес репутации: 100/26
intom33 will become famous soon enoughintom33 will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

Я так понимаю мне надо инвертировать стартовый сигнал на Пике потому как у меня на Пике RB2 постоянно высокий сигнал вот осцилограмма вывода из Пика:
....11110|1000|1100|1|11111....
Стартовый сигн. "0" дальше данные стоповый сигн. "1"
intom33 вне форума   Ответить с цитированием
Старый 30.09.2016, 14:46   #34
intom33
Junior Member
 
Регистрация: 10.04.2010
Возраст: 53
Сообщений: 28
Вес репутации: 100/26
intom33 will become famous soon enoughintom33 will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

Цитата:
Сообщение от dosikus Посмотреть сообщение
Ссылку на переходник.
вот ссылка
http://freedelivery.com.ua/shnury-pe...ch340-236.html
intom33 вне форума   Ответить с цитированием
Старый 30.09.2016, 14:48   #35
intom33
Junior Member
 
Регистрация: 10.04.2010
Возраст: 53
Сообщений: 28
Вес репутации: 100/26
intom33 will become famous soon enoughintom33 will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

на выходе переходника +5v не 12v. Я так понимаю это TTL сигнал уже выходит
intom33 вне форума   Ответить с цитированием
Старый 30.09.2016, 15:47   #36
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 44
Сообщений: 3,346
Вес репутации: 5171/120
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: PIC16F628 работа с UART

Нет не значит, у вас не то что нужно. Это USB <->RS232 а не USB<->UART.
Вот ссылка на проверенный рабочий

https://ru.aliexpress.com/item/Free-...9-4475e28826f6

Да и почитайте описание RS232, там и про уровни...
http://www.gaw.ru/html.cgi/txt/inter...s232/start.htm

Последний раз редактировалось dosikus; 30.09.2016 в 15:54.
dosikus вне форума   Ответить с цитированием
Старый 30.09.2016, 16:04   #37
Ученый
Senior Member
 
Регистрация: 27.02.2007
Адрес: Москва
Возраст: 66
Сообщений: 520
Вес репутации: 1469/56
Ученый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud of
По умолчанию Re: PIC16F628 работа с UART

Цитата:
Сообщение от intom33 Посмотреть сообщение
Я так понимаю мне надо инвертировать стартовый сигнал на Пике потому как у меня на Пике RB2 постоянно высокий сигнал
Судя по описанию Ваш переходник инвертирует посылку от компа и должен получать инверсную посылку от PICа. Логика отрицательная - так написано про сигналы TxD и RxD и это видно из осциллограмм.
Вам надо инвертировать всю посылку - и принимаемую, и передаваемую, а не только стартовый бит. При использовании аппаратного UART PICа Вам помогут только инверторы в цепях TxD и RxD (пойдут просто транзисторы).
Программно Вам поможет только собственная программная реализация UART с извращенными (инверсными) сигналами TxD и RxD.
__________________
Не знать - не стыдно, стыдно не учиться.
Ученый вне форума   Ответить с цитированием
Старый 30.09.2016, 16:13   #38
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 44
Сообщений: 3,346
Вес репутации: 5171/120
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: PIC16F628 работа с UART

Есть CH340T а есть CH340R , у последней как раз отрицательная логика.
И проще приобрести правильный адаптер, а не городить колхоз одиночного исполнения...
dosikus вне форума   Ответить с цитированием
Старый 30.09.2016, 16:17   #39
intom33
Junior Member
 
Регистрация: 10.04.2010
Возраст: 53
Сообщений: 28
Вес репутации: 100/26
intom33 will become famous soon enoughintom33 will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

буду пробовать с транзисторами Спасибо!
intom33 вне форума   Ответить с цитированием
Старый 30.09.2016, 16:40   #40
Ученый
Senior Member
 
Регистрация: 27.02.2007
Адрес: Москва
Возраст: 66
Сообщений: 520
Вес репутации: 1469/56
Ученый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud ofУченый has much to be proud of
По умолчанию Re: PIC16F628 работа с UART

Цитата:
Сообщение от intom33 Посмотреть сообщение
буду пробовать с транзисторами
Только подберите резисторы в цепи база так, чтобы транзистор не уходил в глубокое насыщение. Время выключения должно быть много меньше длительности бита, для чистоты эксперимента стоит перейти на скорость 1200.
__________________
Не знать - не стыдно, стыдно не учиться.
Ученый вне форума   Ответить с цитированием
Старый 01.10.2016, 23:29   #41
intom33
Junior Member
 
Регистрация: 10.04.2010
Возраст: 53
Сообщений: 28
Вес репутации: 100/26
intom33 will become famous soon enoughintom33 will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

Всем Спасибо!!!
Поставил транзисторы инвертировал сигнал все заработало правильно
Ещё раз спасибо Всем
intom33 вне форума   Ответить с цитированием
Старый 02.10.2016, 08:54   #42
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,466
Вес репутации: 4590/146
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: PIC16F628 работа с UART

Цитата:
Сообщение от dosikus Посмотреть сообщение
Есть CH340T а есть CH340R , у последней как раз отрицательная логика.
И проще приобрести правильный адаптер, а не городить колхоз одиночного исполнения...
что забавно, (даже) у самых младших стм32 есть возможность инвертировать уровни приемника и передатчика (что требовалось тс ?).
И если лажанешься при разводке платы, передатчик и приемник можно поменять местами (swap).
Greg вне форума   Ответить с цитированием
Старый 02.10.2016, 10:31   #43
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 44
Сообщений: 3,346
Вес репутации: 5171/120
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: PIC16F628 работа с UART

Greg, да похоже все как всегда - ляпается из того, что под рукой.
Как еще объяснить выбор, что камня , что адаптера ?

На том же али STM32F030F4P6 по 27р.
Собранные уже платы с кварцем, LDO, разъемами и даже кнопкой -152р.
Адаптеры на CH340 -49р.

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

А USB<->UART с легкостью заменяются на ESP12, на али по 115р.
https://ru.aliexpress.com/item/Free-...2-ff05c5a11c8d

ESP12 прошивается прошивкой UART-TCP или MODBUS-TCP, плюшек как грязи...
dosikus вне форума   Ответить с цитированием
Старый 02.01.2017, 18:29   #44
Andrey_by
Junior Member
 
Регистрация: 22.12.2016
Сообщений: 7
Вес репутации: 100/0
Andrey_by will become famous soon enoughAndrey_by will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

Не хочу лишних тем плодить!Спрошу тут! Да простит меня ТС. Пытаюсь через обработчик прерываний отправить в порт UART последовательность байт 0x0A 0xFF 0xFF 0x0D. Отправляет правильно 4 байта на отправляет как- то непонятно! 0х0A 0x7F 0x7F 0x0D! проверяю отправку MPLAB-бовским симулятором(uart I/0)! Если посылаю буквы 'A' 'b' 'c' 'd' - отправляет правильно! Подскажите - что это такое? И что получается FF не пошлёшь? MPLAB v7.42!
Andrey_by вне форума   Ответить с цитированием
Старый 02.01.2017, 18:57   #45
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 37
Сообщений: 4,006
Вес репутации: 3958/109
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: PIC16F628 работа с UART

Цитата:
Сообщение от Andrey_by Посмотреть сообщение
Не хочу лишних тем плодить!Спрошу тут! Да простит меня ТС. Пытаюсь через обработчик прерываний отправить в порт UART последовательность байт 0x0A 0xFF 0xFF 0x0D. Отправляет правильно 4 байта на отправляет как- то непонятно! 0х0A 0x7F 0x7F 0x0D! проверяю отправку MPLAB-бовским симулятором(uart I/0)! Если посылаю буквы 'A' 'b' 'c' 'd' - отправляет правильно! Подскажите - что это такое? И что получается FF не пошлёшь? MPLAB v7.42!
Откройте тайну: используемый компилятор, его версию, код обработчика прерывания. Так вам быстрее помогут.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 02.01.2017, 19:22   #46
siarzhuk
Member
 
Аватар для siarzhuk
 
Регистрация: 08.11.2014
Возраст: 46
Сообщений: 80
Вес репутации: 741/16
siarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to behold
По умолчанию Re: PIC16F628 работа с UART

Цитата:
Сообщение от Andrey_by Посмотреть сообщение
0х0A 0x7F 0x7F 0x0D!
7 data bits?
siarzhuk вне форума   Ответить с цитированием
Старый 02.01.2017, 19:30   #47
Andrey_by
Junior Member
 
Регистрация: 22.12.2016
Сообщений: 7
Вес репутации: 100/0
Andrey_by will become famous soon enoughAndrey_by will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

Цитата:
Сообщение от siarzhuk Посмотреть сообщение
7 data bits?
получается вместо 1111 1111 посылает 0111 1111
Andrey_by вне форума   Ответить с цитированием
Старый 02.01.2017, 19:42   #48
Andrey_by
Junior Member
 
Регистрация: 22.12.2016
Сообщений: 7
Вес репутации: 100/0
Andrey_by will become famous soon enoughAndrey_by will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

ответ найден! как его решать не найден!
http://www.microchip.com/forums/m349473.aspx

Последний раз редактировалось Andrey_by; 02.01.2017 в 19:47.
Andrey_by вне форума   Ответить с цитированием
Старый 02.01.2017, 20:32   #49
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 37
Сообщений: 4,006
Вес репутации: 3958/109
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: PIC16F628 работа с UART

Цитата:
Сообщение от Andrey_by Посмотреть сообщение
ответ найден! как его решать не найден!
http://www.microchip.com/forums/m349473.aspx
Один спросил версию компилятора и код обработчика, второй спросил про неправильную инициализацию, а вы самостоятельно нашли ошибку симулятора в версиях до MPLAB 8.14. Так и дальше нужно - тихо сам с собою. Тогда можно поставить "новый" MPLAB, он есть в архивах на сайте microchip.com.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 02.01.2017, 21:27   #50
Andrey_by
Junior Member
 
Регистрация: 22.12.2016
Сообщений: 7
Вес репутации: 100/0
Andrey_by will become famous soon enoughAndrey_by will become famous soon enough
По умолчанию Re: PIC16F628 работа с UART

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Один спросил версию компилятора и код обработчика, второй спросил про неправильную инициализацию, а вы самостоятельно нашли ошибку симулятора в версиях до MPLAB 8.14. Так и дальше нужно - тихо сам с собою. Тогда можно поставить "новый" MPLAB, он есть в архивах на сайте microchip.com.
Установил mplab ide v.8.92 не помогло! У кого такого бага нет? Напишите, что у вас за версия установлена?
Andrey_by вне форума   Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RX UART PIC16f628. Вопрос к гуру :) Пропуск посылок. IvanPletnev Вопросы начинающих 25 09.11.2013 16:09
работа с UART dspic33 Lab №1 Продукция MICROCHIP 38 14.08.2013 13:41
Странная работа UART killerbb Вопросы начинающих 29 12.03.2012 16:04
Проблема с прерыванием от UART на ds pic 30f2011 Zlodei Продукция MICROCHIP 2 14.08.2011 01:33
программный UART в microC alexaf Продукция MICROCHIP 4 28.12.2007 16:26


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


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