亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? board.c

?? chipcom公司CC1100無線模塊底層驅動程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/****************************************************/
/* Application note                                 */
/* Reference design : CC1100 RF Test Board          */
/* File:         board.c                            */
/* Revision:  1.0                                   */
/* Description:                                     */
/* Microcontroller:ATmega48/48V                     */
/* Author:  Zcg, Field Applications Engineer, SunRay*/
/****************************************************/
 
#include "iom88v.h"
#include "macros.h" 
#include "main.h"
#include "CC1100.h"
#include "board.h"
#include "simpleio.h"

INT8U Test_RFTx_Buf[MAX_DATA_TEST];		//測試數據緩沖區

INT8U UartReceive_Buf[MAX_UT_BUFF];     //射頻發送(串口接收)緩存
INT8U RFReceive_Buf[MAX_RF_BUFF];       //射頻接收(串口發送)緩存

INT8U RFSend_Start;
INT8U RFSendCnt;        //射頻發送計數器,記錄要發送的字節個數
INT8U RFReceiveCnt;     //串口接收計數器

INT8U RFReceiveLen;     //串口發送字節長度

INT8U RFSendFlg;        //當串口接收完一包數據,置該標志
INT8U RFReceiveFlg;     //當射頻接收完一包數據,置該標志


INT8U RXOTFlg;          //串口接收數據超時標志
INT8U RXOTCnt;          //串口接收數據超時計數器

INT8U Baud_Set_Num;		//跳線開關波特率
INT8U Chno_Set_Num;		//跳線開關信道值

INT8U  Beep_Flag;		//蜂鳴器開啟標志
INT16U Beep_Time;		//蜂鳴器開啟時間

const SYS_SETTINGS Sys_Set[8] =
{
	{T_T0_18MS,0x40,0x03,0xC4,0x86,0x10,600},//000 600
	{T_T0_10MS,0x9F,0x01,0xF5,0x83,0x15,1200},//001 1200
	{T_T0_8MS ,0xCF,0x00,0xC6,0x83,0x15,2400},//010 2400
	{T_T0_4MS ,0x67,0x00,0xC7,0x83,0x40,4800},//011 4800
	{T_T0_2MS ,0x33,0x00,0xC8,0x83,0x34,9600},//100 9600
	{T_T0_2MS ,0x19,0x00,0xC9,0x83,0x34,19200},//101 19200
	{T_T0_2MS ,0x0C,0x00,0xCA,0x83,0x34,38400},//110 38400
	{T_T0_2MS ,0x08,0x00,0xCB,0x83,0x45,57600},//111 57600
};



