搜索
bottom↓
回复: 83

发帖庆贺,ATMEGA16控制nrf905短距离无线通信基本成功(附源代码)

[复制链接]

出0入0汤圆

发表于 2008-3-25 02:18:18 | 显示全部楼层 |阅读模式
发送端代码
点击此处下载ourdev_237989.zip(文件大小:11K)
接收端代码
点击此处下载ourdev_237990.zip(文件大小:11K)

感谢hotpower,我是参考了他的C++代码完成的。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2008-3-26 12:26:21 | 显示全部楼层
不好意思,有点忙。电路图其实在源代码中已经有了说明
// SPI pin
#define        PORT_SPI        PORTB
#define        DDR_SPI                DDRB

#define        MOSI                PB5
#define        MISO                PB6
#define        SCK                PB7
#define        SS                PB4

// nRF905 pin
#define        PORT_NRF905        PORTA
#define DDR_NRF905        DDRA
#define PIN_NRF905        PINA

#define TX_EN                PA0
#define        TRX_CE                PA1
#define        PWR_UP                PA2
#define        CD                PA3
#define        AM                PA4
#define        DR                PA

nRF905的使用只需要使用TRX_CE TX_EN PWR_UP CD AM DR等引脚与单片机IO连接即可。其中
TX_EN   输出    设置nRF905工作于发送或接收模式             1 发送  0 接收
TRX_CE  输出    设置nRF905工作于工作模式或standby模式      1 工作  0 standby
PWR_UP  输出    设置nRF905上电                             1 上电  0 Power down 模式

CD      输入    nRF905检测到载波拉高该引脚
AM      输入    nRF905检测到无线数据包与本机地址匹配,拉高该引脚
DR      输入    数据准备就绪,发送或接收数据包完毕拉高该引脚

出0入0汤圆

 楼主| 发表于 2008-3-26 12:29:38 | 显示全部楼层
上传nRF905数据手册
点击此处打开ourdev_239078.pdf(文件大小:431K)
头像被屏蔽

出0入0汤圆

发表于 2008-3-26 12:31:05 | 显示全部楼层
哈哈,谢谢共享!

COOL !

ifree64最近的精品贴子不少啊。赞一个。

出0入0汤圆

 楼主| 发表于 2008-3-26 13:09:07 | 显示全部楼层
过奖了,谢谢阿莫置酷。
哈哈,再接再厉

出0入0汤圆

发表于 2008-3-26 20:40:43 | 显示全部楼层
通信距离多远啊?

出0入0汤圆

发表于 2008-4-4 13:06:43 | 显示全部楼层
谢谢ifree64共享,自己的调不过,屡败屡战啊!

出0入0汤圆

发表于 2008-4-6 01:21:12 | 显示全部楼层
要试试nrf了

出0入0汤圆

发表于 2008-4-6 12:33:53 | 显示全部楼层
这东西不知道抗干扰如何?在变频器上应用不知是否可行?

出0入0汤圆

发表于 2008-4-6 12:36:27 | 显示全部楼层
在变频器上估计不行。

出0入0汤圆

发表于 2008-4-6 12:48:34 | 显示全部楼层
回楼上:我曾见过CC1100好像有类似的retry功能,可靠性要好一些。

出0入0汤圆

发表于 2008-4-6 15:21:09 | 显示全部楼层
比较感兴趣

出0入0汤圆

发表于 2008-4-6 15:23:51 | 显示全部楼层
记录!

出0入0汤圆

发表于 2008-4-20 22:10:36 | 显示全部楼层
我给同事家安了个用905做通信的遥控器,我在家测试的时候在附近10米转了几遍中间还隔2-3堵墙通信都是正常的,可装在同事家里不知道为什么距离短的很2室1厅的房子不到70平方中间隔一堵墙的时候就有很多死点,接收机是放在卧室里的,在卧室通信时还有个别死点。到客厅的沙发直线距离不到5米通信就很差了,站着的时候通信正常,坐下来就不行了根本通信不了,郁闷的很不知道是不是哪里有干扰还是小区的房子结构影响通信。最后说明下我家是在乡下不知道是不是城里无线电干扰很严重。
希望知道的大侠指点迷津

出0入0汤圆

