|
Дата: 10 Апр 2007 20:05:48
#
Здравствуйте!
Третьи сутки не могу решить проблему...
В очередной раз пересмотрел всю найденную документацию, исходники XEMICS'ие, в и-нете не нашёл ничего и так и не смог запустить FEI в своём трансивере
Отсюда вопросы.
1. Работает ли FEI при использовании кодека Баркера?
2. Что должен передавать передатчик, в то время, когда приёмник читает регистры FEI? Абсолютно всё равно?
3. Принцип работы блока FEI?
4. Что конкретно находится в регистрах FEI?
5. Что ещё влияет на работу FEI кроме бита, разрешающего его работу?
6. Порядок чтения регистров FEI (в исходниках XEMICS: младший, старший). Нужна ли ещё какая-нибудь синхронизация при чтении регистров?
Я поступаю просто.
Есть передатчик, который что-то передаёт (пробовал разные комбинации передаваемой информации).
Есть приёмник, который это принимает. Время опроса регистров FEI существенно меньше времени передачи информации передатчиком. В приёмнике FEI включено (изначально, после включения питания), осуществляется чтёние регистров FEI (сначала младшего, потом старшего) 30 раз и передача этих значений по последовательному порту в ПК с последующим их отображением. Получаю сильный разброс значений. При каждой передаче ряд значений изменяется, но, конечно, есть повторяющиеся числа. Почему?!
Ничего не понимаю, помогите, пожалуйста!
Вот этот адский ряд:
15
-31
-31
-31
-31
-31
-2
22
22
22
23
23
-29
-29
8
22
22
4
-23
-23
23
23
-29
-31
-31
-31
-13
-13
22
22
...
for (i = 0; i <= 29; i++)
{
FEI = DP1203_Read_Reg(REG_DATAOUT2);
FEI = FEI | (DP1203_Read_Reg(REG_DATAOUT1) << 8);
if (FEI & 0x0800) {FEI |= 0xF000;}
else {FEI &= 0x0FFF;};
USART_Send_Byte((unsigned char) FEI);
USART_Send_Byte((unsigned char) (FEI >> 8));
};
...
Спасибо заранее!
|