Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Re: Програмирование pic на СИ.

Чт янв 20, 2022 13:28:56

Вам UART что-ли нужен ? Или что ?

PS: По 3 дня отвечаете. Классный диалог получается. :)))

Re: Програмирование pic на СИ.

Сб янв 22, 2022 10:44:03

Нужен K-Line, он похож на UART, только там напряжение от 0 до 12 вольт


Вот получилось отправить байт 01010101 через ножку 21
Вложения
21_out_01010101.png
(22.11 KiB) Скачиваний: 87

Re: Програмирование pic на СИ.

Сб янв 22, 2022 17:52:22

Пфффф. Обычный UART. Зачем ногодрыг, если есть аппаратный ?

Re: Програмирование pic на СИ.

Сб янв 22, 2022 21:45:00

K-Line однопроводная, в основном применяется в автомобильной промышленности.
Вложения
UART_ЭБУ.GIF
(52.94 KiB) Скачиваний: 107

Re: Програмирование pic на СИ.

Вс янв 23, 2022 12:57:51

В это проце есть 2 аппаратных UART'а. Зачем извращение с ногодрыгом ?

Re: Програмирование pic на СИ.

Вс янв 23, 2022 21:06:42

адаптер-ELM327 - что имеем, то имеем (500 рублей у китайцев)

Re: Програмирование pic на СИ.

Пн янв 24, 2022 00:03:09

Повесить светодиоды на ноги аппаратного UART и вывести UART на левые ноги - это верх мазохизма :facepalm:

Re: Програмирование pic на СИ.

Пн янв 24, 2022 05:03:31

Нее, Алекс... Тут очень глубоко зарытая идея защиты от копирования. Ибо всякий обнаруживший такой мазохизм немедля бросит затею реверса. Быть мазохистом - это крайне обидно для настоящего посона. )))

Re: Програмирование pic на СИ.

Пн янв 24, 2022 16:49:20

В CCS для "слабых" PICs uint64_t нет. Есть проверенный метод работы с uint64_t? (Метод может быть не быстрым).

Мне примерно нужно "масштабировать" дроби - целочисленный делитель INT, числитель FRAC и знаменатель MOD. Числа большие и достигают "вершины" uint32_t. Число 4095 может быть для другой случай и 1048575. Разделить напр. 1000/1000 в данном случае быть не должно - теряю точность "внизу" [Hz].

В Arduino для FRAC/MOD использую это, но в CCS нет uint64_t:
Код:
uint32_t scaling_fraction(uint32_t num, uint32_t denum) {
  uint64_t u64 = (uint64_t)num;

  u64 = u64 * 4095 / denum;
  num = (uint32_t)u64;
  return num;

float по нескольким причинам я избегаю использовать :).
А float работает (если не заменю с чем-то другим методом).

Пример:
uint32_t a = 49999374;
uint32_t b = 99998750;
=> a / b = 2047 / 4095
Последний раз редактировалось veso74 Пн янв 24, 2022 17:13:47, всего редактировалось 2 раз(а).

Re: Програмирование pic на СИ.

Пн янв 24, 2022 17:09:28

Есть проверенный метод работы с uint64_t?.

А в чем может быть проблема? Обычная арифметика и извлечение квадратного корня не имеют вообще никаких ограничений по стандартной "школьной" методике.
Вы столбиком арифметику + - и * делать умеете? Это оно и есть. Можете посмотреть как делается 32-разрядная арифметика и воспроизвести ее в 64 разрядах. Деление и извлечение корня я предпочитаю делать итерационным последовательным приближением. Хотя нужно бы посчитать, возможно Ньютон-Рафсон и побыстрее будет для 8 разрядов.

Re: Програмирование pic на СИ.

Сб янв 29, 2022 13:32:20

https://yandex.ru/video/preview/?text=% ... 5369862835
Помогите кто сможет
Делаю все полностью одинаково , без ошибок , там часы идут у меня
00:00:01`и все ! Не получается что то
Спасибо !

Re: Програмирование pic на СИ.

Вс янв 30, 2022 13:42:26

Всем спасибо , вопрос закрыт !

Re: Програмирование pic на СИ.

Ср фев 02, 2022 10:12:36

Вот сигнал от UART и от "ногадрыга"
Видно, что "ногадрыга" не точно делает паузы в бите
Придётся изучать таймер TMR2, чтобы получить стандарт 104мкс
Вложения
bit_UART-out_21pin-out_.png
(46.58 KiB) Скачиваний: 86

Re: Програмирование pic на СИ.

Ср фев 02, 2022 11:30:19

cxem писал(а):Придётся изучать таймер TMR2
Он в этих процах элементарнейший. Там изучать то нечего.
Стоит только взглянуть на картинку :
и всё станет понятно.
Вся его настройка сводится к конфигурировании одного регистра T2CON.

Re: Програмирование pic на СИ.

Ср фев 02, 2022 13:46:55

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

Re: Програмирование pic на СИ.

Ср фев 02, 2022 14:03:23

В интернете нахожу только примеры заточенные на курсовые: арифметика и алгебра.
Примеров по K-Line нет.
Почему на 2 транзисторах работает, как автомат Калашников
А на PIC18F25K80 не хочет.
Вложения
K-Line_Rx_Tx__1.GIF
(48.84 KiB) Скачиваний: 84

Re: Програмирование pic на СИ.

Ср фев 02, 2022 14:50:06

cxem писал(а):Почему на 2 транзисторах работает, как автомат Калашников
А на PIC18F25K80 не хочет.
может, потому, что на 2 транзисторах сигнал RX инвертируется транзистором, а в варианте "пик" - вопрос? возможно, я что-то упустил из предыдущего, но верно ли я понял, что вы хотите один аппаратный USART использовать для связи с компьютером, а софтовый - для К-линии, причем с возможностью трансляции в К-линию как "своих" данных из МК, так и тех, что присылает комп? ну и в обратную сторону тоже? типа аппаратного сниффера К-линии изобретаете что-то?

Re: Програмирование pic на СИ.

Ср фев 02, 2022 21:31:41

Изучаю K-Line:
1.Протокол связи с ЭБУ
2.Протокол данных
Обидно за PIC18F25K80, который проигрывает 2 транзисторам
1.Скорость связи с ЭБУ слабая: Если даже UART поднять до 115200 бод
2.Почему-то говорят, что он не умеет отправлять в ЭБУ байты длиннее 8 байт
один аппаратный USART использовать для связи с компьютером, а софтовый - для К-линии, причем с возможностью трансляции в К-линию как "своих" данных из МК, так и тех, что присылает комп?

- Да
Специфика работы с ЭБУ:
1. Скорость связи своя(обычно 10400 бод)
2. Пробуждение ЭБУ(обычно импульс 25/25мс)

Re: Програмирование pic на СИ.

Ср фев 02, 2022 23:20:00

:facepalm:

Re: Програмирование pic на СИ.

Ср фев 02, 2022 23:43:32

cxem писал(а):1. Скорость связи своя(обычно 10400 бод)
2. Пробуждение ЭБУ(обычно импульс 25/25мс)
формировать программно сигналы K-Line на скорости чуть больше, чем 9600 - имхо, это не может быть проблемой. похуже с приёмом, но, предполагаю, и тут не принципиально. я в PIC-ах вообще ни ухом ни рылом, не могу утверждать, что все получится... только предполагаю по аналогии с AVR, что проблем быть не должно никаких серьёзных.

но на вашем месте я не стал бы заморачиваться с PIC-ом вообще, а просто сниффил бы на компьютере обмен через СОМ-порт, и видел бы то же самое.
Ответить