发表于 2008-4-21 09:13:49 | 显示全部楼层
城里无线电干是一个方面,还有就是农村的房屋不是钢架结构,但是城区的是,所以有一定的屏蔽作用

出0入0汤圆

发表于 2008-4-21 17:54:52 | 显示全部楼层
即便如此也不至于这么严重吧,隔了一堵墙半径5米就有很多的死点,一定是哪里出问题了,可是我对无线电方面的知识认识不多,不知道问题在哪里?

出0入0汤圆

发表于 2008-5-24 09:46:00 | 显示全部楼层
麻烦帮我看看程序哪出问题了?是在楼主提供的程序基础上修改的。调试过程:发射端附一个确定字符串“a”,接受端用LCM1602液晶屏显示接受到的数据。可是通信一直没有实现。补充:我用的是MEGA128+PTR905.已在nRF905.h中改了端口
源程序如下:
发射端程序
#include <iom128v.h>
#include "nRF905_Config.h"
#include "nRF905.h"
#include <macros.h>

unsigned char ReceiveBuffer[BUF_SIZE];                        // RF接收缓冲区
unsigned char SendBuffer[BUF_SIZE];                        // RF发送缓冲区
unsigned char ReceiveCount;                                // RF接收缓冲区接收个数
unsigned char SendCount;                                // RF发送缓冲区发送个数

#define xtal 7.3728                                
//晶振调整 MHz
void _delay_ms(unsigned int ms)                        //毫秒级延时,当改晶振为几M则xtal设为几
{
unsigned int i;
while(ms--)   
   {
     for(i=1;i<(unsigned int)(xtal*143-2);i++);                  
   }
}

void SPI_Init(void)
{
PORT_SPI |= (1<<MOSI)|(1<<MISO)|(1<<SCK)|(1<<SS);  // 设置MOSI和SCK、SS为输出,其他为输入
DDR_SPI  |= (1<<MOSI)|(1<<SCK)|(1<<SS);
SPCR   = (1<<SPE)|(1<<MSTR)|(0<<CPOL)|(0<<SPR0);   // 主机模式,fck/16, SPI方式0
}

unsigned char SPI_ReadWrite(unsigned char cData)
{
        SPDR = cData;
        while(!(SPSR & (1<<SPIF) ));                // 等待SPI发送完毕               
        return SPDR;
}

void nRF905_Init(unsigned long nRF_rxaddr)
{
        unsigned char i;
        DDR_NRF905 |= ((1<<TX_EN)|(1<<TRX_CE)|(1<<PWR_UP)|(0<<DR)|(0<<AM)|(0<<CD));
        PORT_NRF905 |= ((0<<TX_EN)|(0<<TRX_CE)|(1<<PWR_UP)|(1<<DR)|(1<<AM)|(1<<CD));

        nRF905_SetConfig(nRF_rxaddr);                                // 初始化nRF905,并设置接收地址
        nRF905_SetReceiveMode();                                 // 设置为接收模式

        /* 发送缓冲区清零 */
        for(i = 0; i < BUF_SIZE; ++i)
        {SendBuffer = 0;}
}

unsigned char nRF905_ReadStatus(void)
{
        unsigned char val;
        CLR_SS();                                        // 打开SPI
        val = SPI_ReadWrite(RC);                        // 读状态
        SET_SS();                                        // 关闭SPI
        return val;
}

void nRF905_SetSendMode(void)
{
        _delay_ms(1);
        SET_TX_EN();                                        // 设置为发送模式
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        _delay_ms(1);
        CLR_TRX_CE();                                        // 待机PORTD &= ~(1<<TRX_CE);
        _delay_ms(1);
}

void nRF905_SetReceiveMode(void)
{
        asm("nop");
        asm("nop");
        asm("nop");
        CLR_TX_EN();                                        // 设置为接收模式
        asm("nop");
        _delay_ms(1);
        SET_TRX_CE();                                        // 使能接收
        asm("nop");
        asm("nop");
        asm("nop");
        _delay_ms(1);

}

void nRF905_SendStart(void)
{
        SET_TRX_CE();                                        // 开始发送
        _delay_ms(10);                                       
        while(DR!=1);
        CLR_TRX_CE();                                        // 待机模式
}

