主题中讨论的其他器件:SysConfig
工具与软件:
我仍将移植 K350 BoosterPack 和 GRLib 的触控部分
在 MSP432P401R 代码中、代码如下所示:
static void touch_delay(){ uint32_t i = 0; uint32_t time = 480000; for(i = 0; i < time; i++) { ; } }
由于其他一些意见、我认为这是4ms 的延迟。
除了向此代码中添加一些"电压"外、是否有更好的实现延迟的方法? delay_cycles()更好吗? 在 delay_cycle()链中仍会发生中断、对吧?
此外、由于必须在 GPIO 和 ADC 之间切换、我会执行以下操作:
/* Sample the X+ ADC channel to check if there is currently a touch. */ SYSCFG_DL_ADC12_0_init(); gCheckADC0 = false; DL_ADC12_startConversion(ADC12_0_INST); while (false == gCheckADC0) { __WFE(); } aDCTemp = DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_0);
我在其中一个 ADC 示例中盗走了这些东西。
我注意到、当我这样做时、有时会返回0值。 我是否需要在 init 和 startConversion 之间留出更多时间?