INT8U paTable[8] = {0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D};
#if 0
INT8U rfSettings[39] = {
	0x06,   //*0x0B IOCFG2    GDO2 output pin configuration.
    0x2E,   //*0x2E IOCFG1    GDO1 output pin configuration.
    0x2E,   //*0x0C IOCFG0   GDO0 output pin configuration. Refer to SmartRF?Studio User Manual for detailed pseudo register explanation.
    0x07, 	// FIFOTHR  RX FIFO and TX FIFO thresholds
	0xD3, 	// SYNC1  Sync word, high byte
	0x91, 	// SYNC0  Sync word, low byte
    0xFF,   // PKTLEN    Packet length.
    0x24,   //*0x00 PKTCTRL1  Packet automation control.
    0x45,   //*0x12 PKTCTRL0  Packet automation control.
    0x00,   // ADDR      Device address.
    0x00,   // CHANNR    Channel number.
    0x0C,   //*0x06 FSCTRL1   Frequency synthesizer control.
    0x00,   // FSCTRL0   Frequency synthesizer control.
    0x10,   // FREQ2     Frequency control word, high byte.
    0xA7,   // FREQ1     Frequency control word, middle byte.
    0x62,   // FREQ0     Frequency control word, low byte.
    0xF5,   //* MDMCFG4   Modem configuration.
    0x83,   //* MDMCFG3   Modem configuration.
    0x03,   //*0x00 MDMCFG2   Modem configuration.
    0x22,   // MDMCFG1   Modem configuration.
    0xF8,   // MDMCFG0   Modem configuration.
    0x15,   // DEVIATN   Modem deviation setting (when FSK modulation is enabled).
	0x0E,   //*0x07 MCSM2     Main Radio Control State Machine configuration.
	0x30,   // MCSM1     Main Radio Control State Machine configuration.
    0x18,   // MCSM0     Main Radio Control State Machine configuration.
    0x15,   //*0x16 FOCCFG    Frequency Offset Compensation Configuration.
    0x6C,   // BSCFG     Bit synchronization Configuration.
    0x03,   // AGCCTRL2  AGC control.
    0x40,   // AGCCTRL1  AGC control.
    0x91,   // AGCCTRL0  AGC control.
	0x87,   // WOREVT1  0x1E  //定義EVENT0時間
	0x6B,   // WOREVT0  0x1F  //...
	0xF8,   // WORCTRL  0x20  //關閉RC,定義EVENT1時間
    0x56,   // FREND1    Front end RX configuration.
    0x10,   // FREND0    Front end RX configuration.
    0xA9,   //* FSCAL3    Frequency synthesizer calibration.
    0x2A,   //* FSCAL2    Frequency synthesizer calibration.
    0x0D,   //* FSCAL1    Frequency synthesizer calibration.
    0x11,   //* FSCAL0    Frequency synthesizer calibration.
};
#endif
#define RF_CENTER	429
#define RF_429
#if 1
const RF_SETTINGS rfSettings = {
	0x06,   //*0x0B IOCFG2    GDO2 output pin configuration.
    0x2E,   //*0x2E IOCFG1    GDO1 output pin configuration.
    0x2E,   //*0x0C IOCFG0   GDO0 output pin configuration. Refer to SmartRF?Studio User Manual for detailed pseudo register explanation.
    0x07, 	// FIFOTHR  RX FIFO and TX FIFO thresholds
	0xD3, 	// SYNC1  Sync word, high byte
	0x91, 	// SYNC0  Sync word, low byte
    0xFF,   // PKTLEN    Packet length.
    0x04,   //*0x00 PKTCTRL1  Packet automation control.
    0x45,   //*0x12 PKTCTRL0  Packet automation control.
    0x00,   // ADDR      Device address.
    0x00,   // CHANNR    Channel number.
    0x06,//0x0C,   //*0x06 FSCTRL1   Frequency synthesizer control.
    0x00,   // FSCTRL0   Frequency synthesizer control.
#ifdef RF_429
    0x10,   // FREQ2     Frequency control word, high byte.
    0x80,   // FREQ1     Frequency control word, middle byte.
    0x83,   // FREQ0     Frequency control word, low byte.
#endif

#ifdef RF_433
    0x10,   // FREQ2     Frequency control word, high byte.
    0xA7,   // FREQ1     Frequency control word, middle byte.
    0x62,   // FREQ0     Frequency control word, low byte.
#endif
#ifdef RF_461
    0x11,   // FREQ2     Frequency control word, high byte.
    0xBB,   // FREQ1     Frequency control word, middle byte.
    0x13,   // FREQ0     Frequency control word, low byte.
#endif
    0xF5,   // MDMCFG4   Modem configuration.
    0x83,   // MDMCFG3   Modem configuration.
    0x03,   //*0x00 MDMCFG2   Modem configuration.
    0x22,   // MDMCFG1   Modem configuration.
    0xF8,   // MDMCFG0   Modem configuration.
    0x15,   // DEVIATN   Modem deviation setting (when FSK modulation is enabled).
	0x0E,   //*0x07 MCSM2     Main Radio Control State Machine configuration.
	0x30,   // MCSM1     Main Radio Control State Machine configuration.
    0x18,   // MCSM0     Main Radio Control State Machine configuration.
    0x16,//0x15,   //*0x16 FOCCFG    Frequency Offset Compensation Configuration.
    0x6C,   // BSCFG     Bit synchronization Configuration.
    0x03,   // AGCCTRL2  AGC control.
    0x40,   // AGCCTRL1  AGC control.
    0x91,   // AGCCTRL0  AGC control.
	0x87,   // WOREVT1  0x1E  //定義EVENT0時間
	0x6B,   // WOREVT0  0x1F  //...
	0xF8,   // WORCTRL  0x20  //關閉RC,定義EVENT1時間
    0x56,   // FREND1    Front end RX configuration.
    0x10,   // FREND0    Front end RX configuration.
    0xE9,//0xA9,   //*0xE9 FSCAL3    Frequency synthesizer calibration.
    0x2A,//0x2A,   //*0x2A FSCAL2    Frequency synthesizer calibration.
    0x00,//0x0D,   //*0x00 FSCAL1    Frequency synthesizer calibration.
    0x1F,//0x11,   //*0x1F FSCAL0    Frequency synthesizer calibration.
};
#endif
INT8U RFState;          //保存射頻狀態,共兩種狀態:發送、接收狀態


