Uart debug в телевизоре что это такое

volatile static stDebugCmd debugCmd;

Этот материал является структурой.

2. Затем получите команду и поместите полученную команду в debugCmd.cmd [. ]

void SERDEB_PushCmd(uint8_t *cmd, uint16_t len) < memcpy ((uint8_t *) (debugCmd.cmd), cmd, len); // Чтобы вызвать эту функцию, не забудьте #include в файле; debugCmd.cmd[len] = ‘’; // end of string; debugCmd.valid = TRUE; // После получения команды значение устанавливается в TRUE, что указывает на то, что оно может быть обработано. После обработки оно будет установлено в FALSE. debugCmd.cmdLen = len; >

Эта функция вызывается в void HAL_UART_IdleCpltCallback (UART_HandleTypeDef * huart).STM32 прием прерываний Uart》《STM32 Uart DMA способ получения данныхAlready Я уже объяснил эту функцию обратного вызова, поэтому я не буду говорить об этом.

3. Получите строку и поместите ее в debugCmd.cmd [. ], и мы приступим к обработке.

void SERDEB_Handler(void) < Команда if (debugCmd.valid) // должна быть действительной перед обработкой < //printf(«CMD(%d): %s», debugCmd.cmdLen, debugCmd.cmd); if(GetDebugCmd((uint8_t *)(debugCmd.cmd), debugCmd.cmdLen)) DebugCmdProceed(); debugCmd.valid = FALSE; >>

Эта функция вызывается в основном цикле while (1).

Читаем «журнал» LOG процессора при ремонте телевизоров по RS232


/* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) < USR_LedHandler(); SERDEB_Handler(); /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ >/* USER CODE END 3 */

Весь процесс выглядит следующим образом: 1. Получите команду 2. Получите команду в debugCmd.cmd [. ] и установите для debugCmd.valid значение TRUE 3. Обработайте команду в главном цикле while (1).

Получите команду в debugCmd.cmd [. ] и установите для debugCmd.valid значение TRUE, это действие выполняется в функции обратного вызова подпрограммы обработки прерываний;

Команда обработки выполняется в основном главном цикле;

Зачем ты это делаешь? Разве вы не можете просто сделать все это в программе обработки прерываний?

Вспомните один из принципов проектирования подпрограммы обработки прерываний.Пожалуйста, не выполняйте трудоемкие вещи в процедурах обработки прерываний, таких как printf, delay и т. Д., Которые занимают много времени

Поэтому в прерывании мы просто устанавливаем некоторые флаги, и обработка помещается в основной цикл.

Где atoi () преобразует строку в число и сохраняет ее в debArray [].

Еще по теме:  Как записывать с телевизора на диск

Идея реализации atoi состоит в основном в обнаружении символьных строк.

Если есть 0x или 0X, оно обрабатывается как шестнадцатеричное число, и обнаруживаются 0 ~ 9, a ~ f, A ~ F, и оно заменяется числом.

Если нет, он обрабатывается как десятичное число, и обнаруживается 0 ~ 9, и он заменяется на число.

Когда он встречает других, он заканчивается, помещая преобразованное число в адрес * num.

static uint8_t atoi(uint8_t *str, uint16_t *num) < #define MAX_DIG 10 uint8_t dig = 0, cnt; uint8_t numTmp[MAX_DIG]; memset((uint8_t *)numTmp, ‘ ‘, MAX_DIG); *num = 0; if(*str==’0′(*(str+1)==’x’||*(str+1)==’X’)) < str+=2; do < if(*str>=’0’*str <=’9′) < numTmp[dig] = *str — ‘0’; >else if((*str>=’a’*str <=’f’)) < numTmp[dig] = *str — ‘a’ + 10; >else if((*str>=’A’*str <=’F’)) < numTmp[dig] = *str — ‘A’ + 10; >str++; dig++; if(dig>MAX_DIG-2) < break; >> while( (*str>=’0’*str<=’9′) ||(*str>=’a’*str<=’f’) ||(*str>=’A’*str <=’F’) ); for(cnt=0; cntdig += 2; > else < do < numTmp[dig] = *str — ‘0’; str++; dig++; if(dig>MAX_DIG-1) break; >while(*str>=’0’*str <=’9′); for(cnt=0; cnt> return dig; #undef MAX_DIG >

