赞
踩
用STM32驱动模拟开关阵列,用到89脚(PB3/JTDO),根据《STM32F10xCDE_数据手册-英文》,复位后89脚的主功能是JTDO。因此,通过GPIO_ResetBits(LED1_GPIO_PORT,LED1_GPIO_PIN);
输出的低电平为1.7V;通过GPIO_SetBits(LED1_GPIO_PORT,LED1_GPIO_PIN);
输出的高电平为2.4V。
STM32单片机中的JTDO与JNTRST是JTAG引脚复用,一般最好不用JTAG-DP调试端口,而是SW-DP,只需要JTMS/SWDIO与JTCK/SWCLK,这样可以省下有限的IO资源。但是STM32复位后,JTAG与SW默认同时开启的,即所有的JTAG端口均被系统保留,软件设置GPIO是不起作用的,所以导致JNTRST一直为高电平,JTDO一直为低电平。ST的文档里说明,如果要释放多余的JTAG端口,需要设置复用重映射和调试I/O配置寄存器(AFIO_MAPR) SWJ_CFG[2:0]为010,关闭JTAG-DP,启用SW-DP;并且开启端口复位的时钟。对应于如下两行代码:
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); /*使能SW-DP 禁用JTAG-DP*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。