|
STM32F4 USART посылка данных, Не отсылаются все байты |
|
|
|
May 26 2013, 18:04
|

Знающий
   
Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121

|
вот моя настройка УСАРТ: CODE uint32_t config_usart3(void) {
//============================================================================= // USART3 Related configuration //============================================================================= // enable clock RCC->APB1ENR |= RCC_APB1ENR_USART3EN;
// 1) Setting UE, amd M bits USART3-> CR1 |= 0x2000; // UE = 1
// 2) Programming number of stop bits if needed
// 3) Enable DMA if needed
// 4) set the Baud Rate // BAUD = fck / ( 8 * (2 - OVER8) * USARTDIV ) // fck = 42MHz, // OVER8 = 0 // Choose BAUD = 115200 // then: USARTDIV = fck / ( 8 * (2 -OVER8) * BAUD = 22.75 // BRR = (22 << 4) | ( 0.75 * 16) = 364, // or: BRR = fck / BAUD = 42MHz / 115200 = 364 USART3->BRR = 364;
// enable transmitter USART3->CR1 |= USART_CR1_TE;
// enable receiver USART3->CR1 |= USART_CR1_RE;
return 0; } а вот собственно код отсылки: CODE uint8_t mem_read_gyro(USART_TypeDef *USART_ID ) {
int i=0; // loop var
//send read buffer to USART for(i=0;i<=17281024;i++) { // check if TXE bit is set while((!(USART_ID->SR & USART_SR_TXE)) );
USART_ID->DR = 0x5d;//mem_gyro_buf[i]; // sending a byte // check if TC bit is set while((!(USART_ID->SR & USART_SR_TC)) ); }
return 0; } как видите проверяю TC и TXE, цикл ожидания бесконечный, так что если с битами была бы проблема код застрял бы на цикле. Но в моем случае вся функция исполняыется в коде успешно, но когда проверяю на компе то программа регистрирует меньшее количество байт например: 15 547 966(столько же байт и вижу в бинарном файле), а должно 17 281 024 байт. причем интерестно то, что количество полученных байт постоянно разное, но всегда меньше чем 17 281 024 байт. в чем тут еще может быть проблема? вот настройки терминала: Baud:115200 DataSize: 8 parity: none Handshake: off mode: freeчто тут еще может быть нетак?
Сообщение отредактировал IgorKossak - May 26 2013, 18:27
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
|
|
|
|
|
 |
