初级会员
- 积分
- 82
- 金钱
- 82
- 注册时间
- 2014-4-1
- 在线时间
- 0 小时
|
5金钱
<p style="text-indent:2em;">
<span style="background-color:#FFE500;"></span>头文件中函数声明为:u8 NRF24L01_Read_Buf(u8 reg, u8 *pBuf, u8 <span style="background-color:#FFE500;">u8s</span>);<br />
<br />
但在c文件中函数体为:u8 NRF24L01_Read_Buf(u8 reg,u8 *pbuf,u8 <span style="background-color:#FFE500;">len</span>)编译的时候怎么不报错,这个u8s是?<br />
<br />
第二个疑问:<br />
//在指定位置读出指定长度的数据<br />
//reg:寄存器(位置)<br />
//*pBuf:数据指针<br />
//len:数据长度<br />
//返回值,此次读到的状态寄存器值 <br />
u8 NRF24L01_Read_Buf(u8 reg,u8 *pBuf,u8 len)<br />
{<br />
u8 status,u8_ctr; <br />
NRF24L01_CSN = 0; //使能SPI传输<br />
<span style="background-color:#FFE500;">status=SPIx_ReadWriteByte(reg);/</span>/发送寄存器值(位置),并读取状态值 <br />
for(u8_ctr=0;u8_ctr<len;u8_ctr++)pBuf[u8_ctr]=SPIx_ReadWriteByte(0XFF);//读出数据<br />
NRF24L01_CSN=1; //关闭SPI传输<br />
return status; //返回读到的状态值<br />
}<br />
这个函数中的status=SPIx_ReadWriteByte(<span style="background-color:#FFE500;">reg</span>);<br />
返回的值status是<span style="background-color:#FFE500;">状态寄存器</span>中的<span style="background-color:#FFE500;"></span>值还是你写这个<span style="background-color:#FFE500;">reg</span>寄存器中的值,返回这个状态值有什么用?<br />
<br />
<br />
</p> |
最佳答案
查看完整内容[请看2#楼]
1,编译器只认类型,不认名字的.在.h文件,你甚至可以写成:u8 NRF24L01_Read_Buf(u8 , u8 *, u8 );编译也是正常的.
2,是状态寄存器的值,至于作用嘛,就得你去看NRF24L01的手册了.
|