各位专家:
使用 STM32 LL_Driver 控制 CC1120时遇到问题
根据 CC1120用户指南(图1)、我知道要将数据写入位于扩展地址的寄存器、请将+0x00添加到0x2F、输入扩展寄存器的地址、然后输入我写入寄存器的值
-图1
例如)在这种情况下、我想将0x01写入扩展地址处的 FREQ0寄存器(0x0E)。
在这种情况下、我使用 STM32至 SPI 接口将数据包传输到 CC1120、如图2所示
-图2
经确认、上述方法在应用于 STM32 HAL_Driver 时有效。 (按读取器件型号)
但是、在使用 LL_Driver 时、该方法不起作用。
这是我的问题、
写入扩展寄存器的数据包是否正确?
2.我附加我编写的 LL_Driver 函数。 感谢您检查代码
void extend_Resgister_write (uint8_t actual_byte、uint8_t register_byte、uint8_t extend_register_byte、uint8_t value_byte)
{
int i=0;
uint8_t TX_Data[4]={0、};
//uint8_t RX_Data[4]={0、};
TX_Data[0]= ACT_BYTE|REGISTER_BYTE;
TX_Data[1]= extend_register_byte;
TX_Data[2]=值_BYTE;
LL_GPIO_ResetOutputPin (CS_GPIO_Port、CS_Pin);
for (i=0;i<4;i++)
{
while (!LL_SPI_IsActiveFlag_TXE (SPI1)){}
LL_SPI_TransmitData8 (SPI1、TX_Data[i]);
}
LL_GPIO_SetOutputPin (CS_GPIO_Port、CS_Pin);
}
期待您的建议。 谢谢你。
此致、
-Jae-Heyeong Kim