void nRF905_SetConfig(unsigned long nRFAddr)                //配置nRF905
{
        CLR_TRX_CE();                                        //设置nRF905为待机方式
        asm("nop");

        CLR_SS();                                        //打开SPI
        // 配置字总共10个字节
        SPI_ReadWrite(WC);                                // Write config command
        SPI_ReadWrite(CH_NO_BYTE);                       // 中心频率低8位
        SPI_ReadWrite(PA_PWR_10dBm | HFREQ_PLL_433MHz);         // 发射+10dBm,发射频率433MHz,中心频率第9位=0
        SPI_ReadWrite(TX_AFW_4BYTE | RX_AFW_4BYTE);             // 接收地址宽度4字节,发送地址宽度4字节  0100 0100
        SPI_ReadWrite(RX_PW_32BYTE);                            // 接收数据宽度32字节
        SPI_ReadWrite(TX_PW_32BYTE);                            // 发送数据宽度32字节
        SPI_ReadWrite((nRFAddr >> 24));                  // 接收有效地址第1字节
        SPI_ReadWrite((nRFAddr >> 16) & 0xff);           // 接收有效地址第2字节
        SPI_ReadWrite((nRFAddr >> 8) & 0xff);            // 接收有效地址第3字节
        SPI_ReadWrite(nRFAddr & 0xff);                   // 接收有效地址第4字节  
        SPI_ReadWrite(CRC16_EN | XOF_16MHz);                    // CRC16模式使能,晶体振荡器频率16MHz
        SET_SS();                                        // 关闭SPI

        if ( PORT_NRF905 & (1 << TX_EN) )                //再回到原来的无线收发模式
        {
                CLR_TRX_CE();                                //设置nRF905为待机方式
        }
        else
        {
                SET_TRX_CE();                                //设置nRF905为工作方式
        }

}



/* 参数为接收端的地址,即:发送给谁? */
void nRF905_SendPacket(unsigned long nRF_rxaddr)
{
        unsigned char i;
        if( (PIN_NRF905 & ((1<<CD)|(1<<AM)|(1<<DR))) == 0 )        // 周边无射频信号
        {
                nRF905_SetSendMode();
                //LED_ON();

                asm("nop");
                asm("nop");
                asm("nop");
                _delay_ms(1);
               
                CLR_SS();
                SPI_ReadWrite(WTA);                                // 写发送地址
                SPI_ReadWrite((nRF_rxaddr >> 24));                  // 接收有效地址第1字节
                SPI_ReadWrite((nRF_rxaddr >> 16) & 0xff);           // 接收有效地址第2字节
                SPI_ReadWrite((nRF_rxaddr >> 8) & 0xff);            // 接收有效地址第3字节
                SPI_ReadWrite(nRF_rxaddr & 0xff);                   // 接收有效地址第4字节  
                SET_SS();

                asm("nop");
                asm("nop");
                asm("nop");

                CLR_SS();
                SPI_ReadWrite(WTP);
                for( i = 0; i < 32; ++i )
                {
                        SPI_ReadWrite(SendBuffer);
                }
                SET_SS();

                SendCount = 32;
                nRF905_SendStart();                                        // 开始发送
                nRF905_SetReceiveMode();                        // 发送完毕回到接收模式                       
                //LED_OFF();
        }
}

/* 发送端代码 */
//----------------------------------------------------------------------------------
void main()
{
  char SendBuffer[32]="a";
    SPI_Init();
        nRF905_Init(RX_ADDRESS);

        /* ****************************
         * 发送数据包格式如下
         * 0xaa length B0 B1 B2 ... Bn 0x55
         *******************************/
        /*SendBuffer[0] = 0xaa;
        SendBuffer[1] = 2;                // 数据包大小 2
        SendBuffer[2] = 0x12;
        SendBuffer[3] = 0xab;
        SendBuffer[4] = 0x55;   */
       
        while(1)
        {

//液晶显示程序       
  CLI();  
  DDRD = 0X00;
  PORTD = 0XFF;
  EIMSK = 0b00000001;
  EIFR = 0Xff;
  EICRA = 0X00;
  EICRB = 0X00;
  SEI();
     PORTA = 0X00;
     DDRA = 0X02;
     DDRD |= LCD_DATA;
     DDRC |= LCD_RS | LCD_EN;
         LCD_EN_PORT &= ~LCD_EN;      //EN=0                             
         LCD_init();
         LCD_write_char(0,0x01);  //显示清屏
                 delay_nms(2);
                  LCD_write_string(1,0,"Transmitting...");
                  LCD_write_string(7,1,SendBuffer);
               
                /*if( flag == 1 )
                {
                        nRF905_SendPacket(RX_ADDRESS);
                        flag = 0;
                }
                if( PIN_NRF905 & (1<<DR) )
                {
                        nRF905_ReceivePacket();
                        if( ReceiveBuffer[0] == 0x55 )
                        {
                                flag = 1;
                                ReceiveBuffer[0] = 0;
                        }
                }        */
                nRF905_SendPacket(TX_ADDRESS);
                _delay_ms(1000);
        }   
}






