標題:
關(guān)于SI4438的射頻收發(fā)程序,包括四線SPI讀寫源程序
[打印本頁]
作者:
NUAAII子林
時間:
2017-6-26 14:28
標題:
關(guān)于SI4438的射頻收發(fā)程序,包括四線SPI讀寫源程序
這是SI4438的射頻收發(fā)程序,使用STM系列MCU通過四線SPI實現(xiàn)對SI4438的讀寫操作。
源程序見附件。
0.png
(50.21 KB, 下載次數(shù): 149)
下載附件
2017-6-26 18:09 上傳
所有資料51hei提供下載:
SI4438 初始化 和收發(fā)函數(shù).zip
(16.56 KB, 下載次數(shù): 154)
2017-6-26 14:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
單片機源程序如下:
#include "SI4463_src.h"
/*********************************************************************
** Constant Declaration
*********************************************************************/
const u8 config_table[] = RADIO_CONFIGURATION_DATA_ARRAY;
const u8 config_10k[] = RADIO_CONFIGURATION_DATA_10K;
/*********************************************************************
** Nrf24l01_InterFace
*********************************************************************/
void SI4463_InterFace(void)
{
//init io pin
GPIO_Init(SI_SDN_GPIO,SI_SDN_PIN,GPIO_MODE_OUT_PP_HIGH_FAST);//SDN 引腳設(shè)置為輸出
Init_SPI();
}
/*
=================================================================================
SI446X_CMD( );
Function : Send a command to the device
INTPUT : cmd, the buffer stores the command array
cmdsize, the size of the command array
OUTPUT : NONE
=================================================================================
*/
void SI446X_CMD( u8 *cmd, u8 cmdsize )
{
SI446X_WAIT_CTS( );
SS_LOW( );
while( cmdsize -- )
{
SPI_ExchangeByte( *cmd++ );
}
SS_HIGH( );
}
/*
=================================================================================
SI446X_POWER_UP( );
Function : Power up the device
INTPUT : f_xtal, the frequency of the external high-speed crystal
OUTPUT : NONE
=================================================================================
*/
void SI446X_POWER_UP( u32 f_xtal )
{
u8 cmd[7];
cmd[0] = POWER_UP;
cmd[1] = 0x01;
cmd[2] = 0x00;
cmd[3] = f_xtal>>24;
cmd[4] = f_xtal>>16;
cmd[5] = f_xtal>>8;
cmd[6] = f_xtal;
SI446X_CMD( cmd, 7 );
}
/*
=================================================================================
SI446X_READ_RESPONSE( );
Function : read a array of command response
INTPUT : buffer, a buffer, stores the data responsed
size, How many bytes should be read
OUTPUT : NONE
=================================================================================
*/
void SI446X_READ_RESPONSE( u8 *buffer, u8 size )
{
SI446X_WAIT_CTS( );
SS_LOW( );
SPI_ExchangeByte( READ_CMD_BUFF );
while( size -- )
{
*buffer++ = SPI_ExchangeByte( 0xFF );
}
SS_HIGH( );
}
/*
=================================================================================
SI446X_WAIT_CTS( );
Function : wait the device ready to response a command
INTPUT : NONE
OUTPUT : NONE
=================================================================================
*/
void SI446X_WAIT_CTS( void )
{
u8 cts;
for(u16 i=0xffff;i>0;i--) //5000次查詢等待
{
SS_LOW( );
SPI_ExchangeByte( READ_CMD_BUFF );
cts = SPI_ExchangeByte( 0xFF );
SS_HIGH( );
if(cts == 0xFF)
break;
}
}
/*
=================================================================================
SI446X_NOP( );
Function : NO Operation command
INTPUT : NONE
OUTPUT : NONE
=================================================================================
*/
u8 SI446X_NOP( void )
{
u8 cts;
SS_LOW( );
cts = SPI_ExchangeByte( NOP );
SS_HIGH( );
return cts;
}
/*
=================================================================================
SI446X_PART_INFO( );
Function : Read the PART_INFO of the device, 8 bytes needed
INTPUT : buffer, the buffer stores the part information
OUTPUT : NONE
=================================================================================
*/
void SI446X_PART_INFO( u8 *buffer )
{
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
作者:
admin
時間:
2017-6-26 18:12
好資料,51黑有你更精彩!!!
作者:
fyp0303
時間:
2017-9-12 14:52
非常感謝樓主無私奉獻,謝謝。
作者:
young182
時間:
2017-10-4 19:31
怎么沒有主函數(shù)部分?
作者:
afa3161
時間:
2018-3-8 11:07
感謝樓主,學(xué)習(xí)一下
作者:
afa3161
時間:
2018-3-8 11:08
感謝樓主,正好需要這個學(xué)習(xí)一下
作者:
cnc2020
時間:
2018-3-10 11:59
不錯,有用,謝謝樓主分享
作者:
Jetson
時間:
2018-3-22 16:43
好東西啊 正好有用
作者:
HiHiHiHi
時間:
2018-9-26 16:19
感謝樓主,正好需要這個學(xué)習(xí)一下
作者:
coobakl
時間:
2018-9-28 13:18
感謝樓主,正好需要這個學(xué)習(xí)一下
作者:
zqdl
時間:
2018-11-30 09:38
感謝樓主,正好需要這個學(xué)習(xí)一下
作者:
pm1981
時間:
2018-12-29 09:43
留著備用
作者:
周超然
時間:
2018-12-29 13:29
可以,現(xiàn)在可以用4463代替了,
麻煩樓主在寫一份吧。
作者:
wjsxgd
時間:
2019-4-28 23:41
正好要學(xué)習(xí)。有一些問題想解決。樓主給大家提供了一個學(xué)習(xí)機會。謝謝。
作者:
kevin209
時間:
2019-7-20 15:16
謝謝分享!
作者:
helloworld86
時間:
2020-6-4 13:48
謝謝樓主分享
作者:
bigproblem
時間:
2022-2-6 22:14
多謝樓主分享,刷新一下,重復(fù)扣分。
作者:
zhang31
時間:
2024-7-9 16:15
感謝樓主 雖然還不會用 正在努力沖鋒中
作者:
ybp589
時間:
2025-3-5 21:00
感謝樓主,學(xué)習(xí)一下
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1