|
A 就是用alt_avalon_spi_command();代替,是不是很方便呢。:-D
B 以SPI方式对寄存器的操作
1 /*********************************************************************
2 ** 函数名称: void SPI_RW_Reg(unsigned char reg, unsigned char value)()
3 ** 函数功能: 访问无线模块寄存器,并也对其写数值控制
4 ** 参数:2个,第一个为寄存器地址,第二个为向寄存器写的数值
5 *********************************************************************/
6 void SPI_RW_Reg ( unsigned char reg, unsigned char value )
7 {
8 alt_avalon_spi_command ( SPI_BASE,0,1,®,0,NULL,1 ); // select register
9 alt_avalon_spi_command ( SPI_BASE,0,1,&value,0,NULL,0 );
10 }
11
12 /*********************************************************************
13 ** 函数名称: void SPI_Write_Buf(unsigned char reg, unsigned char *pBuf, unsigned char bytes)
14 ** 函数功能: 访问寄存器,并向其写入bytes字节的数值
15 ** 参数:3个,寄存器地址,数据、长度
16 *********************************************************************/
17 void SPI_Write_Buf ( unsigned char reg, unsigned char *pBuf, unsigned char bytes )
18 {
19 alt_avalon_spi_command ( SPI_BASE,0,1,®,0,NULL,1 );
20 alt_avalon_spi_command ( SPI_BASE,0,bytes,pBuf,0,NULL,0 );
21 }
22 /********************************************************************
23 ** 函数名称: unsigned char SPI_Read(unsigned char reg)
24 ** 函数功能: 访问寄存器地址,并返回该寄存器的数值
25 ** 参数:寄存器地址
26 *********************************************************************/
27 unsigned char SPI_Read ( unsigned char reg )
28 {
29 unsigned char reg_val;
30 alt_avalon_spi_command ( SPI_BASE,0,1,®,0,NULL,1 );
31 alt_avalon_spi_command ( SPI_BASE,0,0,NULL,1,®_val,0 );
32 return ( reg_val );
33 }
34 /*
35 *********************************************************************
36 ** 函数名称: void SPI_Read_Buf(unsigned char reg, unsigned char *pBuf, unsigned char uchars)
37 ** 函数功能: 访问寄存器,并从其读出bytes字节的数值
38 ** 参数:3个,寄存器地址,数据、长度
39 *********************************************************************
40 */
41 void SPI_Read_Buf ( unsigned char reg, unsigned char *pBuf, unsigned char uchars )
42 {
43 alt_avalon_spi_command ( SPI_BASE,0,1,®,0,NULL,1 );
44 alt_avalon_spi_command ( SPI_BASE,0,0,NULL,uchars,pBuf,0 );
45 }
|
|