欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
Stm8S CC1101接收及發送源程序
[打印本頁]
作者:
skys2000
時間:
2018-5-7 21:53
標題:
Stm8S CC1101接收及發送源程序
根據澤耀官方的STM8L101的例程移植的STM8S103 CC1101接收發送程序引腳有所變化,具體參見CC1101.h 和 SPI.h 的引腳定義
適用于澤耀及億佰特的CC1101 SPI 接口模塊,同理,改改就能適用于24L01模塊
單片機源程序如下:
#define __CC1101_TX_TEST__ //**@@ 如果測試發送功能則需要定義該宏,如果測試接收則需要屏蔽該宏 **@@//
//#define __USE_SOFT_SPI_INTERFACE__ //**@@ 如果使用軟件SPI則需要定義該宏,反之如果使用硬件SPI則需要屏蔽該宏 **@@//
#include "main.h" //main.h 中含有TX/RX、軟件SPI/硬件SPI選擇配置選項
#include "stdio.h"
const char *g_Ashining = "ashining";
uint8_t g_TxMode = 0;
uint8_t g_UartRxBuffer[ 100 ] = { 0 };
uint8_t g_RF24L01RxBuffer[ 32 ] = { 0 };
/**
* @brief :主函數
* @param :無
* @note :無
* @retval:無
*/
int main( void )
{
uint8_t i = 0;
//串口初始化
drv_uart_init( 9600 );
//LED初始化
drv_led_init( );
//SPI初始化
drv_spi_init( );
//CC1101初始化
CC1101_Init( );
for( i = 0; i < 3; i++ )
{
led_red_flashing( );
led_green_flashing( );
drv_delay_ms( 500 );
}
#ifdef __CC1101_TX_TEST__
//=========================================================================================//
//*****************************************************************************************//
//************************************* 發送 **********************************************//
//*****************************************************************************************//
//=========================================================================================//
//按鍵初始化
drv_button_init( );
while( 1 )
{
//模式切換
if( BUTOTN_PRESS_DOWN == drv_button_check( ))
{
g_TxMode = 1 - g_TxMode; //模式會在 TX_MODE_1( 0 ),TX_MODE_2( 1 )之間切換
//狀態顯示清零
led_green_off( );
led_red_off( );
if( TX_MODE_1 == g_TxMode )
{
for( i = 0; i < 3; i++ )
{
led_red_flashing( ); //固定發送模式,紅燈閃爍3次
drv_delay_ms( 300 );
}
}
else
{
for( i = 0; i < 6; i++ )
{
led_green_flashing( ); //串口發送模式,綠燈閃爍3次
drv_delay_ms( 300 );
}
}
}
//發送
if( TX_MODE_1 == g_TxMode )
{
CC1101_Tx_Packet( (uint8_t *)g_Ashining, 8 , ADDRESS_CHECK ); //模式1發送固定字符,1S一包
drv_delay_ms( 1000 );
led_red_flashing( );
//drv_uart_tx_bytes("sending\r\n",9);
printf("固定發送模式\r\n");
}
else
{
//查詢串口數據
//drv_uart_tx_bytes("uart...\r\n",9);
printf("串口發送模式\r\n");
i = drv_uart_rx_bytes( g_UartRxBuffer );
if( 0 != i )
{
CC1101_Tx_Packet( g_UartRxBuffer, i , ADDRESS_CHECK );
led_red_flashing( );
}
}
}
#else
//=========================================================================================//
//*****************************************************************************************//
//************************************* 接收 **********************************************//
//*****************************************************************************************//
//=========================================================================================//
{
//printf("接收數據模式");
drv_uart_tx_bytes("receive\r\n",9);
while( 1 )
{
CC1101_Clear_RxBuffer( );
CC1101_Set_Mode( RX_MODE );
i = CC1101_Rx_Packet( g_RF24L01RxBuffer ); //接收字節
if( 0 != i )
{
led_green_flashing( );
drv_uart_tx_bytes( g_RF24L01RxBuffer, i ); //輸出接收到的字節
}
drv_delay_ms(500);
}
}
#endif
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t* file, uint32_t line)
{
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* Infinite loop */
while (1)
{
}
}
#endif
/**
* @}
*/
復制代碼
所有資料51hei提供下載:
C1101.rar
(1.71 MB, 下載次數: 90)
2018-5-7 21:53 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
lqsgg
時間:
2018-10-16 16:43
謝謝分享!學習學習!
作者:
bluewater07
時間:
2019-10-2 21:21
謝謝分享
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1