
先说下发现要使用PA15当作普通IO使用的原因:4 s3 {2 X' a/ t0 N+ R 在我设计的密码锁控制器中使用了PA15引脚,PA15通过三极管控制键盘的LED背光如图 ![]() 在调试时,刚开始一上电LED就亮,因为LED使用了5V电源,而STM32引脚输出为3.3V,以为三极管常导通,归纳为硬件设计的问题。后来要找出原因,所以就查到了原来就因为PA15是个复用引脚。找到原因就简单了,关闭JTAG功能,把PA15当作普通IO口使用就行了。而下载调试程序就要使用SWD功能(平常应该都是用的SWD下载调试)。( D$ V6 s9 t8 W% {( N 在IO端口初始化时加入如下程序8 C. U5 _8 h/ X2 T# c ![]() 初始化中复用端口“RCC_APB2Periph_AFIO”必须使能才可以关闭JTAG,RCC_APB2Periph_GPIOA可以在这儿使能也可以不在这儿使能。" k6 E, H* W1 F4 ^ 其中用到的宏定义都在相应的库函数中,这儿整理后如下: ![]() ![]() 做完这些后写下测试程序测试下:* Q4 m+ k |/ R0 `2 q9 Z ![]() 这样可以看到IO口可以正常使用了。关于JTAG使用到的其他IO口应该也可以这样当作普通IO口使用。大家可以试下。" q+ e. H$ {4 ?% W ![]() 在这儿随便问下,三极管的B极上拉到3.3V(或去掉外面的这个电阻,使用内部上拉)C极通过LED和电阻接5V电源,这样设计是否合适,大家在驱动LED时都是怎么设计的,欢迎大家一直讨论下。5 L! ]$ E& c3 T1 M |
不客气,把自己的经验分享下,让别人少走点弯路。
恩,这里是很容易忽略的地方。
谢谢支持
恩,谢谢!我测试着可以正常使用,就怕以后出现问题。