?? lt8900_receive_main.lst
字號:
C51 COMPILER V7.50 LT8900_RECEIVE_MAIN 03/03/2011 16:18:51 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE LT8900_RECEIVE_MAIN
OBJECT MODULE PLACED IN LT8900_Receive_Main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe LT8900_Receive_Main.c DB OE BR
line level source
1 //----------------------------------------------------
2 // F342 Test Program
3 //----------------------------------------------------
4
5 #include <C8051F340.h> // SFR declarations
6 #include <intrins.h>
7 #include "..\inc\LT8900.h"
*** WARNING C318 IN LINE 7 OF LT8900_Receive_Main.c: can't open file '..\inc\LT8900.h'
8
9 #define _DEBUG_SPI_ 1 //Debug SPI Interface
10
11 #define MAX_BUFFER_SIZE 8 // Maximum buffer Master will send
12 #define SYSCLK 12000000 // SYSCLK frequency in Hz
13 #define SPI_CLOCK 6000000
14
15 #define BAUDRATE 115200 // Baud rate of UART in bps
16 #define DELAY 5
17 #define BUFLEN 24
18 #define EBUFLEN 12
19
20 // SPI Instruction Set
21 #define SLAVE_LED_ON 0x01 // Turn the Slave LED on
22 #define SLAVE_LED_OFF 0x02 // Turn the Slave LED off
23 #define SPI_WRITE 0x04 // Send a byte from the Master to the
24 // Slave
25 #define SPI_READ 0x08 // Send a byte from the Slave to the
26 // Master
27 #define SPI_WRITE_BUFFER 0x10 // Send a series of bytes from the
28 // Master to the Slave
29 #define SPI_READ_BUFFER 0x20 // Send a series of bytes from the Slave
30 // to the Master
31 #define ERROR_OCCURRED 0x40 // Indicator for the Slave to tell the
32
33 //unsigned char SPI_Data = 0xA5;
34
35 //unsigned char SPI_Data_Array[MAX_BUFFER_SIZE] = {0};
36
37 bit Error_Flag = 0;
38
39 unsigned char Command = 0x00;
40
41 //---------------------------------------------------------------------
42 // Glabal Definition
43 //---------------------------------------------------------------------
44 sbit LED = P2^2; // LED='1' means ON
45 sbit SW = P2^0; // SW = '0' means button is pressed
46
47 unsigned char RBUF[24];
48 unsigned char TBUF[BUFLEN];
49 unsigned char xdata EBUF[EBUFLEN];
50 unsigned char tlen=0, channel=0x20;
51 signed char dlen;
52 unsigned long t = 0;
53
54 unsigned char bdata R,RegH, RegL;
C51 COMPILER V7.50 LT8900_RECEIVE_MAIN 03/03/2011 16:18:51 PAGE 2
55 sbit H0 = RegH^0;
56 sbit H1 = RegH^1;
57 sbit H2 = RegH^2;
58 sbit H3 = RegH^3;
59 sbit H4 = RegH^4;
60 sbit H5 = RegH^5;
61 sbit H6 = RegH^6;
62 sbit H7 = RegH^7;
63
64 sbit L0 = RegL^0;
65 sbit L1 = RegL^1;
66 sbit L2 = RegL^2;
67 sbit L3 = RegL^3;
68 sbit L4 = RegL^4;
69 sbit L5 = RegL^5;
70 sbit L6 = RegL^6;
71 sbit L7 = RegL^7;
72
73 //subrouting
74 void putchar (char c);
75 void print_string (char pstring[]);
76 void delay_us (unsigned int us);
77 void Init_Device(void);
78 void UART0_Init (void);
79 void LT8900_Init(void);
80 void SPI0_Init (void); //new added by yfwen 2010.8
81
82 // SPI Related
83 #if (!_DEBUG_SPI_)
extern unsigned char SPI_SendByte (unsigned char tbyte);
#else
86 unsigned char SPI_SendByte(unsigned char buf);
87 #endif
88
89 void SPI_SendFrame (void);
90 void SPI_CleanBuffer (void);
91
92 // LT8900 Related
93 void LT_ReadReg(unsigned char reg);
94 void LT_WriteReg(unsigned char reg, unsigned char H, unsigned char L);
95 void LT_SetSyncWord (void);
96
97 // Test program
98
99
100 //--------------------------------------------------
101 //Main Routing
102 //--------------------------------------------------
103 void main(void)
104 {
105 1 unsigned int i=0;
106 1 unsigned int j=0;
107 1 unsigned int Cnt_CRC=0,Cnt_err=0;
108 1 //Initialize F342
109 1 Init_Device();
110 1 SPI0_Init();
111 1 //UART0_Init();
112 1 LT8900_Init();
113 1 while(1)
114 1 {
115 2 // RX Test Program with print out. TEst RSSI
116 2 LT_WriteReg(52, 0x80, 0x80);
C51 COMPILER V7.50 LT8900_RECEIVE_MAIN 03/03/2011 16:18:51 PAGE 3
117 2 LT_WriteReg(7, 0x00, 0x80 + 0x20);
118 2
119 2 while (PKT_FLAG == 0);
*** ERROR C202 IN LINE 119 OF LT8900_RECEIVE_MAIN.C: 'PKT_FLAG': undefined identifier
120 2
121 2
122 2
123 2 i++;
124 2 #if 0
{
//Ready to read Packets from FIFO
LT_ReadReg(50);
RBUF[0]=RegH;
RBUF[1]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[2]=RegH;
RBUF[3]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[4]=RegH;
RBUF[5]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[6]=RegH;
RBUF[7]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[8]=RegH;
RBUF[9]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[10]=RegH;
RBUF[11]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[12]=RegH;
RBUF[13]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[14]=RegH;
RBUF[15]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[16]=RegH;
RBUF[17]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[18]=RegH;
RBUF[19]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[20]=RegH;
RBUF[21]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[22]=RegH;
RBUF[23]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[10]=RegH;
RBUF[11]=RegL;
C51 COMPILER V7.50 LT8900_RECEIVE_MAIN 03/03/2011 16:18:51 PAGE 4
delay_us(1);
LT_ReadReg(50);
RBUF[12]=RegH;
RBUF[13]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[14]=RegH;
RBUF[15]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[16]=RegH;
RBUF[17]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[18]=RegH;
RBUF[19]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[20]=RegH;
RBUF[21]=RegL;
delay_us(1);
LT_ReadReg(50);
RBUF[22]=RegH;
RBUF[23]=RegL;
delay_us(1);
}
#endif
205 2 }
206 1 }
207
208 //-------------------------------------------------------------
209 // Delay some micro second
210 //-------------------------------------------------------------
211 void delay_us (unsigned int us)
212 {
213 1 for (; us>0; us--);
214 1 }
215
216 //-------------------------------------------------------------
217 // Output a character to the UART
218 //-------------------------------------------------------------
219 void putchar (char c)
220 {
221 1 while (!TI0); //Wait until last transmit finish
222 1 TI0 = 0; //clean TX signal
223 1 if (c == '\n') //If is return, send LF/RT
224 1 {
225 2 SBUF0 = 0x0D;
226 2 while (!TI0);
227 2 SBUF0 = 0x0A;
228 2 }
229 1 else
230 1 SBUF0 = c;
231 1 }
232
233 //-------------------------------------------------------------
234 // Output a string to the UART
235 // return is supported
236 //-------------------------------------------------------------
237 void print_string (char pstring[])
238 {
239 1 unsigned char i = 0;
C51 COMPILER V7.50 LT8900_RECEIVE_MAIN 03/03/2011 16:18:51 PAGE 5
240 1 XBR0 = 0x01; //disable SPI
241 1 while (pstring[i])
242 1 {
243 2 putchar(pstring[i++]);
244 2 }
245 1 XBR0 = 0x03; //enable SPI
246 1 }
247
248 //=======================================================================
249 //--------------------------------------------------------------
250 // Initialization fuctions
251 //-------------------------------------------------------------
252 void Init_Device(void)
253 {
254 1 //Close watchdog
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -