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

 
 
> Типы данных СИ или как переслать четыре байта, просветите пожалуйста
morpher
сообщение Mar 3 2008, 13:28
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 3-03-08
Пользователь №: 35 586



Начал понемногу изучать контроллеры заодно приходится и СИ. МК – PIC18, компилятор – MCC18. Пишу на основе CDC(эмуляция COM-порта). Задача состоит в том что нужно отслеживать события модуля ССР в режиме захвата и посылать на комп значения интервалов между каждым положительным фронтом. Вроде разобрался с захватом и таймером но не могу послать результат(точнее могу но принимаю непонятно что). Чтобы короче только кусочки кода.

char str[64];
unsigned result;

result = ReadCapture1();
ultoa(result,str);

if(mUSBUSARTIsTxTrfReady())
{
mUSBUSARTTxRam((byte*)str,6 );
}
(склеено из разных демок, все левое пропущено, осталось только то, что меня интересует)
Вопрос №1: правильно ли использовать ultoa(result,str) по отношению к массиву str?

Это первоначальный вариант поскольку оказалось что интервалы между фронтами могут превышать 1сек соответственно пришлось учитывать переполнение. В результате отправлять уже надо не unsigned int а unsingned long. Но преобразовывать в строку не хочу поскольку как я понимаю: если result = 65535, то после ultoa(result,str) будет- str[0] =’6’,str[1] = ‘5’ итд. Зачем длинная строка если можно unsingned long разделить на 4 байта и записать в каждый эл. массива отдельно. Вот только как выделить отдельные байты из long на СИ я не знаю. Просветите пожалуйста как правильно конвертнуть unsingned long.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Mar 3 2008, 15:19
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



К сожалению, последнее время нормальных книжек по C не встречал sad.gif


Цитата(morpher @ Mar 3 2008, 17:48) *
Но документации на компилятор может и нехватать, особенно при условии незнания языка вообщем. Просто должны же быть книги ориентированные на конкретные компиляторы с множеством разнообразных примеров.

Не приходилось сталкиваться с такой ситуацией, чтобы не хватало документации на компилятор. А примеры, как правило, входят в комплект поставки.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 17:48
Рейтинг@Mail.ru


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