接受端程序如下:

#include <iom128v.h>
#include "nRF905_Config.h"
#include "nRF905.h"
#include <macros.h>  
#include <math.h>   //液
#include <stdio.h>  //晶
#include "1602LCD.h"//屏
#include <stdlib.h> //应
#include <string.h> //用

unsigned char ReceiveBuffer[BUF_SIZE];                        // RF接收缓冲区
unsigned char ReceiveCount;                                // RF接收缓冲区接收个数
unsigned char SendCount;                                // RF发送缓冲区发送个数

#define xtal 7.3728                                
//晶振调整 MHz
void _delay_ms(unsigned int ms)                        //毫秒级延时,当改晶振为几M则xtal设为几
{
    unsigned int i;
    while(ms--)   
   {
     for(i=1;i<(unsigned int)(xtal*143-2);i++);                  
   }
}

void SPI_Init(void)
{
        PORT_SPI |= (1<<MOSI)|(1<<MISO)|(1<<SCK)|(1<<SS);  // 设置MOSI和SCK、SS为输出,其他为输入
        DDR_SPI  |= (1<<MOSI)|(1<<SCK)|(1<<SS);
        SPCR   = (1<<SPE)|(1<<MSTR)|(0<<CPOL)|(0<<SPR0);   // 主机模式,fck/16, SPI方式0
}

unsigned char SPI_ReadWrite(unsigned char cData)
{
        SPDR = cData;
        while(!(SPSR & (1<<SPIF) ))        ;                // 等待SPI发送完毕               
        return SPDR;
}

void nRF905_Init(unsigned long nRF_rxaddr)
{
        unsigned char i;
        DDR_NRF905 |= ((1<<TX_EN)|(1<<TRX_CE)|(1<<PWR_UP)|(0<<DR)|(0<<AM)|(0<<CD));
        PORT_NRF905 |= ((0<<TX_EN)|(0<<TRX_CE)|(1<<PWR_UP)|(1<<DR)|(1<<AM)|(1<<CD));
        nRF905_SetConfig(nRF_rxaddr);                                // 初始化nRF905,并设置接收地址
        /* 接收缓冲区清零 */
        for(i = 0; i < BUF_SIZE; ++i)
        {
        ReceiveBuffer = 0;
        }
}

unsigned char nRF905_ReadStatus(void)
{
        unsigned char val;
        CLR_SS();                                        // 打开SPI
        val = SPI_ReadWrite(RC);                        // 读状态
        SET_SS();                                        // 关闭SPI
        return val;
}

void nRF905_SetSendMode(void)
{
        _delay_ms(1);
        SET_TX_EN();                                        // 设置为发送模式
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        asm("nop");
        _delay_ms(1);
        CLR_TRX_CE();                                        // 待机PORTD &= ~(1<<TRX_CE);
        _delay_ms(1);
}

void nRF905_SetReceiveMode(void)
{        asm("nop");
        asm("nop");
        asm("nop");       
        CLR_TX_EN();                                        // 设置为接收模式
        asm("nop");
        _delay_ms(1);
        SET_TRX_CE();                                        // 使能接收
        asm("nop");
        asm("nop");
        asm("nop");
        _delay_ms(1);
}

void nRF905_SendStart(void)
{
        SET_TRX_CE();                                        // 开始发送
        _delay_ms(10);                                        // while(DR!=1);
        CLR_TRX_CE();                                        // 待机模式
}

