Здравствуйте!
Третьи сутки не могу решить проблему... В очередной раз пересмотрел всю найденную документацию, исходники 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)); }; ...
Спасибо заранее!
|