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

 
 
> Работа с long int
Skaf
сообщение Jun 20 2009, 11:25
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 228
Регистрация: 4-06-09
Пользователь №: 49 940



Всем привет. Пишу на Си (WinAVR) для AVR. Есть у меня 32-х битная переменная

unsigned long int A;

Мне надо передать ее по SPI протоколу. Как это эффективнее всего сделать?
Что-то типа

spi_master_transmit(A);
spi_master_transmit(A>>8);
spi_master_transmit(A>>16);
spi_master_transmit(A>>24);

является ли это наиболее эффективным методом?

Сообщение отредактировал Skaf - Jun 20 2009, 11:26
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Злодей
сообщение Jun 23 2009, 06:44
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 29-04-08
Из: Петербург
Пользователь №: 37 142



Что есть size_t?

И зачем тут
Код
size_t fwrite (const void *data, size_t size, size_t count, FILE *stream);

раздельные size и count? На практике ведь их можно переставлять местами, главное чтоб не изменилось их произведение.

Сообщение отредактировал Злодей - Jun 23 2009, 06:47
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 23 2009, 09:52
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Злодей @ Jun 23 2009, 10:44) *
Что есть size_t?
Это хороший тон программированияsmile.gif
На самом деле этот тип возвращает оператор sizeof и, как правило, size_t эквивалентен int.
Поэтому, его применение на восьмибитных платформах должно быть обоснованным и только там, где действительно uint8_t мал в качестве размера или количества.
Как бонус, при использовании size_t происходит некое самодокументирование программы...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

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


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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 00:53
Рейтинг@Mail.ru


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