void nRF905_SetConfig(unsigned long nRFAddr)                //配置nRF905
{
        CLR_TRX_CE();                                        //设置nRF905为待机方式
        asm("nop");
        CLR_SS();                                        //打开SPI
        // 配置字总共10个字节
        SPI_ReadWrite(WC);                                // Write config command
        SPI_ReadWrite(CH_NO_BYTE);                       // 中心频率低8位
        SPI_ReadWrite(PA_PWR_10dBm | HFREQ_PLL_433MHz);         // 发射+10dBm,发射频率433MHz,中心频率第9位=0
        SPI_ReadWrite(TX_AFW_4BYTE | RX_AFW_4BYTE);             // 接收地址宽度4字节,发送地址宽度4字节  0100 0100
        SPI_ReadWrite(RX_PW_32BYTE);                            // 接收数据宽度32字节
        SPI_ReadWrite(TX_PW_32BYTE);                            // 发送数据宽度32字节
        SPI_ReadWrite((nRFAddr >> 24));                           // 接收有效地址第1字节
        SPI_ReadWrite((nRFAddr >> 16) & 0xff);           // 接收有效地址第2字节
        SPI_ReadWrite((nRFAddr >> 8) & 0xff);            // 接收有效地址第3字节
        SPI_ReadWrite(nRFAddr & 0xff);                   // 接收有效地址第4字节  
        SPI_ReadWrite(CRC16_EN | XOF_16MHz);                    // CRC16模式使能,晶体振荡器频率16MHz
        SET_SS();                                        // 关闭SPI

        if ( PORT_NRF905 & (1 << TX_EN) )                //再回到原来的无线收发模式
        {
                CLR_TRX_CE();                                //设置nRF905为待机方式
        }
        else
        {
                SET_TRX_CE();                                //设置nRF905为工作方式
        }
}

void nRF905_ReceivePacket(void)
{
        unsigned char i;
        nRF905_SetReceiveMode();                        // 设置接收模式
        // CD=1且AM=0,DR=0
        if(   ( PIN_NRF905 & (1<<CD) )        && ((PIND & ((1<<AM)|(1<<DR)) ) == 0) )
        {
                CLR_TRX_CE();                                // 待机模式
                asm("nop");
                CLR_SS();
                SPI_ReadWrite(RRP);
                for(i = 0; i < 32; ++i)
                {
                        ReceiveBuffer = SPI_ReadWrite(0xff);
                }
                SET_SS();
                while(PIN_NRF905 & ((1<<AM)|(1<<DR)) );                // 等待
                ReceiveCount = 32;
                SET_TRX_CE();
//                LED_ON();
        }
}


/* 接收端代码 */
void main(void)
{        SPI_Init();
        nRF905_Init(RX_ADDRESS);

  //液晶显示程序       
  CLI();  
  DDRD = 0X00;
  PORTD = 0XFF;
  EIMSK = 0b00000001;
  EIFR = 0Xff;
  EICRA = 0X00;
  EICRB = 0X00;
  SEI();
     PORTA = 0X00;
     DDRA = 0X02;
     DDRD |= LCD_DATA;
     DDRC |= LCD_RS | LCD_EN;
         LCD_EN_PORT &= ~LCD_EN;      //EN=0                             
         LCD_init();
         LCD_write_char(0,0x01);  //显示清屏
                 delay_nms(2);
                 LCD_write_string(2,0,"Receiving...");       
       
        while(1){
                if( PIN_NRF905 & (1<<DR) )
                {   
                        nRF905_ReceivePacket();
                        LCD_write_string(6,1,"a");
                }
        }
}

出0入0汤圆

发表于 2008-5-24 11:00:32 | 显示全部楼层
标记.

出0入0汤圆

发表于 2008-5-24 13:17:03 | 显示全部楼层
哪出问题了?

出0入0汤圆

发表于 2008-8-3 12:33:37 | 显示全部楼层
收藏~~~~

出0入0汤圆

发表于 2008-8-3 22:22:32 | 显示全部楼层
留个记号吧

出0入0汤圆

 楼主| 发表于 2009-5-7 15:32:45 | 显示全部楼层
顶上来。

出0入0汤圆

发表于 2009-7-2 12:36:14 | 显示全部楼层

10个寄存器介绍 (原文件名:905-10个寄存器介绍.JPG)


