Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь. |
14.11.2008, 12:46
|
|
Временная регистрация
Регистрация: 15.06.2008
Сообщений: 57
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 8 сообщении(ях)
|
Сообщение от Alexandr_Il
|
Пытаюсь понять пару вещей.
|
Инициализировал - это В КАКОМ СМЫСЛЕ? Результатом процесса инициализации должно быть: Конфигурация в регистрах мс, со включёнными цепями приёма, либо передачи, и выбранным режимом обработки - то есть, будет ли сигнал обрабатываться самим чипом, или, может, вся принятая фигня будет высыпаться наружу "как есть", включено ли фифо, какой частотный диапазон используется и тд. Таким образом, инициализированный чип уже готов к приёму или передаче, в зависимости от того, какой конфиг в него залили.
Для того, чтобы начать передачу, надо поместить данные в регистр передатчика. Для этого обычным способом, притягивая cs, отправляется 16-ти битная посылка, первые 8бит - адрес регистра, следующие 8 - первый байт данных. Что там должно быть?
Правильно, начало преамбулы.
Далее, появляется выбор - каким образом передать второй и все последующие байты. Можно стандартным способом - точно так же, как и первый байт, манипулируя сигналом cs.
А можно - альтернативным, который и процитирован.
|
|
|
|
14.11.2008, 13:31
|
|
Частый гость
Регистрация: 09.11.2008
Сообщений: 19
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от ArgusB
|
Для того, чтобы начать передачу, надо поместить данные в регистр передатчика. Для этого обычным способом, притягивая cs, отправляется 16-ти битная посылка, первые 8бит - адрес регистра, следующие 8 - первый байт данных.
|
аа.. дошло.
|
|
|
|
16.11.2008, 01:33
|
|
Частый гость
Регистрация: 09.11.2008
Сообщений: 19
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Чего-то не получается..
Пытаюсь передать пару байт, но программа зацикливается на ожидании, когда SDO будет равен 1, чтобы отправить следующий байт.
Вот код:
зацикливается на последнем цикле..
Чего не так?
|
|
|
|
16.11.2008, 18:00
|
|
Прохожий
Регистрация: 20.08.2006
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Приветствую Всех!
Тоже очень интересует данная тема. Давно еще купил в тритоне 3 модуля RM101, RD101 и RC101. Но вот проблемка с RM101. модуль RD101 прошился нормально в качестве мониторинга и общается с терминалкой. Тока вот RM101 не могу запустить. Речь об отправке/приеме пока не виду, т.к. не могу даже прочитать с TRC101(RM101) статус.
Дайте совет читаю статус перед записью конфигов.
SPI софтовый, PIC18F452
Вот функция приема/передачи байта по спи
Код:
|
unsigned char TRC_SendByte(unsigned char data)
{
unsigned char i, out;
out = 0;
for(i = 1; i ‹= 8; i++)
{
if(data & 0b10000000) SDI = 1;
else SDI = 0;
out‹‹=1;
SCLK = 1;
if(SDO) out|=0b00000001;
SCLK = 0;
data‹‹1;
}
return (out);
} |
а вот так читаю статус из TRC'ки
Код:
|
unsigned short TRC_ReadConfig()
{
unsigned char h,l;
CS = 0;
h = TRC_SendByte(0x00);
l = TRC_SendByte(0x00);
CS = 1;
return ((unsigned short)h ‹‹ 8) | l;
} |
|
|
|
|
16.11.2008, 22:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Сообщение от DenisPic
|
Вот функция приема/передачи байта по спи
Код:
|
unsigned char TRC_SendByte(unsigned char data)
{
unsigned char i, out;
out = 0;
for(i = 1; i ‹= 8; i++)
{
if(data & 0b10000000) SDI = 1;
else SDI = 0;
out‹‹=1;
SCLK = 1;
if(SDO) out|=0b00000001;
SCLK = 0;
data‹‹1;
}
return (out);
} |
|
Переменную результата сдвигаете Вы правильно. А вот о "data‹‹1;" этого не скажешь. Может добавить значек "="? Иначе отправляется 8 одинаковых бит...
|
|
|
|
16.11.2008, 22:46
|
|
Прохожий
Регистрация: 20.08.2006
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от kison
|
Переменную результата сдвигаете Вы правильно. А вот о "data‹‹1;" этого не скажешь. Может добавить значек "="? Иначе отправляется 8 одинаковых бит...
|
Да Kison, спасибо, Вы правы, ошибка. Исправил, но в ответ приходят попрежнему нули
|
|
|
|
18.11.2008, 09:04
|
|
Частый гость
Регистрация: 05.04.2008
Сообщений: 20
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
DenisPic
сколько ни читал статус регистр, столько раз получал нули. после плюнул на это, слежу за прерываниями фифы.
Кстати, по моему статус регистр надо читать только в случае, когда тритон дернул лапой nIRQ, если я правильно помню логику его работы.
Хотя сейчас я и на фифу положил, читаю по последовательной шине.
|
|
|
|
18.11.2008, 21:41
|
|
Прохожий
Регистрация: 20.08.2006
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от fawkes
|
DenisPic
сколько ни читал статус регистр, столько раз получал нули. после плюнул на это, слежу за прерываниями фифы.
Кстати, по моему статус регистр надо читать только в случае, когда тритон дернул лапой nIRQ, если я правильно помню логику его работы.
Хотя сейчас я и на фифу положил, читаю по последовательной шине.
|
Понятненько. Fawkes, а есть какая-нить комманда на которую TRC отвечает что то конкретное - ну просто чтоб убедится в работоспособности модуля и софтовой части?
|
|
|
|
19.11.2008, 08:46
|
|
Частый гость
Регистрация: 05.04.2008
Сообщений: 20
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
DenisPic
если честно, то не встречал, а проверял софтовую часть передачей команды отключения и включения генерации на лапе тритона (там 2х мгц выход на 9й по моему) и смотрел осциллографом.
|
|
|
|
19.11.2008, 11:11
|
|
Прохожий
Регистрация: 20.08.2006
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от fawkes
|
DenisPic
если честно, то не встречал, а проверял софтовую часть передачей команды отключения и включения генерации на лапе тритона (там 2х мгц выход на 9й по моему) и смотрел осциллографом.
|
Ок, спасибо. Буду щупать, тока наверно не на 9-ой, а на 8-ой (CLKOUT).
Посже отпишусь.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:19.
|
|