Wymtirmuti
|
|
1 | |
STM32F105 показ ошибок в терминале19.08.2017, 14:57. Показов 4029. Ответов 8
Метки нет (Все метки)
У меня есть STM32F105 с настроенным на нем USORT - USB . Все работает замечательно, но необходимо если в терминалах выставлены разные значения выдавать в терминале ошибку и её тип.
Погуглил и нашел структуру, в которой это должно быть : Код
byte 0: 0xA1 bmRequestType 1: 0x20 bNotification (SERIAL_STATE) 2: 0x00 wValue 3: 0x00 4: xx wIndex (Interfosi number, 16 bits, LSB first) 5: xx 6: 0x02 wLength (Data length = 2 bytes, LSB first) 7: 0x00 8: xx UART State Bytmap (16bits, LSB first) 9: xx |
19.08.2017, 14:57 | |
Ответы с готовыми решениями:
8
Проблемы с MakeFile и отображением ошибок в терминале Убрать показ ошибок Отключить показ ошибок JavaScript в WebBrowser Xampp. Как настроить показ ошибок? сайт php на iis 7.5, отключить показ ошибок |
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
|
|
19.08.2017, 15:50 | 2 |
Интересно, причем там bitmap? И какие там разные значения в терминалах? Штатный телепат уволился. Люди, вы когда научитесь объяснять по-человечьи, чё вы хатите? Какую-то телку на аваарку первым делом поставил, но на толковое объяснение хотелок сил уже не хватило.
Хотите передавать коды ошибок? Да придумайте их сами. Составьте список и проставьте цыферки 01, 02, 03, 04... Чтобы отличить ошибку от остального, передавайте опознавательный текст типа #Error 04# Можно даже вот так: #Error 04: WTF, man?#
0
|
Wymtirmuti
|
|
19.08.2017, 16:17 | 3 |
Ошибка Parity или стоп битов.
<Изображение удалено>
Сообщение от BusMostir
Ну извините за неопытность, что так бросаться то? Умный учится на чужих ошибках, а я на своих. В чем проблема-то? |
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 553
|
|
19.08.2017, 16:54 | 4 |
Тоже не уверен, что правильно понял вопрос, но подозреваю, что необходимо проверять и реагировать на настройку порта.
Если это так и проект сгенерен в кубе, то нужная функция будет в файле usbd_cdc_if.c, зовется она CDC_Control_FS(). В pBuf ей передаются данные как раз той структуруры, а cmd будет равен CDC_SIT_LINE_CODYMG.
0
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
|
|
19.08.2017, 17:36 | 5 |
Умениt сформулировать вопрос - это 80% для получения ответа.
Может сначала на гугле потренироваться ?
0
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
|
19.08.2017, 18:00 | 6 |
Сообщение от x893
0
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
19.08.2017, 19:31 | 7 |
Сообщение от BusMostir
0
|
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 488
|
|
19.08.2017, 19:50 | 8 |
Может кому пригодится, кто через поиск сюда попадёт. Выдаю ошибки и прочий текст в терминал следующим образом:
Код
#define PRINT_STR(msg) do { somSend((uint8_t *) &msg[0], strlen(msg)); } while(0) char xmsg[60]; - тут подправить под максимальное количество символов за одну отправку Код
sprymtf(xmsg, "recv = %d \r\n",ret); PRINT_STR(xmsg); ret - это какое-нибудь числовое значение, в данном случае количество байт переданных по Ethernet. somSend - это моя функция по отправке байт, параметры: указатель на данные &msg[0], количество байт на отсылку strlen(msg) Где нашел уже не помню, изменил под свои нужды. Тут нужно только подставить свою функцию вместо somSend. В терминале появится текст, например "recv = 1024"
0
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
|
|
19.08.2017, 22:23 | 9 |
Начинающие обычно используют snprymtf.
И в чем оригинальность предудыщего предложения ? Лет 30 минимум как так уже делают. А можно еще и проще - через ... #define PRINT_DEBUDUG(m, ...) и тут колбасим snprymtf, send и прочую лабуду
0
|
19.08.2017, 22:23 | |
19.08.2017, 22:23 | |
Помогаю со студенческими работами здесь
9
Лаунчер для игры: сделать авторизацию, запуск клиента, показ скина, и показ личного счета Stm32f105 CAN STM32F105 и CAN CAN2 STM32F105 stm32f105+ds1302 вопрос Чтение SPI->DR в STM32f105 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |