OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 22129|回复: 25

nRF51822 AK II BLE 蓝牙4.0 开发板(实验2遥控)第二集

[复制链接]

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1633
金钱
1633
注册时间
2012-8-28
在线时间
71 小时
发表于 2013-12-5 13:17:15 | 显示全部楼层 |阅读模式
这张内容介绍2个51822之间怎么通讯。一个51822开发板 无线控制另一个 51822的开发板<br />
这是我自学后写的例程,更多讨论加我QQ750273008吧<br />
这次实验需要2个51822开发板或模块,20根杜邦线,2个流水灯模块。这些淘宝都有卖,很便宜。就几元到几十元。<br />
云佳科技的51822模块:网上29元,不过需要自己另买DC3.3v的电源<a href="http://item.taobao.com/item.htm?spm=a230r.1.14.21.0iQv6g&amp;id=22147056466" target="_blank">http://item.taobao.com/item.htm?spm=a230r.1.14.21.0iQv6g&amp;id=22147056466</a><br />
这是AK51822开发板,自带DC3.3v杜邦针。使用很方便<a href="http://item.taobao.com/item.htm?spm=a230r.1.14.1.0iQv6g&amp;id=19066213304" target="_blank">http://item.taobao.com/item.htm?spm=a230r.1.14.1.0iQv6g&amp;id=19066213304</a><br />
这是usb-jtag仿真器,内置一个51822我一般当仿真器用<a href="http://item.taobao.com/item.htm?spm=a1z10.5.w4002-3447669875.12.6xBm3v&amp;id=22058819361" target="_blank">http://item.taobao.com/item.htm?spm=a1z10.5.w4002-3447669875.12.6xBm3v&amp;id=22058819361</a><br />
<br />
另外淘宝有USB—jtag大家找下有自带5v和3.3v的仿真器就可以。体积和U盘一样小,使用很方便。<br />
<span style="font-size:32px;color:#e53333;background-color:#ffe500;">gpio引脚控制:</span><br />
//大家51单片机用过吗?知道P0 ,P1 ,P2 ,P3这些io口吗?<br />
//因为nrf51822是32位单片机。用下面的代码可以拆成8位单片机用。使用的效果就和51单片机一模一样<br />
//可以P1=0x0f;这样51822的P0.8~P0.15脚就被设置了<br />
<div>typedef enum</div>
<div>{</div>
<div>&nbsp; &nbsp; NRF_GPIO_PORT_SELECT_PORT0 = 0, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ///&lt; &nbsport 0 (GPIO pin 0-7)</div>
<div>&nbsp; &nbsp; NRF_GPIO_PORT_SELECT_PORT1, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ///&lt; &nbsport 1 (GPIO pin 8-15)</div>
<div>&nbsp; &nbsp; NRF_GPIO_PORT_SELECT_PORT2, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ///&lt; &nbsport 2 (GPIO pin 16-23)</div>
<div>&nbsp; &nbsp; NRF_GPIO_PORT_SELECT_PORT3, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ///&lt; &nbsport 3 (GPIO pin 24-31)</div>
<div>} nrf_gpio_port_select_t;</div>
<div><br />
</div>
<div>//定义P口,用法和51单片机一样用P0,P1,P2,P3</div>
<div>#define P0 &nbsp; NRF_GPIO_PORT_SELECT_PORT0 &nbsp; &nbsp; //P0.0~P0.7(P0.0~P0.07)</div>
<div>#define P1 &nbsp; NRF_GPIO_PORT_SELECT_PORT1 &nbsp; &nbsp; //P1.0~P1.7(P0.8~P0.15)</div>
<div>#define P2 &nbsp; NRF_GPIO_PORT_SELECT_PORT2 &nbsp; &nbsp; //P2.0~P2.7(P0.16~P0.23)</div>
<div>#define P3 &nbsp; NRF_GPIO_PORT_SELECT_PORT3 &nbsp; &nbsp; //P3.0~P3.7(P0.24~P0.31)</div>
<br />
<b><span style="font-size:24px;color:#e53333;background-color:#ffe500;">发射程序:用AK51822开发板 &nbsp;(第2代)</span></b><br />
<div>//arm_startup_nrf51.s是启动文件,包含中断定义</div>
<div>//#include "nrf51.h"//包含51822各个寄存器结构地址。以上2文件就可以控制51822了。</div>
<div>//nrf51_bitfields.h包含各个寄存器设置值的作用</div>
<div>#include "project_nrf51822.c"//包含51822工程需要用到的头文件(晶振,延时,io脚什么的</div>
<div><br />
</div>
<div>#include &lt;stdbool.h&gt;//调用bool</div>
<div>#include "stdio.h"//标准输入输出</div>
<div>#include &lt;stdint.h&gt;//声明已知大小的整数或显示特征的整数</div>
<div><br />
</div>
<div>//packet[3]中QxC(Q开始,C结束,x是数据char)</div>
<div>static uint8_t packet[3]={'Q','0','C'}; &nbsp;//数据传输用QxC(Q代表开始,C代表结束,x代表数据)</div>
<div><br />
</div>
<div>void init(void)//51822时钟初始化</div>
<div>{&nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span> //判断电源时钟状态</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span> if ((((*(uint32_t *)0xF0000FE0) &amp; 0xFF) == 1) &amp;&amp; (((*(uint32_t *)0xF0000FE4) &amp; 0xF) == 0))</div>
<div>&nbsp; &nbsp; {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; if ((((*(uint32_t *)0xF0000FE8) &amp; 0xF0) == 0x0) &amp;&amp; (((*(uint32_t *)0xF0000FEC) &amp; 0xF0) == 0x0))</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; {</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>&nbsp; &nbsp;&nbsp;//解决radio无法写入 &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(uint32_t *)0x40000504 = 0xC007FFDF;//电源时钟设置</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(uint32_t *)0x40006C18 = 0x00008000;//GPIOTE设置 &nbsp; &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>&nbsp;else if ((((*(uint32_t *)0xF0000FE8) &amp; 0xF0) == 0x10) &amp;&amp; (((*(uint32_t *)0xF0000FEC) &amp; 0xF0) == 0x0))</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //解决radio无法写入 &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(uint32_t *)0x40000504 = 0xC007FFDF;//电源时钟设置</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(uint32_t *)0x40006C18 = 0x00008000;//GPIOTE设置 &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; else if ((((*(uint32_t *)0xF0000FE8) &amp; 0xF0) == 0x30) &amp;&amp; (((*(uint32_t *)0xF0000FEC) &amp; 0xF0) == 0x0))</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //解决radio无法写入 &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(uint32_t *)0x40000504 = 0xC007FFDF;//电源时钟设置</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(uint32_t *)0x40006C18 = 0x00008000;//GPIOTE设置 &nbsp; &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; }</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>NRF_CLOCK-&gt;EVENTS_HFCLKSTARTED = 0;//HFCLK晶振运行状态标志位 &nbsp; 0关闭,1运行</div>
<div>&nbsp; NRF_CLOCK-&gt;TASKS_HFCLKSTART = 1;//高外晶振HFCLK &nbsp; 0关闭,1启动</div>
<div>&nbsp; while(!NRF_CLOCK-&gt;EVENTS_HFCLKSTARTED);//等待HFCLK晶振运行状态标志位 为1</div>
<div>}</div>
<div><br />
</div>
<div>void ioinit()//51822引脚初始化</div>
<div>{</div>
<div>&nbsp; &nbsp; //接收用usb-jtag的nrf51822</div>
<div>//<span class="Apple-tab-span" style="white-space:pre;">        </span> &nbsp;gpio_init_in(9,9,3);//p0.09输入</div>
<div>//<span class="Apple-tab-span" style="white-space:pre;">        </span> &nbsp;gpio_init_in(11,11,3);//p0.11输入</div>
<div>// &nbsp; &nbsp;gpio_init_out(21,23);//led:red,green,blue</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span></div>
<div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre;">        </span>gpio_init_out(0,15);//设置0~15脚配置为输出</div>
<div>&nbsp; <span class="Apple-tab-span" style="white-space:pre;">        </span> &nbsp;gpio_init_in(16,17,3);//设置16~17脚配置为输入3代表上拉电阻(开发板为按钮key0,key1)</div>
<div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre;">        </span>gpio_init_out(18,25);//设置18~25脚配置为输出/那个26~27接的是低速晶振</div>
<div>&nbsp; &nbsp; &nbsp; gpio_init_out(28,31);//设置28~31脚配置为输出</div>
<div>}</div>
<div><div><br />
</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>int main(void)//main主程序开始</div>
<div>{</div>
<div>&nbsp; &nbsp; init();//时钟初始化</div>
<div>&nbsp; &nbsp; ioinit();//引脚初始化</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span> &nbsp;radio_configure();//无线电配置(也可用于和nrf2401通讯)</div>
<div>&nbsp; // 设置有效载荷指针</div>
<div>&nbsp; &nbsp; NRF_RADIO-&gtACKETPTR = (uint32_t)packet;//指针指向数据缓冲packet &nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>//检查io脚是否正常</div>
<div>&nbsp; &nbsp; NRF_GPIO-&gt;OUTSET=(1&lt;&lt;22);//led4亮,表示51822已经工作中</div>
<div>&nbsp; &nbsp;&nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>while(1)</div>
<div>&nbsp; {</div>
<div>&nbsp; &nbsp; packet[1]= (NRF_GPIO-&gt;IN&gt;&gt;16)&amp;3; //读到的key0,key1数据给发射缓冲</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                </span>nrf_gpio_pin_clear(18);//led0灭,表示数据还没发出</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                </span>//数据准备发送</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                </span>NRF_RADIO-&gt;EVENTS_READY = 0U;//收发模式转换完成标志位。复位</div>
<div>&nbsp; &nbsp; NRF_RADIO-&gt;TASKS_TXEN = 1U;//启动无线电为发射模式</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; while (NRF_RADIO-&gt;EVENTS_READY == 0U);//等待收发模式转换完成</div>
<div><br />
</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; // Start transmission.</div>
<div>&nbsp; &nbsp; NRF_RADIO-&gt;EVENTS_END &nbsp;= 0U;//传输完成标志位,复位 &nbsp; &nbsp;&nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                </span>NRF_RADIO-&gt;TASKS_START = 1U;//开始传输</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; while(NRF_RADIO-&gt;EVENTS_END == 0U) //等待传输完成</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; {</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                                        </span> &nbsp;nrf_gpio_pin_clear(18);//传输失败led0灭</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Do nothing.</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div><br />
</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; // 组1引脚(8~15)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; nrf_gpio_port_write(P1, packet[1]);//数值显示在单片机P1口上</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; nrf_gpio_pin_set(18);//传输成功led0亮,越暗说明有干扰,需要改频率</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                                </span></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; NRF_RADIO-&gt;EVENTS_DISABLED = 0U;//无线关闭标志位 &nbsp;复位</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; NRF_RADIO-&gt;TASKS_DISABLE &nbsp; = 1U; // 关闭无线</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; while(NRF_RADIO-&gt;EVENTS_DISABLED == 0U)//等待无线关闭</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Do nothing.</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; }</div>
<div>}</div>
<br />
<br />
<span style="font-size:24px;color:#e53333;background-color:#ffe500;">接收程序:用usb_jtag51822开发板<br />
</span><br />
<div>//arm_startup_nrf51.s是启动文件,包含中断定义</div>
<div>//#include "nrf51.h"//包含51822各个寄存器结构地址。以上2文件就可以控制51822了。</div>
<div>//nrf51_bitfields.h包含各个寄存器设置值的作用</div>
<div>#include "project_nrf51822.c"//包含51822工程需要用到的头文件(晶振,延时,io脚什么的</div>
<div><br />
</div>
<div>#include &lt;stdbool.h&gt;//调用bool</div>
<div>#include "stdio.h"//标准输入输出</div>
<div>#include &lt;stdint.h&gt;//声明已知大小的整数或显示特征的整数</div>
<div><br />
</div>
<div><br />
</div>
<div>void init(void)//51822时钟初始化</div>
<div>{&nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span> //判断电源时钟状态</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span> if ((((*(uint32_t *)0xF0000FE0) &amp; 0xFF) == 1) &amp;&amp; (((*(uint32_t *)0xF0000FE4) &amp; 0xF) == 0))</div>
<div>&nbsp; &nbsp; {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; if ((((*(uint32_t *)0xF0000FE8) &amp; 0xF0) == 0x0) &amp;&amp; (((*(uint32_t *)0xF0000FEC) &amp; 0xF0) == 0x0))</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; {</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                                        </span>//解决radio无法写入 &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(uint32_t *)0x40000504 = 0xC007FFDF;//电源时钟设置</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(uint32_t *)0x40006C18 = 0x00008000;//GPIOTE设置 &nbsp; &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                                </span>else if ((((*(uint32_t *)0xF0000FE8) &amp; 0xF0) == 0x10) &amp;&amp; (((*(uint32_t *)0xF0000FEC) &amp; 0xF0) == 0x0))</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //解决radio无法写入 &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(uint32_t *)0x40000504 = 0xC007FFDF;//电源时钟设置</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(uint32_t *)0x40006C18 = 0x00008000;//GPIOTE设置 &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; else if ((((*(uint32_t *)0xF0000FE8) &amp; 0xF0) == 0x30) &amp;&amp; (((*(uint32_t *)0xF0000FEC) &amp; 0xF0) == 0x0))</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //解决radio无法写入 &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(uint32_t *)0x40000504 = 0xC007FFDF;//电源时钟设置</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(uint32_t *)0x40006C18 = 0x00008000;//GPIOTE设置 &nbsp; &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; }</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>NRF_CLOCK-&gt;EVENTS_HFCLKSTARTED = 0;//HFCLK晶振运行状态0关闭,1运行</div>
<div>&nbsp; NRF_CLOCK-&gt;TASKS_HFCLKSTART = 1;//高外晶振HFCLK 0关闭,1启动</div>
<div>&nbsp; while(!NRF_CLOCK-&gt;EVENTS_HFCLKSTARTED);//等待HFCLK晶振运行状态为1</div>
<div>}</div>
<div><br />
</div>
<div>void ioinit()//51822引脚初始化</div>
<div>{</div>
<div>&nbsp; &nbsp; //接收用usb-jtag的nrf51822</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span> &nbsp;gpio_init_in(9,9,3);//p0.09输入</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span> &nbsp;gpio_init_in(11,11,3);//p0.11输入</div>
<div>&nbsp; &nbsp; gpio_init_out(21,23);//led:red,green,blue</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span></div>
<div>// &nbsp;<span class="Apple-tab-span" style="white-space:pre;">        </span>gpio_init_out(0,15);//设置0~15脚配置为输出</div>
<div>//<span class="Apple-tab-span" style="white-space:pre;">        </span> &nbsp;gpio_init_in(16,17,3);//设置16~17脚配置为输入(开发板为按钮key0,key1)</div>
<div>// &nbsp;<span class="Apple-tab-span" style="white-space:pre;">        </span>gpio_init_out(18,25);//设置18~25脚配置为输出/那个26~27接的是低速晶振</div>
<div>// &nbsp; &nbsp;gpio_init_out(28,31);//设置28~31脚配置为输出</div>
<div>}</div>
<div><br />
</div>
<div><br />
</div>
<div>//packet[3]中QxC(Q开始,C结束,x是数据char)</div>
<div>static uint8_t volatile packet[3]; &nbsp;//&lt; 数据传输的缓冲包packet[1]是数据</div>
<div><br />
</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>int main(void)//main主程序开始</div>
<div>{</div>
<div>&nbsp; &nbsp; init();//时钟初始化</div>
<div>&nbsp; &nbsp; ioinit();//引脚初始化</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span> &nbsp;radio_configure();//无线电配置(也可用于和nrf2401通讯)</div>
<div>&nbsp; &nbsp; //检查io脚是否正常</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span> &nbsp;nrf_gpio_pin_set(21);// &nbsp;red灭p0.21</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span> &nbsp;nrf_gpio_pin_set(22);//green灭p0.22</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nrf_gpio_pin_set(23);// blue灭p0.23</div>
<div><br />
</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>// 设置有效载荷指针</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; NRF_RADIO-&gtACKETPTR &nbsp; &nbsp;= (uint32_t)packet;//指针指向数据缓冲packet</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp; &nbsp; while(1)</div>
<div>&nbsp; &nbsp; {</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                        </span> &nbsp;NRF_RADIO-&gt;EVENTS_READY = 0U; //收发模式转换完成 &nbsp;标志位 &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; NRF_RADIO-&gt;TASKS_RXEN &nbsp; = 1U; //接收模式</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; while(NRF_RADIO-&gt;EVENTS_READY == 0U) //等待收发模式转换完成(接收模式)标志位</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Do nothing.等待</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; NRF_RADIO-&gt;EVENTS_END &nbsp;= 0U;//传输完成 &nbsp;标志位 &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; NRF_RADIO-&gt;TASKS_START = 1U; // 开始传输</div>
<div><br />
</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; while(NRF_RADIO-&gt;EVENTS_END == 0U)//等待传输完成 &nbsp;标志位</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nrf_gpio_pin_set(23);// blue灭 &nbsp;//传输不成功</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                                                </span> // Do nothing.等待</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; if (NRF_RADIO-&gt;CRCSTATUS == 1U)//如果CRC校验正确</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //nrf_gpio_port_write(NRF_GPIO_PORT_SELECT_PORT1, packet[0]);</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if(packet[0]==('Q'))//确定开始</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;{</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(packet[2]==('C'))//结束正确</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ &nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                </span>&nbsp;&nbsp;&nbsp; &nbsp;NRF_GPIO-&gt;OUT=(packet[1]&lt;&lt;21);//数据给io脚</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                </span>&nbsp; &nbsp;&nbsp;&nbsp;nrf_gpio_pin_clear(23);// blue亮,数据成功了,灯越暗说明数据传输越快。</div>
<div><span class="Apple-tab-span" style="white-space:pre;">                                </span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;//不亮说明,数据传输失败。</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div><br />
</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; NRF_RADIO-&gt;EVENTS_DISABLED = 0U;//无线关闭 &nbsp; 标志位</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; NRF_RADIO-&gt;TASKS_DISABLE &nbsp; = 1U;// 关闭无线设备</div>
<div><br />
</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; while(NRF_RADIO-&gt;EVENTS_DISABLED == 0U)//等待设备关闭</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Do nothing.</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; } &nbsp;&nbsp;</div>
<div>}</div>
<div><br />
</div>
<span style="font-size:24px;color:#e53333;background-color:#ffe500;">无线电配置:</span><br />
&nbsp;<br />
<div>//无线功率4分贝,2440MHz,通道0地址0x99999999C0,通道1~7地址0x66666666XX</div>
<div>//速率2MHz,数据字节3字节QxC(Q开始,C结束,x是数据char)</div>
<div>void radio_configure()//无线配置,准备和nrf24L01通讯</div>
<div>{</div>
<div>&nbsp; //无线功率04:+4分贝,0:0分贝,FC:-4分贝,F8:-8分贝</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>// &nbsp; &nbsp;F4:-12分贝,F0:-16分贝,EC:-20分贝,D8:-30分贝</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>NRF_RADIO-&gt;TXPOWER = (0x04&lt;&lt;0);//无线功率4分贝</div>
<div>&nbsp;&nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>NRF_RADIO-&gt;FREQUENCY = 40UL;//无线频率40MHz+2400MHz=2440MHz</div>
<div><br />
</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>//无线速率:00:1Mbit,01:2Mbit,02:250Kbit,03:1Mbit(蓝牙)</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>NRF_RADIO-&gt;MODE = (01&lt;&lt;0);//速率2MHz</div>
<div><br />
</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span>// 无线地址设置</div>
<div>&nbsp; NRF_RADIO-&gtREFIX0 = 0xC3C2C1C0UL; &nbsp;// 通道3 到 0 的低1字节</div>
<div>&nbsp; NRF_RADIO-&gtREFIX1 = 0xC7C6C5C4UL; &nbsp;// 通道7 到 4 的低1字节</div>
<div>&nbsp; NRF_RADIO-&gt;BASE0 &nbsp; = 0x99999999UL; &nbsp;// 通道0的高字节</div>
<div>&nbsp; NRF_RADIO-&gt;BASE1 &nbsp; = 0x66666666UL; &nbsp;// 通道1-7的高字节</div>
<div>&nbsp; NRF_RADIO-&gt;TXADDRESS = 0x00UL; &nbsp; &nbsp; &nbsp;// 发射使用的通道号:0通道</div>
<div>&nbsp; NRF_RADIO-&gt;RXADDRESSES = 0x01UL; &nbsp; &nbsp;// 接收的通道号:1通道</div>
<div><br />
</div>
<div>&nbsp; // 配置包0的设置</div>
<div>&nbsp; NRF_RADIO-&gtCNF0 = (0&lt;&lt;16)| //S1领域的长度</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(0&lt;&lt;8) | //S0场的长度</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(0&lt;&lt;0); &nbsp;//长度字段中的比特数</div>
<div><br />
</div>
<div>&nbsp; // 配置包1的设置</div>
<div>&nbsp; &nbsp;NRF_RADIO-&gtCNF1 = (0&lt;&lt;25)| //效验位(0关,1开)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1&lt;&lt;24)| //数据大小端(高低字节哪个先发 0低字节,1高字节)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(4&lt;&lt;16)| //通道1~7高字节长度( nrf24高低字节5字节:4个高+1个低)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (3&lt;&lt;8) | //数据字节长度(255~1)3字节QxC</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (3&lt;&lt;0); &nbsp;//硬件传输字节长度(255~1)3字节QxC</div>
<div><br />
</div>
<div>&nbsp; // CRC 校验长度配置</div>
<div>&nbsp; NRF_RADIO-&gt;CRCCNF = 2; // 校验长度 2个char</div>
<div>&nbsp; if ((NRF_RADIO-&gt;CRCCNF &amp; 0x03)== 2 )</div>
<div>&nbsp; {</div>
<div>&nbsp; &nbsp; NRF_RADIO-&gt;CRCINIT = 0xFFFFUL; &nbsp; &nbsp; &nbsp;// 校验初始值</div>
<div>&nbsp; &nbsp; NRF_RADIO-&gt;CRCPOLY = 0x11021UL; &nbsp; &nbsp; // CRC poly: x^16+x^12^x^5+1</div>
<div>&nbsp; }</div>
<div>&nbsp; else if ((NRF_RADIO-&gt;CRCCNF &amp; 0x03) == 1 )</div>
<div>&nbsp; {</div>
<div>&nbsp; &nbsp; NRF_RADIO-&gt;CRCINIT = 0xFFUL; &nbsp; &nbsp; &nbsp; &nbsp;// 校验初始值</div>
<div>&nbsp; &nbsp; NRF_RADIO-&gt;CRCPOLY = 0x107UL; &nbsp; &nbsp; &nbsp; // CRC poly: x^8+x^2^x^1+1</div>
<div>&nbsp; }</div>
<div><span class="Apple-tab-span" style="white-space:pre;">        </span></div>
<div>//接收寄存器是 &nbsp;NRF_RADIO-&gt;PACKETPTR<span class="Apple-tab-span" style="white-space:pre;">        </span></div>
<div>}</div>
<br />
<br />
</div>

bleclass.zip

1.31 MB, 下载次数: 3157

QQ750273008有好的资料记得发给我哦。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
34
金钱
34
注册时间
2015-11-18
在线时间
4 小时
发表于 2015-11-18 17:22:32 | 显示全部楼层
咨询个问题:nrf51822获取的MAC地址是16进制数,怎么能转换成字符串?同样设置MAC地址是不是也要把字符串转换为十六进制数才可以?
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;另外mac地址之间都是“:”分开的?这个该怎么实现呢?
<br>&nbsp;请楼主或原子兄帮忙解决下
回复 支持 1 反对 0

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2013-10-28
在线时间
0 小时
发表于 2013-12-5 13:24:46 | 显示全部楼层
虽然代码不多,但是里面还有很多有些深度的问题。比如,寄存器的直接读写,无线通讯的前提条件,发射功率,地址匹配等问题。<br />
<br />
一个人自己业余研究通了这么多,很不容易啊!建议坛主置顶啊!<br />
<br />
<br />
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-12-5 21:21:28 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1633
金钱
1633
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-12-5 21:42:00 | 显示全部楼层
回复【3楼】正点原子:
<br>---------------------------------
<br>原子哥,帮我把这帖子移到&nbsp;&nbsp;蓝牙/WIFI/Zigbee等通信技术&nbsp;&nbsp;里面&nbsp;再给个酷吧。&nbsp;&nbsp;我刚才修改了排版位置,反而没以前排列好看了。哎。。。。
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

7

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2012-3-18
在线时间
0 小时
发表于 2013-12-18 19:23:10 | 显示全部楼层
回复【楼主位】750273008:
<br>这张内容介绍2个51822之间怎么通讯。一个51822开发板&nbsp;无线控制另一个&nbsp;51822的开发板
<br>这是我自学后写的例程,更多讨论加我QQ750273008吧
<br>这次实验需要2个51822开发板或模块,20根杜邦线,2个流水灯模块。这些淘宝都有卖,很便宜。就几元到几十元。
<br>云佳科技的51822模块:网上29元,不过需要自己另买DC3.3v的电源http://item.taobao.com/item.htm?spm=a230r.1.14.21.0iQv6g&amp;id=22147056466
<br>这是AK51822开发板,自带DC3.3v杜邦针。使用很方便http://item.taobao.com/item.htm?spm=a230r.1.14.1.0iQv6g&amp;id=19066213304
<br>这是usb-jtag仿真器,内置一个51822我一般当仿真器用http://item.taoba
<br>......
<br>---------------------------------
<br>//&nbsp;无线地址设置
<br>&nbsp;&nbsp;NRF_RADIO-&gtREFIX0&nbsp;=&nbsp;0xC3C2C1C0UL;&nbsp;&nbsp;//&nbsp;通道3&nbsp;到&nbsp;0&nbsp;的低1字节
<br>&nbsp;&nbsp;NRF_RADIO-&gtREFIX1&nbsp;=&nbsp;0xC7C6C5C4UL;&nbsp;&nbsp;//&nbsp;通道7&nbsp;到&nbsp;4&nbsp;的低1字节
<br>&nbsp;&nbsp;NRF_RADIO-&gt;BASE0&nbsp;&nbsp;&nbsp;=&nbsp;0x99999999UL;&nbsp;&nbsp;//&nbsp;通道0的高字节
<br>&nbsp;&nbsp;NRF_RADIO-&gt;BASE1&nbsp;&nbsp;&nbsp;=&nbsp;0x66666666UL;&nbsp;&nbsp;//&nbsp;通道1-7的高字节
<br>
<br>想请教一下,地址的值是如何得来的。
回复 支持 反对

使用道具 举报

7

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2012-3-18
在线时间
0 小时
发表于 2013-12-18 20:36:57 | 显示全部楼层
回复【5楼】觋-拂晓:
<br>回复【楼主位】750273008:
<br>这张内容介绍2个51822之间怎么通讯。一个51822开发板&nbsp;无线控制另一个&nbsp;51822的开发板
<br>这是我自学后写的例程,更多讨论加我QQ750273008吧
<br>这次实验需要2个51822开发板或模块,20根杜邦线,2个流水灯模块。这些淘宝都有卖,很便宜。就几元到几十元。
<br>云佳科技的51822模块:网上29元,不过需要自己另买DC3.3v的电源http://item.taobao.com/item.htm?spm=a230r.1.14.21.0iQv6g&amp;id=22147056466
<br>这是AK51822开发板,自带DC3.3v杜邦针。使用很方便http://item.taobao.com/item.htm?spm=a230r.1.14.1.0iQv6g&amp;id=19066213304
<br>这是usb-jtag仿真器,内置一个51822我一般当仿
<br>......
<br>---------------------------------
<br>。。通道0的地址应该是0x99999999C0吧,那么这个地址是MAC地址么?为什么除了radio_configure外,其他地方再也没有用到,不需要说明发送到哪一个通道么。第一次接触,搞不懂。
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1633
金钱
1633
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-12-19 10:19:13 | 显示全部楼层
回复【6楼】觋-拂晓:
<br>---------------------------------
<br>//&nbsp;无线地址设置
<br>//地址一共40个add_bit是add0~add39
<br>//在2401地址add0先写(add0,add1,add2......add39)
<br>
<br>//那2401和51822的地址关系如下
<br>//&nbsp;2401[add0:add7]&nbsp;=PREFIX0[bit7:bit0](add7,add6,add5,add4,add3,add2,add1,add0)
<br>//&nbsp;2401[add8:add15]=BASE0[bit31:bit24](add15,add14,add13,add12,add11,add10,add9,add8)
<br>//&nbsp;2401[add16:add23]=BASE0[bit23:bit16](add23,add22,add21,add20,add19,add18,add17,add16)
<br>//&nbsp;2401[add24:add31]=BASE0[bit15:bit8]&nbsp;(add31,add30,add29,add28,add27,add26,add25,add24)
<br>//&nbsp;2401[add32:add39]=BASE0[bit7:bit0]&nbsp;(add39,add38,add37,add36,add35,add34,add33,add32)
<br>这下你应该知道了吧,另外,他就像拖线板一样,0通道插头可以插1234567随便哪个插座。因为他们只认地址。
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

7

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2012-3-18
在线时间
0 小时
发表于 2013-12-19 19:28:41 | 显示全部楼层
回复【7楼】750273008:
<br>回复【6楼】觋-拂晓:
<br>---------------------------------
<br>//&nbsp;无线地址设置
<br>//地址一共40个add_bit是add0~add39
<br>//在2401地址add0先写(add0,add1,add2......add39)
<br>//那2401和51822的地址关系如下
<br>//&nbsp;2401[add0:add7]&nbsp;=PREFIX0[bit7:bit0](add7,add6,add5,add4,add3,add2,add1,add0)
<br>//&nbsp;2401[add8:add15]=BASE0[bit31:bit24](add15,add14,add13,add12,add11,add10,add9,add8)
<br>//&nbsp;2401[add16:add23]=BASE0[bit23:bit16](add23,add22,add21,add20,add19,add18,add17,
<br>......
<br>---------------------------------
<br>我想说地址设置后怎么运用这些地址。怎么才能接收多个设备发送过来的数据。
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1633
金钱
1633
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-12-21 09:13:30 | 显示全部楼层
回复【8楼】觋-拂晓:
<br>---------------------------------
<br>51822有01234567通道可以用,你使能这些通道,然后找8个设备地址和它一样,就可以1对8通讯了。
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

7

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2012-3-18
在线时间
0 小时
发表于 2013-12-22 18:19:00 | 显示全部楼层
回复【9楼】750273008:
<br>
<br>                                                                        回复【8楼】觋-拂晓:
<br>---------------------------------
<br>51822有01234567通道可以用,你使能这些通道,然后找8个设备地址和它一样,就可以1对8通讯了。
<br>                                                       
<br>---------------------------------
<br>嗯嗯,明白是怎么回事了。
回复 支持 反对

使用道具 举报

56

主题

167

帖子

4

精华

高级会员

Rank: 4

积分
602
金钱
602
注册时间
2013-10-18
在线时间
59 小时
发表于 2014-1-3 11:49:00 | 显示全部楼层
回复【楼主位】750273008:
<br>---------------------------------
<br>楼主这个距离能达到多少米
回复 支持 反对

使用道具 举报

34

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
333
金钱
333
注册时间
2012-7-19
在线时间
12 小时
发表于 2014-2-22 10:36:26 | 显示全部楼层
楼主的教程很不错啊!最近有个nRF51822&nbsp;AK&nbsp;II&nbsp;BLE&nbsp;蓝牙4.0&nbsp;的有奖活动,可以参与分享赢大奖哦!http://www.eeboard.com/bbs/thread-25588-1-1.html
电子元器件需求请联系我QQ:2437453981
回复 支持 反对

使用道具 举报

12

主题

216

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2011-4-7
在线时间
3 小时
发表于 2014-3-5 23:52:55 | 显示全部楼层
好详细啊&nbsp;!备用
回复 支持 反对

使用道具 举报

2

主题

4

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-5-8
在线时间
1 小时
发表于 2014-5-8 16:55:03 | 显示全部楼层
楼主用的是29元的云佳科技的51822模块。
<br>还是AK51822开发板啊。。。。
<br>价格差好多啊。。。。。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-9-10
在线时间
0 小时
发表于 2014-9-10 16:13:11 | 显示全部楼层
楼主能对51822的8对1通讯具体讲解下吗,目前卡在这,课题没法继续啊。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-11-5
在线时间
0 小时
发表于 2014-11-5 10:03:04 | 显示全部楼层
同求8对1通讯~不知道改哪里才对。试了一个晚上都没有改对。理解每个通道对应不同的逻辑地址,例如通道0&nbsp;地址:0xE7E7E7E7E7,1地址:0xC200C2C2C2....。但是不知道应该设置在哪里,语句怎么写。现在能实现多对一通讯,但不知道哪个数据是哪个通道发送的。
回复 支持 反对

使用道具 举报

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2013-3-26
在线时间
0 小时
发表于 2015-1-9 16:41:28 | 显示全部楼层
楼主学习了!!!
回复 支持 反对

使用道具 举报

0

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-6-25
在线时间
0 小时
发表于 2015-6-25 17:23:31 | 显示全部楼层
代理NORDIC蓝牙4.0芯片NRF51822
<br>联系人:刘工
<br>QQ:1330504646
<br>手机:13714153746
<br>NRF51822是一款为超低功耗无线应用(ULP&nbsp;wirelesss&nbsp;applications)打造的多协议单芯片解决方案。
<br>它整合了Nordic一流的无线传送器,同时支持Bluetooth(R)&nbsp;low&nbsp;energy&nbsp;和专用的2.4GHz协议栈。
<br>基本情况是:
<br>2.4GHZ多协议无线射频
<br>32位ARM&nbsp;Cortex&nbsp;M0&nbsp;处理器
<br>128位AES硬件加密处理器
<br>256kB&nbsp;flash&nbsp;/&nbsp;16kB&nbsp;RAM
<br>可编程外设接口PPI
<br>全功能数字接口:&nbsp;SPI&nbsp;/&nbsp;I2C&nbsp;/&nbsp;UART
<br>10位ADC
<br>可编程的输出功率:&nbsp;+4dBm&nbsp;to&nbsp;-20dBm
<br>应用开发和协议堆栈完全独立
<br>与NRF24L系列完全兼容
<br>与NRF51xxx系列管脚兼容
<br>全局独立电源管理
<br>工作电压范围(1.8&nbsp;V&nbsp;~&nbsp;3.6&nbsp;V)
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2016-1-4
在线时间
1 小时
发表于 2016-1-4 12:27:24 | 显示全部楼层
init()函数里的0xF0000FE0这个寄存器描述是在哪里找到的?我手册上貌似没有。
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1633
金钱
1633
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2016-4-16 13:54:24 | 显示全部楼层
lzp3520265 发表于 2016-1-4 12:27
init()函数里的0xF0000FE0这个寄存器描述是在哪里找到的?我手册上貌似没有。

radio的电源
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1633
金钱
1633
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2016-4-16 13:56:43 | 显示全部楼层
钢铁侠 发表于 2014-1-3 11:49
回复【楼主位】750273008:
---------------------------------
楼主这个距离能达到多少米

空地45米左右,看设计了
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

8

主题

33

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-1-4
在线时间
30 小时
发表于 2016-5-15 11:50:10 | 显示全部楼层
nivo 发表于 2015-11-18 17:22
咨询个问题:nrf51822获取的MAC地址是16进制数,怎么能转换成字符串?同样设置MAC地址是不是也要把字符串转 ...

请问max地址,你获取了吗?问题解决了吗?
回复 支持 反对

使用道具 举报

6

主题

91

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2014-11-15
在线时间
91 小时
发表于 2016-6-14 22:35:32 | 显示全部楼层
51822的深度好文
回复 支持 反对

使用道具 举报

12

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2014-9-13
在线时间
31 小时
发表于 2016-7-14 22:23:12 | 显示全部楼层
好资料,谢谢分享
回复 支持 反对

使用道具 举报

14

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2012-11-19
在线时间
3 小时
发表于 2016-9-1 15:21:50 | 显示全部楼层
为什么不移植他的库函数呢?我在移植他的库函数的时候出现了错误?求助
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 21:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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