Сила возводится в квадрат, а сила (10, 2) — это сила 10. Функция power () реализована следующим образом.

Диагностика электронных устройств с помощью компьютера. Hyper terminal. Putty.


static uint32_t power(uint8_t base, uint8_t exponent) < uint32_t value; uint8_t cnt; if(exponent==0) return 1; value = 1; for(cnt=0; cntreturn value; >

Чтобы преобразовать строку в числовой параметр, следующим шагом является обработка числового параметра.

Если вы хотите разобраться с этим, обработайте его. Здесь первый параметр помещается в debArray [0] и рассматривается как команда. Если он равен 0, выполните DEBCMD_TEST, если он равен 1, выполните DEBCMD_EEPROM. Если он равен 2, 3 . 4 . сделай сам.

enum < DEBCMD_TEST = 0, DEBCMD_EEPROM, DEBCMD_FLASH, DEBCMD_RESVERT1, DEBCMD_RESVERT2, DEBCMD_RESVERT3, DEBCMD_MAX, >; static void DebugCmdProceed(void) < switch(debArray[0]) < case DEBCMD_TEST: printf(«DEBCMD_TEST: Parm1: %d / parm2: %d rn», debArray[1], debArray[2]); break; case DEBCMD_EEPROM: printf(«DEBCMD_EEPROM: Parm1: %d / parm2: %d / parm3: 0x%x. rn», debArray[1], debArray[2], debArray[3]); break; >>

Ну, в общем, все, компиляция, запись, запуск и тестирование.

На этом этапе наша базовая платформа отладки настроена: вы можете использовать инструмент последовательной отладки, вводить различные команды, отлаживать различные устройства и выводить информацию для печати. В следующей статье поговорим о протоколе связи определенного чипа.

Весь проект и код, пожалуйста, скачайте на веб-диске Baidu:

Папка: Stm32CubeMx Code [email protected]

Код также может быть оптимизирован, например, добавляя некоторые условия оценки, как бороться с переполнением строки, как обрабатывать буфер параметров больше 128, и заинтересованные товарищи могут оптимизировать и оптимизировать.

Еще по теме:  Nsu для телевизора LG что это такое

Следующее сообщение: Не понял, что написать? I2C? SPI?

Вернуться к содержанию: «каталог》

Источник: russianblogs.com

Uart debug в телевизоре что это такое

Страна: Россия н.п.: Там где пахнет флюсом Паяльное оборудование: Профессиональное оборудование Программаторы: ENTT. UFPI.RT809H Контактная информация:

Слушаем аппаратуру через UART

Сообщение One TV » 04 сен 2022, 11:12

Samsung
3IN1_KANT-S2
Войдите или зарегистрируйтесь, чтобы видеть этот код
Ответы: 0

Re: Слушаем аппаратуру через UART

Сообщение olegkoc » 05 сен 2022, 12:28

Антон, неплохо бы еще сразу указывать куда подключаться и как в DEBUG ввести если это Samsung.

Автор темы
Ответы: 2

Страна: Россия н.п.: Там где пахнет флюсом Паяльное оборудование: Профессиональное оборудование Программаторы: ENTT. UFPI.RT809H Контактная информация:

Re: Слушаем аппаратуру через UART

Сообщение One TV » 05 сен 2022, 12:37

Олег, сделаем. Если активность будет. Смотрим на реакцию ребят.
Ответы: 0

Re: Слушаем аппаратуру через UART

Сообщение Jeka_s » 06 сен 2022, 14:34

HARPER 28R575T
main HK.T.RT2957P68 D-SUB 12-15
Войдите или зарегистрируйтесь, чтобы видеть этот код
HYUNDAI H-LED43FS5001
main TP.HV351S.PB757 КТ UART_TX снизу модуля в районе процессора
Войдите или зарегистрируйтесь, чтобы видеть этот код
Последний раз редактировалось Jeka_s 01 ноя 2022, 13:06, всего редактировалось 19 раз.
Ответы: 0

Re: Слушаем аппаратуру через UART

Сообщение Jeka_s » 13 сен 2022, 04:29

KIVI 50U710KB
main MS68860-ZC01-01 CN206
Войдите или зарегистрируйтесь, чтобы видеть этот код
Отправлено спустя 8 часов 21 минуту 20 секунд:
DNS K23A92
main 35016539 XS504
Войдите или зарегистрируйтесь, чтобы видеть этот код
Последний раз редактировалось Jeka_s 01 ноя 2022, 13:06, всего редактировалось 2 раза.
Ответы: 0

Re: Слушаем аппаратуру через UART

Сообщение Jeka_s » 18 сен 2022, 15:24

THOMSON T43D15SF-01B
main TP.S512.PB83
В сервисе включить DEBUG UART — ON или залить прошивку D-SUB 12-15

Войдите или зарегистрируйтесь, чтобы видеть этот код
BBK 40LEX-7027/FT2C
main CV338H-U42 D-SUB 12-15, Uart Enable — turn off
Войдите или зарегистрируйтесь, чтобы видеть этот код
Uart Enable — open
Войдите или зарегистрируйтесь, чтобы видеть этот код
BBK 32LEX-7145/TS2C
main P75-2841V6.1 D-SUB 12-15 REVERS, UART Enable — off
Войдите или зарегистрируйтесь, чтобы видеть этот код
UART Enable — on
Войдите или зарегистрируйтесь, чтобы видеть этот код

DEXP H32F7000K
main TP.MS3663T.PB751 КТ UART-TXDDC1 снизу майна, в районе процессора. UART Debug — NONE

Еще по теме:  Как используют телевизор в моей семье

Источник: onetv-srt.com

Подключение к Orange pi 5 по debug uart интерфейсу.

Все очень просто. Когда вы устанавливаете например операционную систему Ubuntu, чтоб настроить на ней сеть, вам нужно или подключиться по проводному интернету и искать на роутере какой ip адрес получило устройство. Или подключать монитор и смотреть на мониторе какой получил ip адрес. Ну или так-же через монитор настраивать сразу wi-fi подключение, чтоб не тащиться к роутеру для подключения провода.

И вот чтоб этого не делать, можно подключиться usb/ttl программатором к специально выведенным пинам на orange pi и подключиться с компьютера по uart. А с компьютера через консоль уже можем полноценно управлять Orange pi и например настроить то-же wi-fi подключение.

Казалось-бы все просто, зачем нужна эта статья? ведь каждый человек сможет подключить три провода rx,tx и GND к usb/ttl программатору и без статьи. И тут загвоздка? а какую скорость COM порта выбрать? Скажу сразу стандартные скорости не подходят. Нужна скорость 1500000. Эта скорость используется как на Orange pi 5, так и на Orange pi 800.

На других устройствах не проверял. Знаю только что на Orange pi zero 2 она стандартная 115200.

Ну и теперь давайте приступим к подключению.

у Orange pi 5 распиновка контактов следующая:

И вот к пинам rx,tx, gnd и будем подключать usb/ttl программатор. Подключая rx->tx, tx->rx, gnd->gnd.

Для Orange pi 800 распиновка uart debug интерфейса выглядит так:

Подключение usb/ttl программатора точно такое же: rx->tx, tx->rx, gnd->gnd.

Для подключения я использую PuTTy.

Узнаем сначала под каким COM портом у нас в windows определился usb/ttl программатор. Для этого заходим в диспетчер устройств windows:

Видим, что у меня это COM3.

Далее открываем программу PyTTY, выставляем галочку Serial и в графе speed выставляем скорость 1500000.

Ну и нажимаем кнопку Open. После этого у Вас откроется черное окно консоли. Далее включаем Orange pi и наслаждаемся результатом.

В консоль начнет сыпаться загрузочная информация Orange pi и в конечном итоге появится полноценная консоль Linux.

Из информации тут видно, что мы подключены по tty1 – это и есть uart debug интерфейс.

Далее в консоли уже можем делать что угодно и настраивать как угодно наш мини пк.

Надеюсь статья была Вам полезна. Спасибо за внимание.

Источник: psenyukov.ru

Оцените статью
Добавить комментарий