我们自己做的板子射频方面有些问题,经射频工程师测试后说要把那个发射功率减小一些可以修正频偏,现在我想通过sl_SetSockOpt这个函数来减小发射功率。
这个函数的第一个参数是sockID,需要创建一个基础socket,使用sl_Socket函数创建。
现在的问题如下:
1.使用sl_Socket函数创建socket时有时成功,有时失败(返回-72),这个函数的调用需要在什么样的状态下调用呢?
2.使用sl_SetSockOpt这个函数修改功率以后能否在下次上电时也使用这个函数设定的值呢?
代码如下:
sl_Start(0, 0, 0);
_i16 rawSocket = sl_Socket(SL_AF_RF, SL_SOCK_RAW, 1);
if(rawSocket < 0)
{
ERR_PRINT(rawSocket);
while(1);
}
_u32 txpower = 8; // valid range is 1-15
SlSocklen_t len = sizeof(txpower);
lRetVal = sl_SetSockOpt(rawSocket, SL_SOL_PHY_OPT, SL_SO_PHY_TX_POWER, &txpower, sizeof(txpower));
if(lRetVal < 0)
{
ERR_PRINT(lRetVal);
while(1);
}
txpower = 100;
lRetVal = sl_GetSockOpt(rawSocket, SL_SOL_PHY_OPT, SL_SO_PHY_TX_POWER, &txpower, &len);
if(lRetVal < 0)
{
ERR_PRINT(lRetVal);
}
UART_PRINT("get TXPOWER = %d\r\n", txpower);