Easyelectronics.ru

Электроника для всех
Текущее время: 18 окт 2019, 19:02

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 14 окт 2013, 23:49 
Заглядывает иногда

Зарегистрирован: 10 авг 2013, 10:44
Сообщения: 50
Всем доброго времени суток. Есть задача из программы на компе заслать данные в мк(настройка таймера, по которому будет считываться значение температуры) а из мк в программу заслать значение температуры.
Пытался разобраться с реализацией подобного общения. Столкнулся со статьей реализации на таймере http://we.easyelectronics.ru/msp430/dupleksnyy-uart-na-taymere-timer_a.html. Вроде даже понял.
Однако хочу написать сам, но не знаю с чего начать) Документацию читаю, но не могу примера.
Для себя разбиваю задачу на несколько этапов:
1. Инициализация UART
Конфигурирование UART
2. Засылка данных
3. Получение данных

Если этот алгоритм верен. То хотелось бы его рассмотреть более детально.
1.
Код:
  UCA0CTL1 |= UCSWRST;
  UCA0CTL1 |= UCSSEL_2;
  UCA0BR0 = 0x68;
  UCA0BR1 = 0x00;
  UCA0MCTL = 0x04;
  UCA0CTL1 &= ~UCSWRST;

UCA0MCTL что это и с чем его едят?
Со вторым пунктом непонятно. Как получать данные? Как настроить Rx Tx что бы по USB передавались данные? Аналогично с получением.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 15 окт 2013, 02:35 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3297
по ссылке - программный УАРТ.
приведённый код - инициализация аппаратного USCI.
про UCA0MCTL - http://www.ti.com/lit/ug/slau144j/slau144j.pdf глава 15.
по второму и третьему пункту - описание там же.
примеры тут: http://www.ti.com/litv/zip/slac485c
http://www.msp430launchpad.com/2012/06/ ... rintf.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 16 окт 2013, 22:51 
Заглядывает иногда

Зарегистрирован: 10 авг 2013, 10:44
Сообщения: 50
Код:
#include "msp430g2553.h"
#include <string>
/*
* main.c
*/

void initUART();
void UARTWriteString(string str);

int main(void) {
   
    WDTCTL = WDTPW | WDTHOLD;   // Stop watchdog timer
        initUART();
        UARTWriteString("Hello world!");
}
void initUART()
{
   P1SEL = BIT1 + BIT2 ;      // P1.1 = RXD, P1.2=TXD
   P1SEL2 = BIT1 + BIT2 ;      // P1.1 = RXD, P1.2=TXD
   UCA0CTL1 |= UCSWRST;        // Этот бит блокирует работу прерываний от UART и работу
                               // сдвигового регистра чтобы не мешать
                               // настройке (грубо говоря отключает UART).
        UCA0CTL1 |= UCSSEL_2;       // Наш UART будет работать от
                                // SMCLK (Sub-main clock), тоесть от 1MHZ.
        UCA0BR0 = 0x03;              // Делитель частоты для SMCLK (1000000 / 9600).
        UCA0BR1 = 0x03;
        UCA0MCTL = UCBRS1 + UCBRS0;   // Модуляция UCBRSx = 3
        UCA0CTL1 &= ~UCSWRST;      // **Initialize USCI state machine**
        IE2 |= UCA0RXIE;         // Включаем UART обратно.
}

void UARTWriteString(string str)
{
//тестовый посыл в uart-порт
int strSize = str.length();
for(int i = 0; i < strSize; i++)
{
//WDTCTL = WDTPW + WDTCNTCL; // Сброс таймера watchdog в ноль.
while (!(IFG2&UCA0TXIFG)); // Проверка готовности буфера отправки.
UCA0TXBUF = str[i];
}
}