INT8U CC1100IntHFlg;    //CC1100產生高電平中斷標志
INT8U CC1100IntLFlg;

/*
************************************************************
*Description:RF收發中斷處理函數
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
#pragma interrupt_handler IntPCINT2:iv_PCINT2
void IntPCINT2 (void)
{
	if (GDO2_STATE != 0x00)
	{
	    CC1100IntHFlg = TRUE;   //上升沿中斷,等待下降沿中斷
		if(RFSend_Start==TRUE)
		{
			//TXEN_SET_L;//打開功率放大
			//RXEN_SET_L;//打開功率放大
		}
	}
	if ((CC1100IntHFlg == TRUE) && (GDO2_STATE == 0x00))
	{
	    CC1100IntHFlg = FALSE;  //下降沿中斷
		CC1100IntLFlg = TRUE;

		if(RFSend_Start==TRUE)
		{
			//TXEN_SET_H;//關閉功率放大
			//RXEN_SET_H;//關閉功率放大
			RFSend_Start=FALSE;
		}
	}
}
/*
************************************************************
*Description:初始化IO端口
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
void port_init(void)
{
	DDRB =0x00;
	PORTB=0x3F;
	
	DDRD =0x08;//PD3 KEY
	PORTD=0xD0;
	
	BEEP_INIT();
	BEEP_OFF();

	//TXEN_OUT;
	//TXEN_SET_H;
	//RXEN_OUT;
	//RXEN_SET_H;
}
/*
************************************************************
*Description:初始化串口
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
void uart0_init(void)
{
	UBRR0H = Sys_Set[Baud_Set_Num].ubrr0h_val;
	UBRR0L = Sys_Set[Baud_Set_Num].ubrr0l_val;

	UCSR0C = BIT(UCSZ01) | BIT(UCSZ00); //Set frame format: 8data, 1stop bit, asyn mode
	UCSR0B = BIT(RXEN0) | BIT(TXEN0);   //使能串口發送、接收
	EN_RX_INT();
}
/*
************************************************************
*Description:串口發送中斷函數
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
#pragma interrupt_handler uart0_tx_isr:iv_USART0_UDRE
void uart0_tx_isr (void)
{
	UDR0 = RFReceive_Buf[RFReceiveCnt];
	RFReceiveCnt++;
	if (RFReceiveCnt == RFReceiveLen)
	{
	    DIS_TX_INT();  //串口數據發送完畢,關閉發送空中斷
	}
}
/*
************************************************************
*Description:串口接收中斷函數
*Arguments  :none
*Returns    :none
*Notes      :利用超時處理來決定一包數據是否接收完成
************************************************************
*/
#pragma interrupt_handler uart0_rx_isr:iv_USART0_RXC
void uart0_rx_isr (void)
{
	RXOTCnt = 0;
	RXOTFlg = TRUE;

	UartReceive_Buf[RFSendCnt] = UDR0;
	RFSendCnt++;
	if (RFSendCnt == MAX_DATA_NUM)         //1字節的包長 + 60字節數據(共61字節)最大60字節
	{
		RXOTFlg = FALSE;

		RFSendFlg = TRUE;        //接收完最大一包數據,準備射頻發送
		DIS_RX();   //禁止串口接收
		DIS_RX_INT();            //禁止串口接收中斷
	}
}
/*
************************************************************
*Description:初始化軟件定時器
*Arguments  :none
*Returns    :none
*Notes      :
************************************************************
*/
void timer0_init(void)
{
	TCCR0B |= (BIT(CS02) | BIT(CS00)); //1024分頻,開始計數
	TIMSK0 |= BIT(TOIE0);              //使能Timer0溢出中斷
	TCNT0 = Sys_Set[Baud_Set_Num].tcnt0_val;
}