Ответов
|
May 28 2013, 05:58
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
странно это вообще... неужели если это переходник подключить к порту компьютера и на порте подергать CTR RTS они не появятся на выходе ФТДИ? Раньше вроде бы появлялись, мы ими питание организовывали для всяких мелких платок... Или там какая-то комбинированная логика, и данные сигналы появляются и когда на порту они есть и когда ФТДИ хочет? Проверьте пожалуйста, если дергать сигнал порта (тот терминал что я приводил может делать это отдельно от передачи) они появляются на выходе ФТДИ или нет? И сотвественно дерганья ножки ФТДИ появиться на порте? Протокол всяко надежнее, кто его знает как оно потом будет? Смените носитель или помехи на усб будут... А протокол он навека  UPD Понятно, теперь все подругому. По описанию получается что если вы на компьютере выставите бит что данных больше не надо, этот бит не появиться на выходе ФТДИ, до тех пор пока не забьется буфер ФТДИ. То есть теперь его нельзя использовать как управление в передачи без контроля данных. Но, опять же описание обещает что буфер фтди не забьется, даже если терминал не выставит эти биты (тут я здорово ошибался), Почему же данные теряются? Получается что они правда пропадают где то в буферах виндоус.
|
|
|
|
Сообщений в этой теме
BlackOps STM32F4 USART посылка данных May 26 2013, 18:04 Flexz А что именно на принимающей стороне? какая ОС, com... May 26 2013, 18:22 BlackOps вот кабель который я использую, USB-FTDI cable :
... May 26 2013, 19:01 mdmitry Цитата(BlackOps @ May 26 2013, 23:01) вот... May 27 2013, 16:52 BlackOps я решил проверить какое минимальное количество бай... May 26 2013, 21:00 Genadi Zawidowski Попробуйте мою терминалку.
Настройки - Alt+F3. Нач... May 26 2013, 21:25 BlackOps не могу запустить программу Вашу, говорит:
telnet3... May 26 2013, 21:47 Genadi Zawidowski Похоже было обе 64-х битных версии... Скомпилирова... May 26 2013, 21:55 BlackOps значок поменялся, появилась иконка у программы, но... May 26 2013, 22:13 BlackOps я просто не понимаю в чем еще там может быть пробл... May 27 2013, 02:27 BlackOps я например понимаю если бы это был прием данных бо... May 27 2013, 05:27 Golikov A. буфер со стороны компа где то килобайта 2. Какие б... May 27 2013, 05:46 BlackOps я сейчас сделал именно так как вы сказали, соедени... May 27 2013, 06:11 DmitryM Цитата(BlackOps @ May 27 2013, 10:11) я с... May 27 2013, 06:20 BlackOps замкнул контрольные пины тоже, проверил, с контрол... May 27 2013, 06:36 DmitryM Цитата(BlackOps @ May 27 2013, 10:36) зам... May 27 2013, 07:33 ar__systems Цитата(BlackOps @ May 27 2013, 01:36) зам... Jun 8 2013, 12:17 BlackOps Xon/Xoff режим вообще делает так что программа тер... May 27 2013, 07:43 DmitryM Цитата(BlackOps @ May 27 2013, 11:43) Xon... May 27 2013, 09:34 Golikov A. Погодите погодите!
когда вы замыкаете контрол... May 27 2013, 10:02 BlackOps Цитата(Golikov A. @ May 27 2013, 15:02) П... May 27 2013, 10:13 BlackOps еще такой вопрос, для того чтоб стм32 использовал ... May 27 2013, 10:05 Golikov A. есть хороший терминал, называется com terrminal v1... May 27 2013, 10:07 Golikov A. А... прошу прощения, я думал у вас так и сделано, ... May 27 2013, 10:18 BlackOps нет.., у меня плата Stm32Discovery, и от нее прово... May 27 2013, 10:21 Golikov A. Ножки РТС/CTR это ножки уровня прибора. То есть эт... May 27 2013, 10:23 BlackOps так вот ворос тогда: в моем случае ФТДИ если набир... May 27 2013, 10:24 Golikov A. Все тогда я все правильно понял.... странно конечн... May 27 2013, 10:27 BlackOps странно... вот это например из мануала СТМ32
Цитат... May 27 2013, 10:27 Golikov A. если бы ФТДИ был конечным прибором, то да. Но фтди... May 27 2013, 10:32 BlackOps а как насчет ругих решений которые нормально работ... May 27 2013, 10:39 DmitryM Цитата(BlackOps @ May 27 2013, 14:39) исх... May 27 2013, 16:54 Golikov A. У меня всегда УАРТ был с протоколом. Обычно РС485+... May 27 2013, 10:57 BlackOps а вот и то как ФТДИ это описывает: http://www.ftdi... May 27 2013, 17:34 DmitryM Цитата(BlackOps @ May 27 2013, 21:34) а в... May 27 2013, 17:41 vptr Цитата(BlackOps @ May 27 2013, 20:34) Так... May 28 2013, 11:00 Сергей Борщ QUOTE (BlackOps @ May 27 2013, 13:05) еще... May 28 2013, 06:25 Dopler Удивительные вещи народ рассказывает про компьютер... Jun 7 2013, 20:01 Golikov A. Цитата(Dopler @ Jun 8 2013, 00:01) Удивит... Jun 9 2013, 18:51 vptr Цитата(Dopler @ Jun 8 2013, 00:01) Удивит... Jun 10 2013, 11:53 Golikov A. может у них 2090-ые, параллельная реальность...
в... Jun 10 2013, 17:13 vptr Цитата(Golikov A. @ Jun 10 2013, 21:13) м... Jun 10 2013, 20:32  Сергей Борщ QUOTE (vptr @ Jun 10 2013, 23:32) максима... Jun 11 2013, 06:07 jcxz Цитата(Golikov A. @ Jun 10 2013, 23:13) м... Jun 11 2013, 04:20 Golikov A. через драйвер или как виртуальный ком порт?
А у м... Jun 11 2013, 05:16 jcxz Цитата(Golikov A. @ Jun 11 2013, 11:16) ч... Jun 11 2013, 08:20  Golikov A. Цитата(jcxz @ Jun 11 2013, 12:20) Драйвер... Jun 11 2013, 08:58 Dopler Цитата(Golikov A. @ Jun 11 2013, 09:16) ч... Jun 12 2013, 12:40  jcxz Цитата(Dopler @ Jun 12 2013, 18:40) COM-п... Jun 12 2013, 17:36   Dopler Цитата(jcxz @ Jun 12 2013, 21:36) Здорово... Jun 12 2013, 19:10    jcxz Цитата(Dopler @ Jun 13 2013, 01:10) ADUM4... Jun 13 2013, 07:14 Golikov A. езернет оптику! 100% развязка от всего)
Пра... Jun 12 2013, 20:45 Dopler Цитата(Golikov A. @ Jun 13 2013, 00:45) х... Jun 13 2013, 08:01 Golikov A. ну я бы говорил
прикинуться Масс Тораже - то есть... Jun 13 2013, 12:45
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|