905-SPI读写时序 (原文件名:905-SPI读写时序.JPG)


905-SPI读写指令 (原文件名:905-SPI读写指令.JPG)


905-各寄存器序列 (原文件名:905-各寄存器序列.JPG)


905频率计算介绍 (原文件名:905频率计算介绍.JPG)


905频率计算介绍 (原文件名:905-905频率计算介绍.JPG)


905文档精简 (原文件名:905-数据接收流程图.JPG)

NRF2401 NRF24L01 NRF905 RF903 CC1100 CC2500 CC1020等主流短距离无线技术介绍及应用指南
http://shop35079098.taobao.com/shop/xshop/wui_page-15620063.htm

NRF905基本特性:
=================================================================================
工作电压:1.9-3.6V
调制方式: GFSK
接收灵敏度:-100dBm
最大发射功率: 10mW (+10dBm)
最大传输数率:50kbps
瞬间最大工作电流: <30mA
工作频率:(422.4-473.5MHZ)
=================================================================================
接收发送功能合一,收发完成中断标志
433/868/915工作频段,433MHZ开放ISM频段可免许使用
最高发射速率50KBPS,10dbm发射功率条件下,配置外置鞭状天线有效通信距离在300米左右。
室内通信良好通信效果,4层之间可实现有效通信,抗干扰性能强,很强的扰障碍穿透性能。
单次最多可发送接收32字节,并可软件设置发送/接收缓冲区大小2/4/8/16/32字节
170个频道,可实现多点网络通讯,结合TDMA-CDMA-FDMA原理,实现无线网络通讯。
内置硬件8/16位CRC校验,数据传输可*稳定,降低系统开发难度,。
1.9-3.6V工作,低功耗,待机模式仅2.5uA.
内置SPI接口,最高SPI时钟可大10M,也可通过I/O口模拟SPI实现。
NRF905模块应用领域:
车辆监控、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、
无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、
生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信等。
===================================================================================
微功率(10mW)NRF905模块开发文档:http://www.newmsg.com/products/NewMsg-RF905.pdf
中功率(100mW)NRF905模块开发文档:http://www.newmsg.com/Products/NewMsg-RFC30F.pdf
大功率(1W)NRF905模块开发文档:http://www.newmsg.com/Products/NewMsg-RFC27A.pdf

出0入0汤圆

发表于 2009-7-8 17:07:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-4 09:01:21 | 显示全部楼层
好東西!謝啦

出0入0汤圆

发表于 2010-2-4 09:09:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-4 14:26:08 | 显示全部楼层
有兴趣  谢谢分享  mark

出0入0汤圆

发表于 2010-2-4 15:22:11 | 显示全部楼层
感谢分享 mark

出0入0汤圆

发表于 2010-2-4 16:26:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-5 09:20:12 | 显示全部楼层
ding ni

出0入0汤圆

发表于 2010-2-5 17:07:46 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-2-5 17:44:31 | 显示全部楼层
mark  手头正好有5片905的片子  因为没有电路图 没有代码可以参考 自己水平又不够  一直闲置着  

等下载服务器维修好了之后 希望lZ把电路图也放上来 谢谢啦!

出0入0汤圆

发表于 2010-2-5 18:06:21 | 显示全部楼层
标记

出0入0汤圆

发表于 2010-2-7 09:36:16 | 显示全部楼层
好东西

出0入0汤圆

发表于 2010-2-7 16:33:40 | 显示全部楼层
let me see..参考下,谢谢!

出0入0汤圆

发表于 2010-2-8 09:27:37 | 显示全部楼层
ding顶 ding

出0入0汤圆

发表于 2010-2-9 00:36:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-9 10:33:44 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-2-26 09:33:39 | 显示全部楼层
强人,顶一下·~~

出0入0汤圆

发表于 2010-3-16 14:51:57 | 显示全部楼层
点击此处下载 ourdev_538660.rar(文件大小:504K) (原文件名:无线数据通信汇总和选型参考(含图片).rar)

出0入0汤圆

发表于 2010-3-17 17:02:08 | 显示全部楼层
谢谢分享~~~学习下

出0入0汤圆

发表于 2010-7-19 16:24:31 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-20 11:09:15 | 显示全部楼层
很感兴趣!!~~