более менее разобрался. + использовал пример с хабра. Код компилируется, однако строка ("Hello world") так и не выводится. не могу понять почему( Для мониторнига использую Com Port Toolkit. Может кто глянет опытным глазом?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 16 окт 2013, 23:09 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3297
вообще ничего не выводится или всё таки выводится, но что-попало? скорость имхо какая-то странная задана.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 16 окт 2013, 23:41 
Заглядывает иногда

Зарегистрирован: 10 авг 2013, 10:44
Сообщения: 50
Вообще ничего. Со скоростью игрался, на вывод (невывод) результата никак не влияет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 17 окт 2013, 10:35 
Заглядывает иногда

Зарегистрирован: 10 авг 2013, 10:44
Сообщения: 50
Мне удалось понять причину, почему ничего не выводится.
Код:
Код:
void UARTWriteString(string str)
{
//тестовый посыл в uart-порт
int strSize = str.length();
for(int i = 0; i < strSize; i++)
{
//WDTCTL = WDTPW + WDTCNTCL; // Сброс таймера watchdog в ноль.
while (!(IFG2&UCA0TXIFG)); // Проверка готовности буфера отправки.
UCA0TXBUF = str[i];
}
}

все дело в этом фрагменте кода а именно в i.
Несмотря на то что в цикле она проинициализирована, и даже правильно определяется число символов в строке, тем неменее на протяжении всего цикла
Код:
Код:
i = <unavailable>

не могу сообразить почему?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 17 окт 2013, 12:42 
Только пришел

Зарегистрирован: 02 июл 2013, 21:47
Сообщения: 9
а если i объявить до цикла? у меня на стелларисе почему-то переменные в цикле не хотят объявляться нормально


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 17 окт 2013, 13:17 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
TmYAG писал(а):
Мне удалось понять причину, почему ничего не выводится.
Нет, тебе не удалось найти причину. В приведенном фраменте вполне работоспособный цикл с допустимым (а значит - правильным) способом объявления переменной "i".
Ищи дальше.

TmYAG писал(а):
на протяжении всего цикла
Код:
Код:
i = <unavailable>
Это просто компилятор разместил твою "i" в регистрах - потому ее и не показывает. Не понимая всей глубины и высочайшего фильозофического смысла таинственного слова volatile, я, тем не менее, успешно использую его в подобных случаях, чтобы увидеть значение переменной во время дебажки. Объяви ее волатильной - и увидишь ее значения.
Но, повторяю, ошибка не в этой переменной. ИМХО, конечно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 17 окт 2013, 14:11 
Заглядывает иногда

Зарегистрирован: 10 авг 2013, 10:44
Сообщения: 50
Да согласен! И похоже программа зацикливается на этапе:
Код:
while (!(IFG2&UCA0TXIFG));
и из цикла не выходит. И снова неясно почему при проверке буфера отправки я ухожу в бесконечный цикл(((


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 17 окт 2013, 15:39 
Старожил
Аватара пользователя

Зарегистрирован: 23 окт 2012, 15:51
Сообщения: 462
TmYAG писал(а):
Да согласен! И похоже программа зацикливается на этапе:
Код:
while (!(IFG2&UCA0TXIFG));
и из цикла не выходит. И снова неясно почему при проверке буфера отправки я ухожу в бесконечный цикл(((

Потому-что флаг переданного байта не поднимается, данная строка будет зациклена пока флаг не поднимется. Может нужно разрешить этот флаг??? :)

1. Убедитесь в правильности настройки системы тактирования ( есть ли на MCLK 1MHz)

2.
Цитата:
IE2 |= UCA0RXIE; // Включаем UART обратно.
Данная запись разрешает прерывание по приему данных.

3.
Цитата:
UCA0BR0 = 0x03; // Делитель частоты для SMCLK (1000000 / 9600).
UCA0BR1 = 0x03;
Полная ерунда!!! 1000000/9600 = 104.16 = 0x68 ----> UCA0BR0 = 0x68; UCA0BR1 = 0x00;

C прерываниями будет более кошерно :)
Код:
__interrupt void usart1_tx (void)
{
  if(count0_tx1!=0)

        count0_tx1--;                                 //уменьшаем количество оставшихся передаваемых байтов
        TXBUF1= buffer_tx1[count1_tx1+1];
        count1_tx1++;                                //фиксируем количество переданных байтов (если надо)
     
}
  else
  {
   U1TXREADY = 1;                                  // флаг готовности передатчика если нужен (обнулять перед началом передачи)
  }
}


Что бы запустить передачу: вваливаем передаваемые данные в буфер buffer_tx1, в count0_tx1 вносим количество передаваемый байтов (если работать только с тестовыми данными - то можно переделать что-бы передавало пока count0_tx1[count1_tx1+1] !=0 ну или там CR LF отлавливать). Когда всё готово - передаем первый символ нашей передаваемой строки TXBUF1 = buffer_tx1[0] а всё остальное пройдет автоматически. Аx да... не забываем разрешить прерывание TX соответствующего модуля.

_________________
#define ? ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 17 окт 2013, 18:20 
Заглядывает иногда

Зарегистрирован: 10 авг 2013, 10:44
Сообщения: 50
Цитата:
1. Убедитесь в правильности настройки системы тактирования ( есть ли на MCLK 1MHz)

Это вот так?
Код:
BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;


Цитата:
Полная ерунда!!! 1000000/9600 = 104.16 = 0x68 ----> UCA0BR0 = 0x68; UCA0BR1 = 0x00;

Согласен.

Цитата:
Потому-что флаг переданного байта не поднимается, данная строка будет зациклена пока флаг не поднимется. Может нужно разрешить этот флаг??? :)

Разбирался по примерам, поэтому нельзя ли поподробнее про включение этого флага?

Цитата:
Данная запись разрешает прерывание по приему данных.

Коммент перескочил. Что касается прерываний, то я видел множество реализаций передачи по UART на прерываниях, но самостоятельно разобраться не могу
Я так понимаю, что если прерывания включены
Код:
IE2 |= UCA0RXIE;
то могу использовать эту функцию
Код:
__interrupt void usart1_tx (void)
{
  if(count0_tx1!=0)

        count0_tx1--;                                 //уменьшаем количество оставшихся передаваемых байтов
        TXBUF1= buffer_tx1[count1_tx1+1];
        count1_tx1++;                                //фиксируем количество переданных байтов (если надо)
     
}
  else
  {
   U1TXREADY = 1;                                  // флаг готовности передатчика если нужен (обнулять перед началом передачи)
  }
}
как передачу данных?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 17 окт 2013, 19:12 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3297
не надо прерываний и флагов, для начала добейтесь чтобы программа
void main(){
InitUART();
while (1) UCA0TXBUF = 'A';
}
работала, потом дальше будете разбираться.
а еще лучше для начала вообще светодиодом поморгать ну чтобы хоть что-то работало, а то вдруг там на плате джамперы не так стоят которые USCI к порту отладчика подключают (их поперёк установить надо, в зависимости от версии платы).


IE2 |= UCA0RXIE;
включает прерывание от приёмника. а у вас пока и передатчик не работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 17 окт 2013, 19:14 
Старожил
Аватара пользователя

Зарегистрирован: 23 окт 2012, 15:51
Сообщения: 462
Да можете... для удобства немножко допилить надо (вместо buffer_tx1 влепить указатель на начало вашей строки). Вам просто нужно вручную передать первый символ вашей строки (данные по указателю), далее по прерываниям функция будет инкрементировать адрес и отправить все остальные символы до конца вашей строки соответственно её длинны, которую вы получаете str.length(); или можно инкрементировать указатель и отправлять пока данные по указателю не равны 0x00, тогда длинну строки вам вычислять не нужно, но при формировании строки нужно организовать 0x00 в её конце.
Я просто этой функцией не строчки отправлял а данные и у меня там 0x00 не означал конец пакета данных...А длинну пакета я вычислял в процессе его формирования. Ну и не забудьте переконфигурировать мой пример под нужный вам UART.
Кстати, что за среда у вас?

2 _pv:
Цитата:
void main(){
InitUART();
while (1) UCA0TXBUF = 'A';
}

Ой херня походу получится без задержки...

_________________
#define ? ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 17 окт 2013, 19:44 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3297
будет непрерывно слаться байт 'A', это ничем не хуже чем "Hello world"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 17 окт 2013, 22:12 
Заглядывает иногда

Зарегистрирован: 10 авг 2013, 10:44
Сообщения: 50
_pv писал(а):
а еще лучше для начала вообще светодиодом поморгать ну чтобы хоть что-то работало
моргал конечно!)
а вот 'A' не хочет идти. Вообще ни один из примеров с UART с сайта ti работать не желает. Джамперы переключал с SW uart на HW толку ноль.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 17 окт 2013, 23:41 
Старожил
Аватара пользователя

Зарегистрирован: 23 окт 2012, 15:51
Сообщения: 462
_pv писал(а):
будет непрерывно слаться байт 'A', это ничем не хуже чем "Hello world"


Спорить не буду. Но не знаю как поведет себя передатчик (сдвиговый регистр) если записать данные в TXBUF если ещё не передались старые.
В даташите так написано:

A transmission is initiated by writing data to UCAxTXBUF. When this occurs, the baud rate generator is enabled and the data in UCAxTXBUF is moved to the transmit shift register on the next BITCLK after the transmit shift register is empty. UCAxTXIFG is set when new data can be written into UCAxTXBUF. Transmission continues as long as new data is available in UCAxTXBUF at the end of the previous byte transmission. If new data is not in UCAxTXBUF when the previous byte has transmitted, the transmitter returns to its idle state and the baud rate generator is turned off.


Не получится ли ситуация, что новый записанный байт начнет передаваться, а передача старого оборвется ?

_________________
#define ? ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 18 окт 2013, 02:12 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3297
hash писал(а):
Не получится ли ситуация, что новый записанный байт начнет передаваться, а передача старого оборвется ?

после того как данные оказались в сдвиговом регистре остановить его можно только ресетом usci, что там сколько раз будет записано в буфер TXBUF, ему всё равно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 18 окт 2013, 09:01 
Заглядывает иногда

Зарегистрирован: 10 авг 2013, 10:44
Сообщения: 50
Никак не пойму в чем проблема. Какой бы пример с UART я не взял (даже из примеров от TI) ни один не заводится. Загружается, компилируется, но не выводится в терминал ни символа. Прилагаю логи загрузки, может по ним можно, что либо диагностировать.
Цитата:
Thu Oct 17, 2013 22:19:04: Using license: Evaluation license - IAR Embedded Workbench for Texas Instruments MSP430, Evaluation Version 5.60
Thu Oct 17, 2013 22:19:04: Firmware version 30394216
Thu Oct 17, 2013 22:19:04: Interface dll version 2.4.9.1
Thu Oct 17, 2013 22:19:04: Device : MSP430G2xx3
Thu Oct 17, 2013 22:19:04: External voltage : 0.0 V
Thu Oct 17, 2013 22:19:04: VCC voltage : 3.5 V
Thu Oct 17, 2013 22:19:04: Invalid parameter(s) : (Configure) , mode=0x12, value=0x1
Thu Oct 17, 2013 22:19:04: Invalid parameter(s) : (Configure) , mode=0x12, value=0x0
Thu Oct 17, 2013 22:19:04: Warning: Failed to use emulated breakpoints
Thu Oct 17, 2013 22:19:05: Download complete.
Thu Oct 17, 2013 22:19:05: Loaded debugee: D:\workspace\1\Debug\Exe\12.d43
Thu Oct 17, 2013 22:19:05: Target reset


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 18 окт 2013, 11:49 
Заглядывает иногда

Зарегистрирован: 05 апр 2011, 21:18
Сообщения: 190
Мост USB to UART на Launchpade бывает дурит, заметил на версии 1.5, на 1.4 проблем не было ни разу. Заключается в том что терминал открывает порт, а приема немать. Причем зависимости когда работает когда нет не выявил. Но факты имели место быть. По этому по пробуйте подключить внешний преобразователь USB to UART or UART to COM. Перемычки только с launchpad снимите.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 18 окт 2013, 12:37 
Здравствуйте!

Зарегистрирован: 18 окт 2013, 11:52
Сообщения: 1
_guardianangel писал(а):
Мост USB to UART на Launchpade бывает дурит, заметил на версии 1.5, на 1.4 проблем не было ни разу. Заключается в том что терминал открывает порт, а приема немать. Причем зависимости когда работает когда нет не выявил. Но факты имели место быть. По этому по пробуйте подключить внешний преобразователь USB to UART or UART to COM. Перемычки только с launchpad снимите.


Поддерживаю. Попробуй воткнуть в порт USB2.0, а для того чтобы понять, что не работает, программа в МК или мост,
посмотри http://easyelectronics.ru/avr-uchebnyj- ... -uart.html с места "Бег по граблям".
У меня не работал мост, пока не врубил в порт USB2.0.
Для проверки снимаешь 2 джампера, которыми выбирается програмный или аппаратный UART соединяшь по диагонали TX - RX, которые идут к мосту, а не к МК, снизу на плате можно по дорожкам посмотреть, а потом жмешь в терминальной програмке кнопку - должен этот же символ и вернуться.
Вечерком с домашнего компа опробованный пример кода могу сбросить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 18 окт 2013, 13:30 
Заглядывает иногда

Зарегистрирован: 10 авг 2013, 10:44
Сообщения: 50
В причинах разобрался. Джамперы HW SW UART переткнул но надо еще J3 разомкнуть. А вот с тем, что периодически созданный порт пропадает, тоже заметил. ЛанчПад воткнут в usb 3.0. В 2.0 втыкал порт не детектится в терминале.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 19 окт 2013, 00:46 
Заглядывает иногда

Зарегистрирован: 10 авг 2013, 10:44
Сообщения: 50
Цитата:
Код:
__interrupt void usart1_tx (void)
{
  if(count0_tx1!=0)

        count0_tx1--;                                 //уменьшаем количество оставшихся передаваемых байтов
        TXBUF1= buffer_tx1[count1_tx1+1];
        count1_tx1++;                                //фиксируем количество переданных байтов (если надо)
     
}
  else
  {
   U1TXREADY = 1;                                  // флаг готовности передатчика если нужен (обнулять перед началом передачи)
  }
}


