久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4601|回復: 0
打印 上一主題 下一主題
收起左側

無線通訊器件24L01的讀寫寄存器程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:26188 發表于 2015-6-23 16:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
讀寫寄存器程序只能工作在待機模式和掉電模式
還有一點非常重要:在上電后要有一個1.5~2毫秒的等待;否則麻煩大了!切記切記!!!1,16,與天津開發區第四項目部
  1. /*無線模塊定義*/
  2. sbit CE=P1^3;//nrf24l01d的模式控制線在 CSN 為低的情況下,CE 協同NRF24L01 的CONFIG 寄存器共同決定NRF24L01 的狀態(參照NRF24L01 的狀態機)
  3. sbit CSN=P1^4;//nrf24l01d的片選線,低電平有效
  4. sbit IRQ=P1^5;//nrf24l01d的中斷信號

  5. /*SPI定義
  6. */
  7. sbit  SI=P1^0;//MOSI主出-從入
  8. sbit  SO=P1^1;//MISO主入-從出
  9. sbit  SCK=P1^2;// 時鐘信號
  10. /*可謂操作字節dat定義,用來構成最底層的SPT讀寫函數使用
  11. */
  12. unsigned char bdata dat;
  13. sbit dat_0=dat^0;
  14. sbit dat_1=dat^1;
  15. sbit dat_2=dat^2;
  16. sbit dat_3=dat^3;
  17. sbit dat_4=dat^4;
  18. sbit dat_5=dat^5;
  19. sbit dat_6=dat^6;  
  20. sbit dat_7=dat^7;

  21. /*SPI最底層寫一個字節函數
  22. 無返回值
  23. 有參
  24. 帶形參H
  25. */
  26. void delay2ms()//開機延時2MS
  27. {
  28.   unsigned char a,b,c;
  29.     for(c=5;c>0;c--)
  30.         for(b=68;b>0;b--)
  31.             for(a=31;a>0;a--);
  32. }
  33. /*SPI寫一個字節的最底層函數
  34. 有參
  35. 無返回值*/
  36. void write_spi_2401(uchar h)//SPI寫一字節函數
  37. {
  38.             dat=h;

  39.             SI=dat_7;
  40.    
  41.       SCK=0;   
  42.       SCK=1;
  43.       
  44.      
  45.       SI=dat_6;
  46.      
  47.       SCK=0;
  48.       SCK=1;
  49.       
  50.    
  51.       SI=dat_5;
  52.    
  53.       SCK=0;
  54.       SCK=1;
  55.               

  56.    
  57.       SI=dat_4;
  58.    
  59.       SCK=0;
  60.       SCK=1;
  61.         
  62.      
  63.        SI=dat_3;
  64.    
  65.       SCK=0;
  66.       SCK=1;
  67.         
  68.      
  69.        SI=dat_2;
  70.       
  71.       SCK=0;
  72.       SCK=1;
  73.         

  74.     SI=dat_1;
  75.    
  76.       SCK=0;
  77.       SCK=1;
  78.         
  79.      
  80.     SI=dat_0;
  81.          
  82.       SCK=0;
  83.       SCK=1;
  84.          
  85.    

  86. }
  87. /*
  88. SPI最底層讀取一個字節
  89. 返回值是讀出的這一個字節
  90. 無參
  91. */
  92. uchar read_spi_2401()//SPI讀一字節函數
  93. {
  94.          SO=1;//初始化SO線

  95.          SCK=1;
  96.    SCK=0;
  97.   
  98.     dat_7=SO;
  99.       
  100.   SCK=1;
  101.   SCK=0;

  102.     dat_6=SO;
  103.       
  104.   SCK=1;
  105.   SCK=0;
  106.    
  107.     dat_5=SO;
  108.      
  109.   SCK=1;
  110.   SCK=0;

  111.    
  112.     dat_4=SO;
  113.    
  114.      SCK=1;   
  115.      SCK=0;
  116.    
  117.    
  118.     dat_3=SO;
  119.    
  120.      SCK=1;
  121.   SCK=0;
  122.   
  123.    
  124.     dat_2=SO;
  125.      
  126.      SCK=1;
  127.   SCK=0;
  128.   
  129.    
  130.     dat_1=SO;
  131.      
  132.      SCK=1;
  133.   SCK=0;
  134.    
  135.     dat_0=SO;
  136.    
  137.    return (dat);//返回讀取數值

  138. }
  139. /*寫入寄存器命令函數
  140. 有參
  141. 無返回值
  142. m:表示要操作的寄存器地址
  143. date:表示要向內不寫入的數據
  144. */
  145. void write_rge_nrf24l01(uchar m,uchar date)
  146. {  
  147.   SCK=0;//時鐘預選拉低
  148.   CSN=1;
  149.   CSN=0; //SPI開
  150.     write_spi_2401((0x20+m));//寫入寫寄存器命令
  151.     write_spi_2401(date);//寫入date指向的寄存器數據
  152. CSN=1;//SPI關

  153. }
  154. /*度寄存器子函數
  155. 將寄存器的數值讀出
  156. 有參  M表示要讀的寄存器
  157. 有返回值 返回讀出的數據
  158. */
  159. uchar read_reg_nrf24l01(uchar m)
  160. {  uchar date;

  161.    SCK=0;
  162.   CSN=1;
  163.   CSN=0;
  164.     write_spi_2401(m);//讀寄存器
  165. date=read_spi_2401();
  166. CSN=1;

  167. return (date);
  168. }  
  169. void main () //主函數
  170. {
  171. uchar i;
  172.   delay2ms(); //特別重要!!!不加的話,NRF24L01反應不過來!教訓!!!!!20110116終于突破了
  173.   write_rge_nrf24l01(0x00,0x0a);//表示0號寄存器寫入0AH數據
  174. i=read_reg_nrf24l01(0x00);//表示讀取0號寄存器數據
  175. P0=i;
  176.     while(1);
  177.   
  178. }
復制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日日夜夜精品视频 | 国产精彩视频 | 成人高清视频在线观看 | 91精品国产一区二区三区香蕉 | xxxxx黄色片| 日韩中文字幕视频在线 | 一级a性色生活片久久毛片 午夜精品在线观看 | 久久久99国产精品免费 | 天天影视网天天综合色在线播放 | 粉嫩国产精品一区二区在线观看 | 久久成人免费视频 | 日韩a在线观看 | 成人免费视频网站 | 久夜精品 | 国产一区二区精品在线观看 | 国产精品国产 | 91中文字幕在线观看 | 亚州无限乱码 | 成人三级在线观看 | 一区二区三区视频 | 成人免费小视频 | 亚洲国产一区二区三区在线观看 | 国产自产21区 | 午夜天堂精品久久久久 | 91在线网站 | 亚洲毛片 | 成人欧美 | 亚洲精品成人 | 91av在线免费看 | 亚洲播放一区 | 在线成人免费视频 | 最新中文字幕一区 | 国产亚洲区 | 日韩和的一区二区 | 欧美黑人体内she精在线观看 | 国产成人精品久久二区二区91 | 午夜ww| av官网在线| av毛片在线播放 | 精品久久久久久亚洲国产800 | 丁香五月网久久综合 |