STM32F103,用48脚封装的,需要10*ADC,6个脉冲宽度输入检测,4个脉冲输出(PPM信号)。1个uart。
UART:PA8,PA9,也用来ISP下载。
ADC:PA0~7、PB0,PB1,没得选,就10个。
6个脉宽输入:PB6~9=TIM4_CH1~4
PA8/PA11=TIM1_CH1/CH4
4个脉宽输出:PB10/PB11=TIM2_CH3/CH4
还缺2个脉宽输出,本来想用PB5和PB4(NJTRST)的TIM3_CH1/2,没什么冲突正好。
但是这样就把TIM1/2/3/4都用了。所以就想用PB3(JTDO)、PA15(JTDI),留下TIM3做别的用途。
手册上写着把SWJ_CFG寄存器配置为关闭JTAG-DP、启用SW-DP,JTDO和JTDI就可用做IO了。
但是(PB3/JTDO/TRACESWO)标志着I/O口只可在不使用异步跟踪时使用,这个异步跟踪是不是指SWD模式下的调试输出功能?只在SWD调试模式下是否可以不用?
ps:检测输入脉宽为1.5~2.5ms的高电平脉宽,每个高电平脉冲之间大概有3ms的低电平(PPM信号),我想保险点先用timer的方式测量脉宽,有个1%的精度就够了。不知道能不能简单点用外部中断+systick的测量方式?这样选脉宽输入检测的引脚就不一定要用TIM_CH了。 |