我已经查看了range extender 2驱动程序代码,该代码使用SKY6111作为外部PA,并希望执行以下操作:
将EXTRAC_txen BLE诊断信号输出到P1_0。
将EXTRAC_rxen BLE诊断信号输出到P1_1
我对范围扩展器代码不满意的原因是,它被硬编码为使用P0_1和P0_2,并且为了实现EXTRAC_rxen信号,它反转EXTRAC_txen信号。这是我在periph_init()中运行的代码(每次收音机唤醒时都会运行)。
请验证我所做的确实是提取Extrac_rxen信号。此外,是否有任何关于如何配置BLE_DIAGCNTL_REG寄存器以及如何将其路由到端口的文档。到目前为止,我已经有了我的理论,我认为这些理论是正确的,但是如果有一个文档的话,它将非常有用。
/*选择diag signals*/
设置32(BLE_DIAGCNTL_REG,DIAG0,0x28);//EXTRAC_txen
设置32(BLE_DIAGCNTL_REG,DIAG1,0x28);//rxen=extrc_txen_inv
/*映射到diag端口位*/
设置32(BLE_DIAGCNTL3_REG,DIAG0_位,3);//EXTRAC_txen
设置32(BLE_DIAGCNTL3_REG,DIAG1_位,2);//<&书信电报;猜测该值
/*启用诊断端口*/
设置32(BLE\u DIAGCNTL\u REG,DIAG0\u EN,1)
设置32(BLE_DIAGCNTL_REG,DIAG1_EN,1)代码>
/*将诊断信号输出到P0 GPIOs*/
设置16(P10\u MODE\u REG,PID,18)
设置16(P10_MODE_REG,PUPD,3)代码>
设置16(P11\u MODE\u REG,PID,18)
设置16(第11页模式注册,PUPD,3)代码>