то есть если мне надо некое значение хранящееся в переменной переслать (тип int или float)? я должен объявить указатель int *t
а затем
Код:
__interrupt void usart1_tx (void)
{
count = sizeof t;
if (count != 0)
{
    count--;
    UCA0TXBUF = t[count + 1];
}
}
допустим у меня как в исходной задаче в переменной t хранится значение температуры, полученное с датчика с помощью int tempOUT() функции. Как в этом случае быть?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 19 окт 2013, 02:37 
Старожил
Аватара пользователя

Зарегистрирован: 26 сен 2012, 16:33
Сообщения: 609
Откуда: Челябинск
TmYAG писал(а):
Цитата:
Код:
__interrupt void usart1_tx (void)
{
  if(count0_tx1!=0)

        count0_tx1--;                                 //уменьшаем количество оставшихся передаваемых байтов
        TXBUF1= buffer_tx1[count1_tx1+1];
        count1_tx1++;                                //фиксируем количество переданных байтов (если надо)
     
}
  else
  {
   U1TXREADY = 1;                                  // флаг готовности передатчика если нужен (обнулять перед началом передачи)
  }
}


то есть если мне надо некое значение хранящееся в переменной переслать (тип int или float)? я должен объявить указатель int *t
а затем
Код:
__interrupt void usart1_tx (void)
{
count = sizeof t;
if (count != 0)
{
    count--;
    UCA0TXBUF = t[count + 1];
}
}
допустим у меня как в исходной задаче в переменной t хранится значение температуры, полученное с датчика с помощью int tempOUT() функции. Как в этом случае быть?


В функцию можно передать указатель на переменную, а можно просто ее значение. А уж как вы его передавать будете (порядок байт), это вам виднее :)
Просто указатель обычно для массивов данных используют. Прочтите просто что-нибудь из классиков по языку С, многое станет яснее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 19 окт 2013, 11:28 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3297
http://www.msp430launchpad.com/2012/06/ ... rintf.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430 LaunchPad.UART. Подскажите новичку.
СообщениеДобавлено: 19 окт 2013, 11:56 
Заглядывает иногда

Зарегистрирован: 10 авг 2013, 10:44
Сообщения: 50
Цитата:
В функцию можно передать указатель на переменную, а можно просто ее значение. А уж как вы его передавать будете (порядок байт), это вам виднее :)
Просто указатель обычно для массивов данных используют. Прочтите просто что-нибудь из классиков по языку С, многое станет яснее.

Это как раз ясно. Просто я не могу понять одну вещь. Вот у нас была переменная типа int. нам надо передать ее побайтово. Для этого как-то надо представить ее в виде массива. Вот мне это и не понятно было каким образом интовую переменную заслать. Указатель нужен чтобы передать в функцию массив.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB