INT 21h

Домашняя страница самого страшного прерывания

Трансиверы TR24A, TR24P и TR24F

№ 3760 В разделах: Программирование Электроника от October 27th, 2011,

Тема эта наболевшая для многих, поэтому выкладываю вообще все, что я смог накопать на TR24A, TR24P и TR24F. Будьте внимательны, A и F на разных чипах!

TR24A, TR24P:

TR24F:

Если у вас еще что-то есть (например, документация или код, которым не жалко поделиться), то присылайте мне в почту.

3 комментариев »

3 комментариев »

Comment by Boris | November 3, 2011 @ 16:01:00

Посмотри здесь http://klim.in.ua/wp/
я использую код с этого сайта для своего проекта.

Comment by 21h | November 7, 2011 @ 11:14:50

по TR24F найти бы побольше. он практически нигде не освещен.

Comment by chubik | March 1, 2012 @ 19:19:12

Здравствуйте! Пытаюсь связать два модуля TR24F – безрезультатно. Написал код(привожу ниже). По SPI регистры параметрируются, но как-то через раз, читаются отлично. Прерывание при отсылке на передатчике происходит, значит пакет с данными прошел, а вот на приемнике глухо. Регистры 0, 9-16 на стороне приемника и передатчика учтены и поставлены правильно. Помогите найти ошибку.
Пишу на CVAVR под Atmega8

Код:

Код:
#define RDY PORTC.4 //27 out
#define SCK PORTC.2 //25 out
#define DAT PORTC.0 // 23 in/out
#define INDAT PINC.0// 23
#define DAT_DDR DDRC.0 // 23
#define EN PORTC.5 //28 out
#define PSB PORTD.1 //3 out
#define INT PIND.2 // 4 in
//#define DRSSI PIND.6

flash unsigned char regs[25]={
0xA8,// 0x28 T/R Channel index
0x03,// Crystal Frequency and RF Power
0x78,// Data Function Control
0x87,// RSSI Function Control
0x20,// RSSI Value
0x0F,// Data format control
0x30,// Multi Burst Packet Repeat Control
0x21,// Power Ramp Control
0x03,// Addres Length
0x02,// Destination Addres 0x34
0x02,// Destination Addres 0x22
0x02,// Destination Addres 0x55
0x00,// Destination Addres
0x00,// Destination Addres
0x01,// Device Addres
0x01,// Device Addres
0x01,// Device Addres
0x00,// Device Addres
0x00,// Device Addres
0x00,// Reserved
0x00,// PLL Pre-Turn-On Time
0xB4,// PLL Lock Time
0x00,// Reserved
0x22,// Option
0x04 // RX Turn On Time
} ;

void spi_access_mode(void)
{
DAT=1;
PSB=1;
EN=1;
RDY=0;
SCK=0;
#asm(“nop”)
};

void active_mode(void)
{
DAT=1;
PSB=1;
EN=0;
SCK=0;
RDY=1;
#asm(“nop”)

};

// Output eight-bit value using selected bit-bang pins
void spi_bitbang_out(char value)
{
char x;
for(x=8;x>0;x–){
if(value & 0x80)DAT=1;
else DAT=0;
#asm(“nop”)
SCK=1;
value<0;y–){
SCK=1;
#asm(“nop”)
x<<=1;
if(INDAT==1){x|=0b00000001;}
SCK=0;
#asm("nop")

} // Store next bit
return(x);
}

void spi_write_regs(unsigned char addres,unsigned char data)
{
spi_access_mode();
DAT_DDR=1;
spi_bitbang_out(addres|0x80); // Send address
spi_bitbang_out(data); // Send data
EN=0;
} ;

unsigned char spi_read_reg(unsigned char addres)
{ unsigned char data;
spi_access_mode();
DAT_DDR=1;
spi_bitbang_out(addres); // Send address
DAT_DDR=0;
data=spi_bitbang_in(); //read data
EN=0;
return(data);
};

void tr24f_init(void)
{unsigned char y;
for(y=0;y0;y–)
data[y]=spi_bitbang_in();
return(data);
};

void fifo_write(unsigned char *data,unsigned char data_length)
{
unsigned char y;
active_mode();
DAT_DDR=1;
delay_us(20);
spi_bitbang_out(regs[0x09]);
spi_bitbang_out(regs[0x0A]);
spi_bitbang_out(regs[0x0B]);
for(y=data_length;y>0;y–)
spi_bitbang_out(data[y]);
spi_bitbang_out(1);
spi_bitbang_out(1);
spi_bitbang_out(1);
RDY=0;
};

Форма отправки комментария

*

Разрешенные HTML-теги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

RSS RSS Feed только для этого поста |


Комментарии
  • 21h: нене ) без меня )
  • Серегй: Не совсем грабить)) если грабить можно и без рации, есть более благие цели, вы просто ответьте на мой вопрос,...
  • 21h: магазин грабить собрались? ) не, тут я не помощник ;)
  • Серегй: А что бы мне поймать чужую волну, что мне для этого нужно сделать? Допустим я купил данную рацию себе, мне...
  • 21h: слушать никто не запрещает. нет закона, который запрещает слушать. те, кто говорит иначе нагло врут. а если...
  • Серегй: Я хотел узнать могу ли я просто прийти с данной рацией baofeng uv-5r, допустим на объект, ну или вообще...
  • 21h: У меня есть только эти 2. По другим ничего не знаю. В интернете можно скачать инструкцию к вашей модели рации,...
  • Серегй: Добрый день! Хотелось бы задать пару вопросов по поводу раций, у Вас есть куда можно обратиться ТАТ.
  • 21h: потому, что нейросетью проще. яркость светофора меняется в зависимости от времени суток от маленькой красной...
  • Михаил: А зачем нейросеть? Почему цвет светофора определить без нейросетей?