Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь.

 
Опции темы
Непрочитано 14.11.2008, 12:46  
ArgusB
Временная регистрация
 
Регистрация: 15.06.2008
Сообщений: 57
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 8 сообщении(ях)
ArgusB на пути к лучшему
По умолчанию

Сообщение от Alexandr_Il
Пытаюсь понять пару вещей.
Инициализировал - это В КАКОМ СМЫСЛЕ? Результатом процесса инициализации должно быть: Конфигурация в регистрах мс, со включёнными цепями приёма, либо передачи, и выбранным режимом обработки - то есть, будет ли сигнал обрабатываться самим чипом, или, может, вся принятая фигня будет высыпаться наружу "как есть", включено ли фифо, какой частотный диапазон используется и тд. Таким образом, инициализированный чип уже готов к приёму или передаче, в зависимости от того, какой конфиг в него залили.
Для того, чтобы начать передачу, надо поместить данные в регистр передатчика. Для этого обычным способом, притягивая cs, отправляется 16-ти битная посылка, первые 8бит - адрес регистра, следующие 8 - первый байт данных. Что там должно быть?
Правильно, начало преамбулы.
Далее, появляется выбор - каким образом передать второй и все последующие байты. Можно стандартным способом - точно так же, как и первый байт, манипулируя сигналом cs.
А можно - альтернативным, который и процитирован.
Реклама:
ArgusB вне форума  
Непрочитано 14.11.2008, 13:31  
Alexandr_Il
Частый гость
 
Регистрация: 09.11.2008
Сообщений: 19
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Alexandr_Il на пути к лучшему
По умолчанию

Сообщение от ArgusB

Для того, чтобы начать передачу, надо поместить данные в регистр передатчика. Для этого обычным способом, притягивая cs, отправляется 16-ти битная посылка, первые 8бит - адрес регистра, следующие 8 - первый байт данных.
аа.. дошло.
Alexandr_Il вне форума  
Непрочитано 16.11.2008, 01:33  
Alexandr_Il
Частый гость
 
Регистрация: 09.11.2008
Сообщений: 19
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Alexandr_Il на пути к лучшему
По умолчанию

Чего-то не получается..


Пытаюсь передать пару байт, но программа зацикливается на ожидании, когда SDO будет равен 1, чтобы отправить следующий байт.
Вот код:
зацикливается на последнем цикле..
Чего не так?
Код:
удалил..
Alexandr_Il вне форума  
Непрочитано 16.11.2008, 18:00  
DenisPic
Прохожий
 
Регистрация: 20.08.2006
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
DenisPic на пути к лучшему
По умолчанию

Приветствую Всех!
Тоже очень интересует данная тема. Давно еще купил в тритоне 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;
}
DenisPic вне форума  
Непрочитано 16.11.2008, 22:27  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от 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 одинаковых бит...
kison вне форума  
Непрочитано 16.11.2008, 22:46  
DenisPic
Прохожий
 
Регистрация: 20.08.2006
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
DenisPic на пути к лучшему
По умолчанию

Сообщение от kison
Сообщение от DenisPic
Переменную результата сдвигаете Вы правильно. А вот о "data‹‹1;" этого не скажешь. Может добавить значек "="? Иначе отправляется 8 одинаковых бит...
Да Kison, спасибо, Вы правы, ошибка. Исправил, но в ответ приходят попрежнему нули
DenisPic вне форума  
Непрочитано 18.11.2008, 09:04  
fawkes
Частый гость
 
Регистрация: 05.04.2008
Сообщений: 20
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
fawkes на пути к лучшему
По умолчанию

DenisPic
сколько ни читал статус регистр, столько раз получал нули. после плюнул на это, слежу за прерываниями фифы.
Кстати, по моему статус регистр надо читать только в случае, когда тритон дернул лапой nIRQ, если я правильно помню логику его работы.
Хотя сейчас я и на фифу положил, читаю по последовательной шине.
fawkes вне форума  
Непрочитано 18.11.2008, 21:41  
DenisPic
Прохожий
 
Регистрация: 20.08.2006
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
DenisPic на пути к лучшему
По умолчанию

Сообщение от fawkes
DenisPic
сколько ни читал статус регистр, столько раз получал нули. после плюнул на это, слежу за прерываниями фифы.
Кстати, по моему статус регистр надо читать только в случае, когда тритон дернул лапой nIRQ, если я правильно помню логику его работы.
Хотя сейчас я и на фифу положил, читаю по последовательной шине.
Понятненько. Fawkes, а есть какая-нить комманда на которую TRC отвечает что то конкретное - ну просто чтоб убедится в работоспособности модуля и софтовой части?
DenisPic вне форума  
Непрочитано 19.11.2008, 08:46  
fawkes
Частый гость
 
Регистрация: 05.04.2008
Сообщений: 20
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
fawkes на пути к лучшему
По умолчанию

DenisPic
если честно, то не встречал, а проверял софтовую часть передачей команды отключения и включения генерации на лапе тритона (там 2х мгц выход на 9й по моему) и смотрел осциллографом.
fawkes вне форума  
Непрочитано 19.11.2008, 11:11  
DenisPic
Прохожий
 
Регистрация: 20.08.2006
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
DenisPic на пути к лучшему
По умолчанию

Сообщение от fawkes
DenisPic
если честно, то не встречал, а проверял софтовую часть передачей команды отключения и включения генерации на лапе тритона (там 2х мгц выход на 9й по моему) и смотрел осциллографом.
Ок, спасибо. Буду щупать, тока наверно не на 9-ой, а на 8-ой (CLKOUT).
Посже отпишусь.
DenisPic вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Однокристальные трансиверы CC2500 (СС1100) kassiopay Микроконтроллеры, АЦП, память и т.д 2 07.06.2009 19:08


Часовой пояс GMT +4, время: 20:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot