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

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

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

Ответ
 
Опции темы Опции просмотра
Старый 29.09.2016, 19:34   #26
intom33
Junior Member
 
Регистрация: 10.04.2010
Возраст: 53
Сообщений: 28
Вес репутации: 100/27
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,493
Вес репутации: 4654/147
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/27
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/27
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,404
Вес репутации: 5249/122
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/27
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,404
Вес репутации: 5249/122
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/27
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/27
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/27
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,404
Вес репутации: 5249/122
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
Сообщений: 541
Вес репутации: 1602/58
Ученый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant future
По умолчанию 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,404
Вес репутации: 5249/122
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/27
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
Сообщений: 541
Вес репутации: 1602/58
Ученый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant future
По умолчанию Re: PIC16F628 работа с UART

Цитата:
Сообщение от intom33 Посмотреть сообщение
буду пробовать с транзисторами
Только подберите резисторы в цепи база так, чтобы транзистор не уходил в глубокое насыщение. Время выключения должно быть много меньше длительности бита, для чистоты эксперимента стоит перейти на скорость 1200.
__________________
Не знать - не стыдно, стыдно не учиться.
Ученый вне форума   Ответить с цитированием
Старый 01.10.2016, 23:29   #41
intom33
Junior Member
 
Регистрация: 10.04.2010
Возраст: 53
Сообщений: 28
Вес репутации: 100/27
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,493
Вес репутации: 4654/147
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,404
Вес репутации: 5249/122
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,126
Вес репутации: 4071/111
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
Сообщений: 84
Вес репутации: 761/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,126
Вес репутации: 4071/111
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, время: 10:23.


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