PC13、PC14、PC15怎么设置成普通IO口呀?

2019-07-20 23:08发布

问题如题。
我想应该蛮多人碰到这个问题吧。在使用STM32F103C8T6的时候,没有使用的备份域,RTC等功能,所以将PC13、PC14、PC15也设置成控制IO口了。现在在写测试程序,设置这些IO口为普通的输出口,但是不知道要关闭那些功能,开启那些功能,希望大侠们可以指点一下???最后是写一下参考代码。。谢谢啦!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
qq910876301
1楼-- · 2019-07-22 00:28
回复【7楼】rtgchym:
---------------------------------
是的,这三个引脚作为输出时有以下限制:在同一时间只有一个引脚作为输出,作为输出的引脚只能工作在2MHz模式下,最大驱动负载为30pf,并且不能作为电流源(如:驱动LED)。
Julius007
2楼-- · 2019-07-22 02:42
 精彩回答 2  元偷偷看……
foxpro2005
3楼-- · 2019-07-22 08:03
如果没有使用RTC, 没有开 入侵 功能时, 应该可以直接使用的吧.
jcsasm
4楼-- · 2019-07-22 10:15
 精彩回答 2  元偷偷看……
308709362
5楼-- · 2019-07-22 13:15
回复【9楼】Julius007:
---------------------------------
我配置了一会,还是不行,能贴上你的配置代码吗?
zzwhda
6楼-- · 2019-07-22 14:50
楼主,用了你的代码还是没能设置成功,能帮忙看看嘛。 [mw_shl_code=c,true]#include <stm32f10x_map.h> #include <stm32f10x_nvic.h> #include "led.h" ////////////////////////////////////////////////////////////////////////////////// //??????PA8??PD2????????.?????????????????±?? //LED IO?????? void LED_Init(void) { RCC->APB2ENR|=1<<4; //??PORTC?? RCC->APB2ENR|=1<<2; //??PORTA?? RCC->APB2ENR|=1<<0; //??AFIO?? GPIOA->CRL&=0XFFF00000; //PA0,1,2,3,4????? GPIOA->CRL|=0X00033333; GPIOC->CRH&=0X000FFFFF; //PC13,14,15????? 2MHz ???? GPIOC->CRH|=0X22200000; PWR->CR|=1<<8; //???????? RCC->BDCR&=0xFFFFFFFE; //????????? PC14,PC15????IO BKP->CR&=0xFFFFFFFE; //????TAMPER??????IO??? PWR->CR&=0xFFFFFEFF; //?????? }[/mw_shl_code] 上面这个是led.c
[mw_shl_code=c,true]#ifndef __LED_H #define __LED_H #include "sys.h" //Mini STM32??·?°? //LED?????ú?? //?????­×?@ALIENTEK //2010/5/27 //LED?????¨?? #define LED0 PCout(13)// PC13 #define LED1 PCout(14)// PC14 #define LED2 PCout(15)// PC15 void LED_Init(void);//?????? #endif [/mw_shl_code]
上面的是led.h
[mw_shl_code=c,true] #include "sys.h" #include "delay.h" #include "usart.h" #include "led.h" int main(void) { Stm32_Clock_Init(9);//??????stm32???±????8M*9=72M delay_init(72);//delay???????? uart_init(72,9600);//?è???®??1?¨???? while(1) { LED0=0; LED1=1; LED2=1; delay_ms(400); LED0=1; LED1=0; LED2=1; delay_ms(400); LED0=1; LED1=1; LED2=0; delay_ms(400); } } [/mw_shl_code]
上面这个是main函数。
整个程序是为了点亮连在PC13~15的led。

一周热门 更多>