/*
************************************************************
*Description:串口接收的超時處理中斷時間函數
*Arguments  :none
*Returns    :none
*Notes      :超時10ms
************************************************************
*/
#pragma interrupt_handler IntTimer0:iv_TIMER0_OVF
void IntTimer0 (void)
{
    TCNT0   = Sys_Set[Baud_Set_Num].tcnt0_val;

	if(Beep_Flag==TRUE)
	{
		if(Beep_Time++>50)
		{
			BEEP_OFF();
			Beep_Time=0;
			Beep_Flag=FALSE;
		}
	}

	if (RXOTFlg == TRUE)
	{
		RXOTCnt++;
		if (RXOTCnt == 2)
		{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费看日韩精品| 99久久综合99久久综合网站| 国产精品国产自产拍在线| 日韩一区二区三区视频| 欧美色视频在线| www.亚洲色图.com| 国产xxx精品视频大全| 日本成人中文字幕在线视频| 国产欧美一区二区三区鸳鸯浴| 久久一夜天堂av一区二区三区| 在线播放91灌醉迷j高跟美女 | 91视频免费观看| 激情五月激情综合网| 日韩二区三区在线观看| 亚洲综合激情另类小说区| 亚洲欧美在线高清| 亚洲精品欧美二区三区中文字幕| 国产精品久久久久久久久免费丝袜 | 欧美高清hd18日本| 91在线视频18| 91久久精品一区二区三区| 成人午夜激情视频| 成人av在线资源| 97久久精品人人做人人爽50路| 波多野结衣亚洲| 成人av在线一区二区三区| eeuss鲁片一区二区三区在线看| 91碰在线视频| 欧美性受xxxx黑人xyx性爽| 欧美性生活久久| 欧美三级乱人伦电影| 欧美私人免费视频| 欧美高清视频不卡网| 欧美一区二区在线视频| 国产午夜精品福利| 亚洲欧美一区二区三区久本道91| 亚洲欧美日韩一区二区| 一区二区三区在线观看视频| 免费一级片91| av一区二区三区在线| 欧美三级欧美一级| 久久精品视频网| 一区二区三区视频在线观看| 日本美女一区二区三区| 蜜臀av在线播放一区二区三区| 国产很黄免费观看久久| 色香蕉成人二区免费| 欧美大黄免费观看| 最新不卡av在线| 免费一级欧美片在线观看| 成人激情校园春色| 91精品欧美久久久久久动漫 | 精品国产sm最大网站免费看| 国产欧美日韩在线观看| 亚洲一区国产视频| 国产一区欧美日韩| 欧美性大战久久| 51精品国自产在线| 中文字幕一区二区三区四区不卡| 免费成人在线视频观看| 91视频一区二区三区| 欧美精品一区二区三区四区| 亚洲一区二区三区四区五区中文 | 93久久精品日日躁夜夜躁欧美| 欧美一二三四区在线| 一区二区理论电影在线观看| 国产真实乱子伦精品视频| 欧美日韩激情一区| 欧美激情综合五月色丁香| 日韩1区2区日韩1区2区| 日本精品一区二区三区高清| 国产欧美日本一区视频| 琪琪一区二区三区| 欧美伊人久久久久久久久影院| 欧美激情一区二区三区全黄| 美女网站在线免费欧美精品| 在线亚洲欧美专区二区| 国产精品久久久久影院亚瑟| 毛片av一区二区三区| 91久久精品午夜一区二区| 欧美激情综合五月色丁香小说| 另类中文字幕网| 91 com成人网| 五月婷婷综合在线| 色欧美片视频在线观看在线视频| 国产精品欧美久久久久无广告| 老司机精品视频导航| 在线综合+亚洲+欧美中文字幕| 亚洲精品视频在线看| 97久久超碰精品国产| 日本一区二区三区高清不卡| 国内一区二区在线| 日韩精品一区在线观看| 麻豆国产精品777777在线| 91精品国产91久久久久久最新毛片 | 国产欧美日韩亚州综合 | 欧美三级中文字幕在线观看| 亚洲色图在线视频| 91最新地址在线播放| 亚洲欧美一区二区三区孕妇| 99re在线视频这里只有精品| 国产精品欧美一区喷水| 成人app在线观看| 国产精品欧美久久久久一区二区| 成人小视频在线| 中文字幕乱码日本亚洲一区二区 | 91精品国产美女浴室洗澡无遮挡| 日韩黄色一级片| 日韩欧美一级二级三级久久久| 久久99久久99小草精品免视看| 日韩一级精品视频在线观看| 免费成人小视频| 欧美精品一区二区久久久| 国模一区二区三区白浆| 久久久不卡网国产精品二区| 成人午夜激情片| 亚洲免费av观看| 欧美日韩精品一区二区三区蜜桃| 午夜视频一区在线观看| 日韩午夜三级在线| 国产一区二区三区不卡在线观看| 久久综合久久综合久久综合| 成人午夜精品在线| 亚洲自拍另类综合| 欧美精品乱码久久久久久按摩| 久久国产精品无码网站| 久久久久国产精品免费免费搜索| 成人99免费视频| 亚洲电影欧美电影有声小说| 精品免费视频一区二区| 高清久久久久久| 一区二区三区国产豹纹内裤在线| 欧美日韩午夜精品| 国产一区二区三区四区五区入口 | 国产乱码精品1区2区3区| 中文字幕欧美日本乱码一线二线| 在线免费观看日韩欧美| 美女在线视频一区| 国产精品久99| 91精品欧美综合在线观看最新 | 欧洲一区二区三区免费视频| 日本伊人午夜精品| 久久精品夜夜夜夜久久| 色婷婷国产精品| 久久国产精品色| 亚洲欧美日韩国产综合在线 | 日韩电影免费一区| 国产欧美视频一区二区| 欧美日韩国产高清一区二区三区| 国产一区 二区| 亚洲一线二线三线视频| 亚洲精品一线二线三线| 色婷婷综合久久久中文一区二区| 久久精品国产澳门| 亚洲欧美成aⅴ人在线观看| 欧美一区二区黄| 91免费在线视频观看| 激情综合网最新| 亚洲一区二区中文在线| 国产欧美日韩综合精品一区二区| 欧美久久久久久久久久| 国产成人啪免费观看软件| 午夜不卡在线视频| 亚洲欧洲成人av每日更新| 日韩精品一区二区在线| 欧美性受xxxx黑人xyx性爽| 国产aⅴ综合色| 免费人成在线不卡| 亚洲专区一二三| 国产精品久久久久久久久免费丝袜| 日韩一级高清毛片| 欧美午夜一区二区| 粉嫩高潮美女一区二区三区| 午夜精品久久久久久久99水蜜桃| 日韩一区中文字幕| www精品美女久久久tv| 欧美日韩国产综合视频在线观看| 波波电影院一区二区三区| 久久国产精品72免费观看| 亚洲国产一区二区在线播放| 最新日韩在线视频| 国产午夜精品理论片a级大结局| 欧美一区2区视频在线观看| 一本大道久久精品懂色aⅴ| 国产高清精品网站| 久久91精品国产91久久小草| 亚洲成国产人片在线观看| 亚洲乱码国产乱码精品精98午夜| 国产精品少妇自拍| 国产日韩欧美不卡| www久久精品| 精品国产91久久久久久久妲己| 欧美精品xxxxbbbb| 欧美日韩电影在线| 在线免费观看成人短视频| 99国产精品久久久久久久久久久| 丁香六月久久综合狠狠色| 国产一区在线精品| 国产精品乡下勾搭老头1| 国产激情视频一区二区三区欧美|