реклама на сайте
подробности

 
 
> Передача по USART длинных чисел
MarYuriy
сообщение May 26 2012, 16:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 20-11-10
Пользователь №: 61 036



Здравствуйте!

Как можно отправить по USART переменную unsigned long равную, допустим, 4294967294 (0xFFFF FFFE) таким образом, чтобы получить на ПК эти значения в HEX. То есть поразрядно поочереди получить FF, FF, FF, FE?

Пока ничего лучше я не придумал, чем это
CODE
unsigned long TIM5secs=4294967294;

long del = 1000000000;
int sP=0;
char secsMass[10];
int i = 0;

while (del!=1)
{
sP=TIM5secs/del;
secsMass[i]=sP;
TIM5secs=TIM5secs-sP*del;


while (!(USART1->SR & USART_SR_TXE)) {}
USART1->DR=secsMass[i];
i++;
del=del/10;
}


Получаю:
04 02 09 04 00 06 07 00 02 04 02 09 04

Но это не совсем то, что хотелось бы.

Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 01:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01359 секунд с 7
ELECTRONIX ©2004-2016