找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3934|回复: 4
打印 上一主题 下一主题
收起左侧

pic单片机控制cc1101实现loral无线传输的源程序

[复制链接]
跳转到指定楼层
楼主
ID:387614 发表于 2018-8-18 16:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用pic单片机控制cc1101无线通信模块

单片机源程序如下:
  1. #include<pic.h>
  2. __CONFIG(0x3B31);
  3. #include "board.h"
  4. /* MAIN.C file
  5. *
  6. * Copyright (c) 2002-2005 STMicroelectronics
  7. */
  8. //#include "OLED.h"
  9. /*typedef unsigned char  INT8U;
  10. typedef signed   char  INT8S;
  11. typedef unsigned int   INT16U;
  12. typedef signed   int   INT16S;
  13. typedef unsigned long  INT32U;
  14. typedef signed   long  INT32S;*/
  15. void delay_ms(INT32U x);
  16. INT8U c,d;
  17. void main( void )
  18. {
  19.     INT8U txBuffer[10] = {1,2,3,4,5,6,7,8,9,10 }, rxBuffer[5];
  20.         INT32U x;
  21.         INT8U testbuffer[10] = {"00000"};
  22.         INT16U tx_couter = 0, itmp;

  23.         SPI_Initial( );
  24.         //GPIO_Initial( );
  25.         //初始化状态检测IO口,使用查询方式
  26.         /*PORTB |= ( 1<<6 ) | ( 1<<7 );
  27.         DDRB &= ~( ( 1<<6 ) | ( 1<<7 ) );*/
  28.     //RB1=1;RB2=1;
  29.     TRISB1=1;
  30.     TRISB2=1;

  31.         //初始化LED状态
  32.         //LED_On( );       

  33.         /*LCD_Init( );
  34.         LCD_Dis_Logo( );
  35.         LCD_Dis_Str( 2,24,"AVR  board" );
  36.     LCD_Dis_Str( 4,0,"yhmcu.taobao.com" );
  37.     LCD_Dis_Str( 6,0,"CC1101:TX " );
  38.     LCD_Dis_Str( 6, 80, (char*)testbuffer );*/
  39.                
  40.     //initialize CC1101
  41.         CC1101Init( ); //LED_Off( );
  42.     CC1101SetTRMode( TX_MODE );
  43.         while( 1 )
  44.         {
  45.              CC1101SetTRMode( TX_MODE );
  46.                 //delay some time
  47.                 for( x = 0; x < 10000; x ++ );
  48.                  //发送数据包,每发送一次,LED闪烁一次
  49.                 CC1101SendPacket( txBuffer,10, ADDRESS_CHECK );
  50.             CC1101SetTRMode( RX_MODE );
  51.         delay_ms(50);
  52.         c++;
  53.                 x = 10000;
  54.                 while( GET_GDO0( ) != 0 )
  55.                 {
  56.                         if( x ) { x--; }
  57.                         else  { break; }
  58.                 }
  59.                 if( x != 0 )
  60.                 {
  61.                         while( GET_GDO0( ) == 0 );
  62.                         if( CC1101RecPacket( rxBuffer ) == 5 )
  63.                         {
  64.                                 //已经收到应答数据
  65.                                 //LED_Toggle( );
  66.                         /*        tx_couter ++;
  67.                 itmp = tx_couter;
  68.                 testbuffer[0] = ( itmp / 10000 ) + '0';
  69.                 itmp %= 10000;
  70.                 testbuffer[1] = ( itmp / 1000 ) + '0';
  71.                 itmp %= 1000;
  72.                 testbuffer[2] = ( itmp / 100 ) + '0';
  73.                 itmp %= 100;
  74.                 testbuffer[3] = ( itmp / 10 ) + '0';
  75.                 itmp %= 10;
  76.                 testbuffer[4] = itmp + '0';
  77.                 testbuffer[5] = 0;*/
  78.                 //LCD_Dis_Str( 6, 80, (char*)testbuffer );
  79.                  d=1;
  80.                         }
  81.                         else
  82.                         {
  83.                                 d=2;//未收到应答数据,添加代码
  84.                         }
  85.                 }
  86.                 else  
  87.                 {                               
  88.                     //LED_On( );
  89.             d=3;
  90. ……………………

  91. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
loral-SPI.zip (345.69 KB, 下载次数: 64)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:387614 发表于 2018-8-18 16:19 | 只看该作者
很好很好 很好使
回复

使用道具 举报

板凳
ID:67199 发表于 2019-8-14 15:11 | 只看该作者
下载学习。
回复

使用道具 举报

地板
ID:48413 发表于 2019-8-29 19:25 | 只看该作者
谢谢你正需要那
回复

使用道具 举报

5#
ID:869731 发表于 2020-12-28 19:27 | 只看该作者
可以使用吗
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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