出0入0汤圆

发表于 2010-7-20 13:15:42 | 显示全部楼层
记号

出0入0汤圆

发表于 2010-7-20 13:49:41 | 显示全部楼层
mark,最近无线传输很火啊

出0入0汤圆

发表于 2010-7-21 16:26:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-24 13:42:03 | 显示全部楼层

出0入0汤圆

发表于 2010-7-25 16:38:12 | 显示全部楼层
楼主,电路图能不能发给我啊,sunshinecyh@163.com ,谢谢

出0入0汤圆

发表于 2010-10-19 22:00:15 | 显示全部楼层
分享一下吧

出0入0汤圆

发表于 2010-10-20 19:27:47 | 显示全部楼层
好东东啊,感谢啊,在没有障碍物的情况下,最远多远啊

出0入0汤圆

发表于 2010-10-20 19:38:11 | 显示全部楼层
MARK,ATMEGA16+NRF905!

出0入0汤圆

发表于 2010-10-23 19:39:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-28 11:04:11 | 显示全部楼层
回复【楼主位】ifree64
-----------------------------------------------------------------------

我也求个电路图啊 刚开始学做这个 上网问了问 他们说nrf905不能直接接入开发板 是这样吗?我邮箱********@163.com 求指导!!!


站长阿莫提示:本论坛不提倡使用QQ等私下沟通技术问题,也禁止QQ群讨论。我们这里的资料,不是天上掉下来的,是大家的无私贡献才有今天的成就。
头像被屏蔽

出0入0汤圆

发表于 2011-3-29 00:55:24 | 显示全部楼层
站长阿莫提示:本论坛不提倡使用QQ等私下沟通技术问题,也禁止QQ群讨论。我们这里的资料,不是天上掉下来的,是大家的无私贡献才有今天的成就。

出0入0汤圆

发表于 2011-3-29 09:03:41 | 显示全部楼层
MARK,ATMEGA16+NRF905!

出0入0汤圆

发表于 2011-4-6 09:17:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-2 00:28:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-25 17:21:36 | 显示全部楼层
而433M只是ISM的规定的第一个区域可用啊  
中国是属于第三个区域,按理是不可用的!!!?

出0入0汤圆

发表于 2011-7-15 01:36:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-17 21:19:23 | 显示全部楼层
好东西啊

出0入0汤圆

发表于 2011-7-18 12:36:58 | 显示全部楼层
mark NRF950

出0入0汤圆

发表于 2011-7-19 11:03:13 | 显示全部楼层
M

出0入0汤圆

发表于 2011-8-5 16:22:41 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-8-7 10:15:21 | 显示全部楼层
学习下 谢谢分享

出0入0汤圆

发表于 2011-8-10 13:16:20 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-17 12:52:54 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-24 16:29:30 | 显示全部楼层
看贴,顶贴!

出0入0汤圆

发表于 2011-8-25 08:11:39 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-11-21 21:28:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-25 15:13:44 | 显示全部楼层
我想问一下,mega16与905能不能直接相连?如果要加限流电阻的话要加多大的电阻?

出0入0汤圆

发表于 2012-12-31 01:22:46 | 显示全部楼层
搞了两天就是接收不到  郁闷中

出0入0汤圆

发表于 2013-1-14 21:59:39 | 显示全部楼层
谢谢楼主!!有个参考,最近在做

出0入0汤圆

发表于 2013-3-24 11:36:24 | 显示全部楼层
mark,收藏了》

出0入0汤圆

发表于 2013-4-14 17:13:02 | 显示全部楼层
恩恩 很好 谢谢分享

出0入0汤圆

发表于 2013-12-20 12:58:40 | 显示全部楼层
感谢分享~~!!

出0入0汤圆

发表于 2013-12-20 18:28:00 | 显示全部楼层
mark a  mark

出0入0汤圆

发表于 2014-2-13 22:21:45 | 显示全部楼层
非常感谢,已经成功移植使用。

出0入0汤圆

发表于 2014-2-14 04:56:04 来自手机 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2014-3-8 16:39:03 | 显示全部楼层
.............mark

出0入0汤圆

发表于 2014-3-9 15:00:52 | 显示全部楼层
楼主威武
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 00:32

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表