|
Si24R1各種工作模式示例代碼
1.關(guān)斷模式:不再接收或發(fā)送數(shù)據(jù),是功耗最低的模式,低至0.7uA?梢酝ㄟ^SPI接口喚醒并切換到待機(jī)模式。
代碼如下(示例):
/********************************************************
函數(shù)功能:關(guān)斷模式
入口參數(shù):void
返回 值:void
*********************************************************/
void ST24R1Shotoff(void)
{
IO_CE_LOW();
SI24R1_Write_Reg(WRITE_REG+ CONFIG, 0x0c); // 關(guān)斷模式
}
2.待機(jī)模式:時(shí)鐘處于工作,也不再接收或發(fā)送數(shù)據(jù),功耗較低,大概在15uA。可以通過拉高CE引腳進(jìn)入發(fā)送空閑模式或接收模式。
代碼如下(示例):
/********************************************************
函數(shù)功能:將CE引腳拉低,使SI24R1進(jìn)入待機(jī)模式
入口參數(shù):void
返回 值:void
*********************************************************/
void ST24R1EnterStandby(void)
{
IO_CE_LOW();
}
/********************************************************
函數(shù)功能:將CE引腳拉高,使SI24R1退出待機(jī)模式
入口參數(shù):void
返回 值:void
*********************************************************/
void ST24R1ExitStandby(void)
{
IO_CE_HIGH();
}
3.發(fā)送模式:模塊被配置為發(fā)送數(shù)據(jù)的設(shè)備。它使用無(wú)線電信道將數(shù)據(jù)傳輸給一個(gè)或多個(gè)接收設(shè)備,發(fā)射電流為12mA。
代碼如下(示例):
/********************************************************
函數(shù)功能:SI24R1發(fā)送模式
入口參數(shù):void
返回 值:void
*********************************************************/
void SI24R1_TX_Mode(void)
{
IO_CE_LOW();
SI24R1_Write_Buf(WRITE_REG+ TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); // 寫入發(fā)送地址
SI24R1_Write_Buf(WRITE_REG+ RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // 為了應(yīng)答接收設(shè)備,接收通道0地址和發(fā)送地址相同
SI24R1_Write_Reg(WRITE_REG+ EN_AA, 0x01); // 使能接收通道0自動(dòng)應(yīng)答
SI24R1_Write_Reg(WRITE_REG+ EN_RXADDR, 0x01); // 使能接收通道0
SI24R1_Write_Reg(WRITE_REG+ SETUP_RETR, 0x0A); // 自動(dòng)重發(fā)延時(shí)等待250us+86us,自動(dòng)重發(fā)30次
SI24R1_Write_Reg(WRITE_REG+ RF_CH, DEFAULT_FREQUENCY); // 選擇射頻通道0x40
SI24R1_Write_Reg(WRITE_REG+ RF_SETUP, TX_TRANSMIT_POWER | RF_DATA_RATE); // 數(shù)據(jù)傳輸率2Mbps,發(fā)射功率7dBm
SI24R1_Write_Reg(WRITE_REG+ CONFIG, 0x0e); // CRC使能,16位CRC校驗(yàn),上電,發(fā)送模式
SI24R1_Write_Reg(WRITE_REG+ STATUS, 0xff); // 清除所有的中斷標(biāo)志位
SI24R1_Write_Reg(FLUSH_TX,0xff); // 清除TX FIFO寄存器
IO_CE_HIGH();
}
4.接收模式:模塊被配置為接收數(shù)據(jù)的設(shè)備。它通過無(wú)線電信道接收來(lái)自發(fā)送設(shè)備的數(shù)據(jù),接收電流為15mA。
代碼如下(示例):
/********************************************************
函數(shù)功能:SI24R1接收模式
入口參數(shù):void
返回 值:void
*********************************************************/
void SI24R1_RX_Mode(void)
{
IO_CE_LOW();
SI24R1_Write_Buf(WRITE_REG+ RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // 接收設(shè)備接收通道0使用和發(fā)送設(shè)備相同的發(fā)送地址
SI24R1_Write_Reg(WRITE_REG+ EN_AA, 0x01); // 使能接收通道0自動(dòng)應(yīng)答
SI24R1_Write_Reg(WRITE_REG+ EN_RXADDR, 0x01); // 使能接收通道0
SI24R1_Write_Reg(WRITE_REG+ RF_CH, DEFAULT_FREQUENCY); // 選擇射頻通道0x40
SI24R1_Write_Reg(WRITE_REG+ RX_PW_P0, TX_PLOAD_WIDTH); // 接收通道0選擇和發(fā)送通道相同有效數(shù)據(jù)寬度
SI24R1_Write_Reg(WRITE_REG+ RF_SETUP, TX_TRANSMIT_POWER | RF_DATA_RATE); // 數(shù)據(jù)傳輸率2Mbps,發(fā)射功率7dBm
SI24R1_Write_Reg(WRITE_REG+ CONFIG, 0x0f); // CRC使能,16位CRC校驗(yàn),上電,接收模式
SI24R1_Write_Reg(WRITE_REG+ STATUS, 0xff); // 清除所有的中斷標(biāo)志位
IO_CE_HIGH(); // 拉高CE啟動(dòng)接收設(shè)備
}
|
-
-
si24r1.pdf
2024-4-24 14:41 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
1.58 MB, 下載次數(shù): 2, 下載積分: 黑幣 -5
中文手冊(cè)
|