Страница 1 из 1

FM модуль на RDA5807M

Добавлено: Пн июн 23, 2014 16:25:35
КАШАК
Доброго времени суток :)
Заказал в Китае FM модуль на RDA5807M. Подключил к МК, шлю команды, а с его стороны никакой реакции. Для начала пытаюсь просто отключить функцию MUTE и услышать на выходе шум. Но почему-то на выходе тишина. Может кто-то работал с подобным модулем и может подсказать, что ему нужно отправлять?

P.S.
После пары подключений заметил, что КЗ на входе антенны и линии SCLK на массу. КЗ убрал, но работать он все равно не начал.

Re: FM модуль на RDA5807M

Добавлено: Пн июн 23, 2014 18:08:26
dosikus
КАШАК писал(а): Для начала пытаюсь просто отключить функцию MUTE и услышать на выходе шум.
А включить его не пробовал ? :)))
Power Up Enable.
И тыкаться без ЛА еще тот геморрой, ACK видишь ?

Re: FM модуль на RDA5807M

Добавлено: Вт июн 24, 2014 22:20:04
КАШАК
Пока особо не было времени над ним издеваться. Ближе к выходным продолжу. Логический анализатор есть. Пробовал передать команды через TWI, а он вообще виснет. Брал самый простой пример:

Код: Выделить всё

uint8_t twi(uint8_t action){
    switch(action){
        case TWI_START: TWCR = _BV(TWSTA) | _BV(TWEN) | _BV(TWINT); break;
        case TWI_RESTART:
            TWCR = _BV(TWSTA) | _BV(TWEN) | _BV(TWINT);// Если нужно прерывание | _BV(TWIE);
            break;
        case TWI_STOP:
            TWCR = _BV(TWSTO) | _BV(TWEN) | _BV(TWINT);// | _BV(TWIE);
            break;
        case TWI_TRANSMIT:
            TWCR = _BV(TWEN) | _BV(TWINT);// | _BV(TWIE);
            break;
        case TWI_RECEIVE_ACK:
            TWCR = _BV(TWEN) | _BV(TWINT) | _BV(TWEA);//| _BV(TWIE);
            break;
        case TWI_RECEIVE_NACK:
            TWCR = _BV(TWEN) | _BV(TWINT);// | _BV(TWIE);
            break;
        }
    if(action != TWI_STOP)while (!(TWCR & _BV(TWINT)));
    return (TWSR & 0xF8);
}
При подключенном модуле отправка любой команды приводит к зависанию МК, не выполняется условие в цикле.