版权声明:本文为博主原创文章,保留最终解释权,转载请注明出处。
【问题】:测试Timer每次通过PPI触发SPI写,SPI写完调用回调函数,回调函数中测试 NRF_SPIM2->TXD.PTR 的每次都是正常递增变化的,但是DAC就是没有实际的输出;
PS:1、要写的源数据测试是正确的;
2、为了不频繁占用CPU资料,用的PPI,用上后 timer+PPI+SPI(DMA) 写DAC 一直没调通,不加PPI的timer+SPI 写DAC 是OK的;
【原因】:进一步测试发现CS始终为高电平,手动飞线拉低CS再放开,DAC才有输出,判断为CS控制异常原因导致,而nRF52832的硬件SPI没有CS功能,SPI发送前需要软件设置CS为低,而设计中采用的是PPI触发,全硬件运行,没有软件可以控制CS电平变化,所以,CS一直为高;
【解决方案】:
1、TIMER+PPI+SPI(DMA)& CS中,PPI的二级任务端