欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
NRF24LE1射頻標(biāo)簽 有源RFID源碼(單頻卡-優(yōu)化-500mS)
[打印本頁]
作者:
落草
時(shí)間:
2018-11-6 15:30
標(biāo)題:
NRF24LE1射頻標(biāo)簽 有源RFID源碼(單頻卡-優(yōu)化-500mS)
有源RFID的電子標(biāo)簽卡程序,使用24LE1的MCU+射頻來實(shí)現(xiàn),低功耗的有源電子標(biāo)簽
0.png
(11.27 KB, 下載次數(shù): 61)
下載附件
2018-11-6 18:34 上傳
源程序如下:
#include <reg24le1.h>
#include <stdint.h>
#include <API.h>
#include <nvdata.h>
#include <radio.h>
#include <system.h>
//#include <uart.h>
uint8_t data rx_buf[RX_PLOAD_WIDTH] = {0};
uint8_t data tx_buf[TX_PLOAD_WIDTH] = {0x00,0x00,0x00,0xEB};
uint8_t radio_status = 0;
uint8_t bdata sta; //IRQ中斷后,判斷是接收中斷、發(fā)送中斷和重發(fā)最大中斷。
sbit RX_DR =sta^6;
sbit TX_DS =sta^5;
sbit MAX_RT =sta^4;
uint8_t flag = 0,flag1 = 0; //定時(shí)器計(jì)數(shù)標(biāo)志變量
uint8_t pck_length = 0; //RF數(shù)據(jù)包長度
uint8_t cmd = 0; //卡號異或結(jié)果
uint8_t xdata packet[6] = {0}; //串口發(fā)送數(shù)據(jù)包
uint8_t xdata packet1[4] = {0}; //串口發(fā)送心跳包
/**************************************************
功能:主程序
**************************************************/
void main(void)
{
mcu_init(); //系統(tǒng)時(shí)鐘
//uart_init(); // 串口初始化
io_init(); // I/O口初始化
//timer1_init(); // 定時(shí)器初始化
rf_init(); // RF初始化
//RX_Mode(); // 進(jìn)入接收模式
TX_Mode(); // 進(jìn)入發(fā)送模式
EA=1; // 允許中斷
while(1)
{
watchdog_init();
//=====================PWRDWN節(jié)電模式=====================
RTC2CON |= 0x01; //RTC2配置開啟
PWRDWN = 0x04; //enter "pwr_dwn"=0x04,register retention寄存器保留
RTC2CON &=~ 0x01; //RTC2配置關(guān)閉
//LED1 = ~LED1;
//LED2 = ~LED2;
//ALM = ~ALM; //蜂鳴器
tx_buf[0] = ((tx_buf[1] ^ tx_buf[2] ^ tx_buf[3]) & 0x7f);
if(VotageStatusCheck())
tx_buf[1] |= 0x80;//置位電量不足標(biāo)志
else
tx_buf[1] &=~ 0x80;
//數(shù)據(jù)發(fā)射
SPI_Write_Buf(WR_TX_PLOAD,tx_buf,TX_PLOAD_WIDTH);
CE_PULSE(); //CE置高至少10us,CE置低
radio_status = 0xff;
while(radio_status==0xff); // Wait until radio ready
//數(shù)據(jù)發(fā)射完成
}
}
/**************************************************
功能:RF中斷服務(wù)程序
**************************************************/
void RF_IRQ(void) interrupt INTERRUPT_RFIRQ
{
sta=SPI_Read(STATUS); // 讀出狀態(tài)值
if(RX_DR)
{
SPI_Read_Buf(RD_RX_PLOAD,rx_buf,RX_PLOAD_WIDTH);// 讀出FIFO的數(shù)據(jù)
SPI_RW_Reg(FLUSH_RX,0); // 清除RX的FIFO
radio_status = 6;
}
if(TX_DS)
{
RFCE = 0;
radio_status = 5;
}
if(MAX_RT)
{
radio_status = 4;
}
SPI_RW_Reg(WRITE_REG+STATUS,0x70); // 清除所有中斷標(biāo)志
}
////////////////////////////////////////////////////////////////////////
void TimeSvr(void) interrupt INTERRUPT_TF1
{
TR1 = 0; //進(jìn)入后先關(guān)閉定時(shí)器,執(zhí)行完再打開
TH1 = 0x97;
TL1 = 0xD5; //20mS f=16M/12
flag ++;
if(flag >=50)
{
flag = 0;
//watchdog_init(); //喂狗
}
TR1 = 1;
}
void ri0_interrupt(void) interrupt INTERRUPT_RI0
{
if (RI0 == 1)
{
RI0 = 0;
/*
S0BUF = hal_flash_byte_read(HAL_DATA_NV_ADDRESS32);
while (!TI0); // 等待發(fā)送完成
TI0=0; // 清發(fā)送完成標(biāo)志
*/
}
/*
else if (TI0 == 1)
{
TI0 = 0;
}
*/
}
復(fù)制代碼
所有資料51hei提供下載:
24LE1_2.4GCard.zip
(70.01 KB, 下載次數(shù): 46)
2018-11-6 15:30 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
wjxwood
時(shí)間:
2019-9-10 10:00
編譯不了
作者:
yxw520
時(shí)間:
2020-6-23 10:37
發(fā)送的有錯(cuò)還往上發(fā)
作者:
SKYLAR123
時(shí)間:
2020-6-24 15:28
wjxwood 發(fā)表于 2019-9-10 10:00
編譯不了
怎么編譯不了啦,我下載下來編譯通過了
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1