蛇形机器人说明书(8)

2019-06-11 00:26

}

/*************************************************** name: rf_entry_rx input: none output: none

Describe: RF进入RX模式 Notice:

creat date: 2008-7-20 creator:

***************************************************/ void A7105_entry_rx(void) {

A7105_write_command(RF_CMD_RX); RF_TX_PA_OFF();

}

/*************************************************** FileName: rf_entry_tx input: none output: none

Describe: RF进入发射模式 Notice:

在进入发射状态时要改变载波频率

creat date: 2008-7-20 creator:

***************************************************/ void A7105_entry_tx(void)

{

A7105_write_command(RF_CMD_TX);

RF_TX_PA_ON();

}

/*************************************************** name: A7105_reset_chip input:

none

output: none

Describe: 软件复位A7105 Notice: creat date: 2009-5 creator:

***************************************************/ void A7105_reset_chip(void)

{

A7105_write_register(RF_REG_MODE,0x00); }

/*************************************************** name: A7105_reset_RX_fifo input:

none

36

// A7105芯片Reset output: none Describe: reset RX fifo Notice:

creat date: 2008-7-20 creator:

***************************************************/ void A7105_reset_RX_fifo(void) {

A7105_write_command(RF_CMD_RX_FIFO_RESET); }

/*************************************************** FileName: A7105_reset_TX_fifo input: output:

none none

Describe: reset TX fifo Notice: creat date: 2009-5 creator:

***************************************************/ void A7105_reset_TX_fifo(void) {

A7105_write_command(RF_CMD_TX_FIFO_RESET); }

/*************************************************** name: write_register input: 1.bits 写入寄存器的bit数 2.value 写寄存器的值 output: none

Describe: 写数据到RF内部的寄存器 Notice:

creat date: 2009-5 creator:

***************************************************/ void write_register(U8 bits,U8 value) {

U8 i = 0;

for(i=0; i

if(value & 0x80) {

RF_SDIO_HIGH(); } else

{

RF_SDIO_LOW();

37

}

RF_SCK_HIGH(); value <<= 0x01; RF_SCK_LOW(); }

}

/*************************************************** name: input:

read_register none

output: ret_byte

Describe: 读取RF寄存器的值

Notice: 1.在调用该函数时一定要先将MCU与SDIO相连的pin设置为输入

2.在调用该函数前一定要先写入需要读的寄存器地址 2009-5

creat date:

creator:

***************************************************/ U8 read_register(void) {

U8 i = 0;

U8 ret_byte = 0; RF_SDIO_INPUT(); for(i=0; i<0x08; i++) {

ret_byte <<= 0x01; if(GET_RF_SDIO()) {

ret_byte |= 0x01; }

RF_SCK_HIGH(); RF_SCK_LOW(); }

return ret_byte;

}

/*************************************************** name: input:

A7105_write_command

command: 写入到RF的命令

output: none Describe: 写命令到RF Notice:

creat date: 2009-5 creator:

***************************************************/ void A7105_write_command(U8 command) {

RF_SCS_LOW();

38

write_register(0x04, command); RF_SCS_HIGH(); }

/*************************************************** name: A7105_write_register input: 1. address 写寄存器的地址 2. value 写寄存器的值 output: none

Describe: 写数据到RF寄存器 Notice:

creat date: 2009-5 creator:

***************************************************/ void A7105_write_register(U8 address,U8 value)

{

RF_SCS_LOW(); address &= 0x7f; // write data register write_register(0x08,address); // write address write_register(0x08,value);

// write data

RF_SCS_HIGH(); }

/*************************************************** name: A7105_read_register input: address 写入要读寄存器的地址 output: temp

Describe: 从RF寄存器读数据 Notice: creat date:

2009-5

creator:

***************************************************/ U8 A7105_read_register(U8 address) {

U8 temp = 0;

RF_SCS_LOW(); address &= 0x7f; address |= 0x40;

write_register(0x08,address); // RF_SDIO_INPUT(); temp = read_register();

RF_SCS_HIGH(); return temp; }

/*************************************************** name: input:

A7105_write_ID none

39

output: none Describe: 写入ID Notice:

creat date: 2009-5 creator:

***************************************************/ void A7105_write_ID(void) {

RF_SCS_LOW();

write_register(0x08,RF_REG_ID_DATA); write_register(0x08,RF_ID_CODE0); write_register(0x08,RF_ID_CODE1); write_register(0x08,RF_ID_CODE2); write_register(0x08,RF_ID_CODE3);

RF_SCS_HIGH(); }

/*************************************************** name: A7105_read_ID input:

none

output: none

Describe: 从RF中读ID Notice: creat date:

2009-5

// write address // 写ID code

creator:

***************************************************/ void A7105_read_ID(U8 *read_ptr) {

U8 id_buff[4] = {0};

RF_SCS_LOW();

write_register(0x08,(RF_REG_ID_DATA | 0x40)); // 先写入要读的寄存器地址 RF_SDIO_INPUT(); *read_ptr++ = read_register(); *read_ptr++ = read_register(); *read_ptr++ = read_register(); *read_ptr++ = read_register(); RF_SCS_HIGH(); }

/*************************************************** name: write_data_to_fifo input: send_cnt 写入的字节数 output: none

Describe: 写数据到FIFO中 Notice:

creat date: 2009-5 creator:

40


蛇形机器人说明书(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:民事诉讼法by江伟(高等教育出版社)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: