也是终于把板子搞好了

1、发送程序
#include "main.h"
#include "bsp_adc.h"
#include "stdio.h"
#include "Serial.h"
#include "AD.h"
char g_Ashining[5] = "00000";
uint8_t g_TxMode = 0, g_UartRxFlag = 0;
uint8_t g_UartRxBuffer[ 100 ] = { 0 };
uint8_t g_RF24L01RxBuffer[ 32 ] = { 0 };
uint8_t ceshi[ 32 ] = { 1 };
uint16_t ADValue;
uint8_t AD0, AD1, AD2, AD3;
float Voltage;
extern __IO uint16_t ADC_ConvertedValue;
// 局部变量,用于保存转换计算后的电压值
// 软件延时
void Delay(__IO uint32_t nCount)
{
for(; nCount != 0; nCount--);
}
/**
* @brief :主函数
* @param :无
* @note :无
* @retval:无
*/
int main( void )
{
uint8_t i = 0;
//ADC初始化
//ADCx_Init();
//串口初始化
drv_uart_init( 9600 );
//延时初始化
drv_delay_init( );
//LED初始化
drv_led_init( );
//SPI初始化
drv_spi_init( );
//CC1101初始化
CC1101_Init( );
//ADC初始化
AD_Init();
for( i = 0; i < 6; i++ )
{
led_red_flashing( );
led_green_flashing( );
drv_delay_500Ms( 1 );
}
i = 0;
while( 1 )
{
ADValue = AD_GetValue(ADC_Channel_0);
AD0 = ADValue/1000;
AD1 = (ADValue%1000) / 100;
AD2 = (ADValue%100) / 10;
AD3 = ADValue%10;
g_Ashining[0] = AD0 + '0';
g_Ashining[1] = AD1 + '0';
g_Ashining[2] = AD2 + '0';
g_Ashining[3] = AD3 + '0';
//g_Ashining = "11022";
//snprintf(g_Ashining, sizeof(g_Ashining), "%d", AD0);
// CC1101_Tx_Packet( (uint8_t *)g_Ashining, 8 , ADDRESS_CHECK ); //模式1发送固定字符,1S一包
CC1101_Tx_Packet( (uint8_t *)g_Ashining, 8 , ADDRESS_CHECK ); //模式1发送固定字符,1S一包
//drv_delay_ms(100);
//drv_delay_ms(100);
CC1101_Clear_TxBuffer();
i++;
if(i == 5)
{
//CC1101_Reset();
i = 0;
}
}
}
2、接收程序
#include "Serial.h"
#include "stdio.h"
#include <string.h>
#include "main.h"
#include "LED.h"
const char *g_Ashining = "ashining";
uint8_t g_TxMode = 0, g_UartRxFlag = 0;
uint8_t g_UartRxBuffer[ 100 ] = { 0 };
uint8_t g_RF24L01RxBuffer[ 32 ] = { 0 };
uint8_t Display[ 32 ] = { 0 };
uint16_t AD0 = 0;
/**
* @brief :主函数
* @param :无
* @note :无
* @retval:无
*/
int main( void )
{
uint8_t i = 0;
//串口初始化
drv_uart_init( 9600 );
//延时初始化
drv_delay_init( );
//LED初始化
drv_led_init( );
//SPI初始化
drv_spi_init( );
//CC1101初始化
CC1101_Init( );
//LED初始化
LED_Init();
for( i = 0; i < 6; i++ )
{
led_red_flashing( );
led_green_flashing( );
drv_delay_500Ms( 1 );
}
while( 1 )
{
CC1101_Clear_RxBuffer( );
CC1101_Set_Mode( RX_MODE );
Serial_SendString("RSSI: ");
Serial_SendNumber(CC1101_Read_Reg(0xF4), 2);
Serial_SendString(" LQI: ");
Serial_SendNumber(CC1101_Read_Reg(0x33), 2);
Serial_SendString("\n");
i = CC1101_Rx_Packet( g_RF24L01RxBuffer ); //接收字节
if( 0 != i )
{
//AD0 = g_RF24L01RxBuffer[0]*1000 - '0';
//Serial_SendNumber(AD0, 1);
//Serial_SendArray(g_RF24L01RxBuffer, 4);
Display[0] = g_RF24L01RxBuffer[0];
Display[1] = g_RF24L01RxBuffer[1];
Display[2] = g_RF24L01RxBuffer[2];
Display[3] = g_RF24L01RxBuffer[3];
AD0 = (Display[0] - 0x30)*1000 + (Display[1] - 0x30)*100 + (Display[2] - 0x30)*10 + (Display[3] - 0x30)*1;
//Serial_SendNumber(AD0, 4);
//Serial_SendByte(CC1101_Read_Reg(0x34)); //读取RSSI值
if(AD0 >= 4080)
{
LED0_ON();
LED1_ON();
LED2_ON();
LED3_ON();
LED4_ON();
LED5_ON();
LED6_ON();
LED7_ON();
}
else if(AD0 >= 3583)
{
LED0_ON();
LED1_ON();
LED2_ON();
LED3_ON();
LED4_ON();
LED5_ON();
LED6_ON();
LED7_OFF();
}
else if(AD0 >= 3510)
{
LED0_ON();
LED1_ON();
LED2_ON();
LED3_ON();
LED4_ON();
LED5_ON();
LED6_OFF();
LED7_OFF();
}
else if(AD0 >= 2925)
{
LED0_ON();
LED1_ON();
LED2_ON();
LED3_ON();
LED4_ON();
LED5_OFF();
LED6_OFF();
LED7_OFF();
}
else if(AD0 >= 2340)
{
LED0_ON();
LED1_ON();
LED2_ON();
LED3_ON();
LED4_OFF();
LED5_OFF();
LED6_OFF();
LED7_OFF();
}
else if(AD0 >= 1755)
{
LED0_ON();
LED1_ON();
LED2_ON();
LED3_OFF();
LED4_OFF();
LED5_OFF();
LED6_OFF();
LED7_OFF();
}
else if(AD0 >= 1170)
{
LED0_ON();
LED1_ON();
LED2_OFF();
LED3_OFF();
LED4_OFF();
LED5_OFF();
LED6_OFF();
LED7_OFF();
}
else if(AD0 >= 585)
{
LED0_ON();
LED1_OFF();
LED2_OFF();
LED3_OFF();
LED4_OFF();
LED5_OFF();
LED6_OFF();
LED7_OFF();
}
else if(AD0 <= 585)
{
LED0_OFF();
LED1_OFF();
LED2_OFF();
LED3_OFF();
LED4_OFF();
LED5_OFF();
LED6_OFF();
LED7_OFF();
}
}
}
}
编译、下载
成功通过发送端的电位器控制接收端的LED灯









