再来一发大的:
毕设中需要测量一个表面的温度分布,导师让我应用STM32F4设计一个数据采集系统,小弟目前的设想是设计成阵列扫描电路,如利用温度传感器设计成一个5*5的传感阵列,然后通过STM32F4结合多路选择开关,以行为单位设计扫描电路,这里有点不确定的地方:打算利用STM32F4的ADC + DMA,利用TIM定时器触发采样,可是又要控制GPIO口输出信号来控制CD4051多路选择开关来选通某一行,这可以在定时器中断里实现么?因为看到一些例子,利用TIM来触发AD采样,并没有实现中断函数,这里想问的是在中断处理函数中实现GPIO口的选通,会发生矛盾么?这种方案可不可行?
我觉得大方向上,理论可行啊,不过需要注意的是
1. 采样速度和ADC转换速度关系,这个也和TIME中断设置有关系
2. 要控制多个外部接口协调
其实你要理一下时序逻辑,看一下怎么实际实现,仔细明确各个GPIO口在时序上的数据走向和格式,这样就可以找到问题关键点,进而完成设计了。
你这样也是可行,但是采样时有时间的,你TIM周期要大于它。不然会冲突。中断里面控制IO是没问题,但中断处理函数一般尽量精简。
其实你可以ADC+DMA多路采集,设成DMA中断,一次读完全部的值,很方便。