找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6531|回復(fù): 3
收起左側(cè)

SX1278驅(qū)動(dòng)源碼資料下載

[復(fù)制鏈接]
ID:168408 發(fā)表于 2018-5-8 22:26 | 顯示全部樓層 |閱讀模式
    SX1278源碼資料,這是網(wǎng)從公司下的SX1278驅(qū)動(dòng)。

單片機(jī)源程序如下:
  1. /*
  2. * THE FOLLOWING FIRMWARE IS PROVIDED: (1) "AS IS" WITH NO WARRANTY; AND
  3. * (2)TO ENABLE ACCESS TO CODING INFORMATION TO GUIDE AND FACILITATE CUSTOMER.
  4. * CONSEQUENTLY, SEMTECH SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR
  5. * CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
  6. * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
  7. * CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  8. *
  9. * Copyright (C) SEMTECH S.A.
  10. */
  11. /*!
  12. * \file       main.c
  13. * \brief      Ping-Pong example application on how to use Semtech's Radio
  14. *             drivers.
  15. *
  16. * \version    2.0
  17. * \date       Nov 21 2012
  18. * \author     Miguel Luis
  19. */
  20. #include <string.h>
  21. #include <stdint.h>
  22. #include <stdbool.h>
  23. #include "platform.h"
  24. #include "led.h"

  25. #if USE_UART
  26. #include "uart.h"
  27. #endif

  28. #include "radio.h"


  29. #define BUFFER_SIZE                                 9 // Define the payload size here


  30. static uint16_t BufferSize = BUFFER_SIZE;                        // RF buffer size
  31. static uint8_t Buffer[BUFFER_SIZE];                                        // RF buffer

  32. static uint8_t EnableMaster = true;                                 // Master/Slave selection

  33. tRadioDriver *Radio = NULL;

  34. const uint8_t PingMsg[] = "PING";
  35. const uint8_t PongMsg[] = "PONG";

  36. /*
  37. * Manages the master operation
  38. */
  39. void OnMaster( void )
  40. {
  41.     uint8_t i;
  42.    
  43.     switch( Radio->Process( ) )
  44.     {
  45.     case RF_RX_TIMEOUT:
  46.         // Send the next PING frame
  47.         Buffer[0] = 'P';
  48.         Buffer[1] = 'I';
  49.         Buffer[2] = 'N';
  50.         Buffer[3] = 'G';
  51.         for( i = 4; i < BufferSize; i++ )
  52.         {
  53.             Buffer[i] = i - 4;
  54.         }
  55.         Radio->SetTxPacket( Buffer, BufferSize );
  56.         break;
  57.     case RF_RX_DONE:
  58.         Radio->GetRxPacket( Buffer, ( uint16_t* )&BufferSize );
  59.    
  60.         if( BufferSize > 0 )
  61.         {
  62.             if( strncmp( ( const char* )Buffer, ( const char* )PongMsg, 4 ) == 0 )
  63.             {
  64.                 // Indicates on a LED that the received frame is a PONG
  65.                 LedToggle( LED_GREEN );

  66.                 // Send the next PING frame            
  67.                 Buffer[0] = 'P';
  68.                 Buffer[1] = 'I';
  69.                 Buffer[2] = 'N';
  70.                 Buffer[3] = 'G';
  71.                 // We fill the buffer with numbers for the payload
  72.                 for( i = 4; i < BufferSize; i++ )
  73.                 {
  74.                     Buffer[i] = i - 4;
  75.                 }
  76.                 Radio->SetTxPacket( Buffer, BufferSize );
  77.             }
  78.             else if( strncmp( ( const char* )Buffer, ( const char* )PingMsg, 4 ) == 0 )
  79.             { // A master already exists then become a slave
  80.                 EnableMaster = false;
  81.                 LedOff( LED_RED );
  82.             }
  83.         }            
  84.         break;
  85.     case RF_TX_DONE:
  86.         // Indicates on a LED that we have sent a PING
  87.         LedToggle( LED_RED );
  88.         Radio->StartRx( );
  89.         break;
  90.     default:
  91.         break;
  92.     }
  93. }

  94. /*
  95. * Manages the slave operation
  96. */
  97. void OnSlave( void )
  98. {
  99.     uint8_t i;

  100.     switch( Radio->Process( ) )
  101.     {
  102.     case RF_RX_DONE:
  103.         Radio->GetRxPacket( Buffer, ( uint16_t* )&BufferSize );
  104.    
  105.         if( BufferSize > 0 )
  106.         {
  107.             if( strncmp( ( const char* )Buffer, ( const char* )PingMsg, 4 ) == 0 )
  108.             {
  109.                 // Indicates on a LED that the received frame is a PING
  110.                 LedToggle( LED_GREEN );

  111.                // Send the reply to the PONG string
  112.                 Buffer[0] = 'P';
  113.                 Buffer[1] = 'O';
  114.                 Buffer[2] = 'N';
  115.                 Buffer[3] = 'G';
  116.                 // We fill the buffer with numbers for the payload
  117.                 for( i = 4; i < BufferSize; i++ )
  118.                 {
  119.                     Buffer[i] = i - 4;
  120.                 }

  121.                 Radio->SetTxPacket( Buffer, BufferSize );
  122.             }
  123.         }
  124.         break;
  125.     case RF_TX_DONE:
  126.         // Indicates on a LED that we have sent a PONG
  127.         LedToggle( LED_RED );
  128.         Radio->StartRx( );
  129.         break;
  130.     default:
  131.         break;
  132.     }
  133. }


  134. /*
  135. * Main application entry point.
  136. */
  137. int main( void )
  138. {
  139.     BoardInit( );
  140.    
  141.     Radio = RadioDriverInit( );
  142.    
  143.     Radio->Init( );

  144.     Radio->StartRx( );
  145.    
  146.     while( 1 )
  147.     {
  148.         if( EnableMaster == true )
  149.         {
  150.             OnMaster( );
  151.         }
  152.         else
  153. ……………………

  154. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
sx12xxdrivers-v2.1.0.zip (1.85 MB, 下載次數(shù): 111)


回復(fù)

使用道具 舉報(bào)

ID:370019 發(fā)表于 2019-6-7 11:24 | 顯示全部樓層
那么問(wèn)題來(lái)了,這個(gè)驅(qū)動(dòng)是51驅(qū)動(dòng)?
回復(fù)

使用道具 舉報(bào)

ID:201953 發(fā)表于 2020-4-15 19:35 | 顯示全部樓層
先下來(lái)看看,再說(shuō)
。謝謝分享。
回復(fù)

使用道具 舉報(bào)

ID:962485 發(fā)表于 2024-4-4 16:14 | 顯示全部樓層
tcjsjxx123 發(fā)表于 2019-6-7 11:24
那么問(wèn)題來(lái)了,這個(gè)驅(qū)動(dòng)是51驅(qū)動(dòng)?

是51的嗎,老哥
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表