请问:STM32L152的JTAG端口的Io脚,如何定义成GPIO?
按照库的说明:这些脚上电默认是JTAG功能,要用映射到映射功能才行。映射后再设置Io的输入,输出吗? 1:JTAG转成GPIO问题:
只举例JDI:
/* JDI To Pa15 */
GPIO_PinAFConfig(GPIOA, GPIO_PinSource15,GPIO_AF_SWJ) ; //可以这样写吗?
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_15 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //这是必须的吗?
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//**********************************************************
现在要设置了Pa15,但如何设置成输入或输出?
GPIO_Mode_IN
GPIO_Mode_OUT
这2个参数如何传入?
如果我再要换回JDI功能?有如何实现?
2:OSC_INOSC_OUT2个脚如何转成GPIO?
按手册上,只要关闭HSE就可以了吗?然后当作标准的Pd口操作?
无需映射操作吗?
RCC_HSEConfig(RCC_HSE_OFF);
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0 | GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; //这是必须的吗?
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOD, &GPIO_InitStructure);
3:OSC32_INOSC32_Out 如何从GPIO到晶振脚切换?
看手册是:上电默认是GPIO功能,还要执行关闭LSE吗?
看了一些例程,并没有以下的指令?
RCC_LSEConfig(RCC_LSE_OFF)
当我要启动32K时钟,必须要手动执行映射功能吗?
GPIO_PinAFConfig(GPIOC, GPIO_PinSource14,0) ; //可以这样写吗?采用Af0
GPIO_PinAFConfig(GPIOC, GPIO_PinSource15,0) ; //可以这样写吗?采用Af0
上面2条,就可以切换到晶振输入状态了吗?
下面的指令还要处理吗?
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;//这些如何定义?
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //这些如何定义?
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //这些如何定义?
GPIO_Init(GPIOC, &GPIO_InitStructure);
MOn51 发表于 2013-3-15 09:38
1:JTAG转成GPIO问题:
只举例JDI:
你好,我想问下你这样的程序试了没,可以吗?
肯定测试了,最后用到品上了。 {:biggrin:}
页:
[1]