STM32L PC13当IO口使用驱动LED,PC14,PC15外接晶振,且RTC正常...
来源:互联网 发布:淘宝宝贝标题范文 编辑:程序博客网 时间:2024/05/21 18:49
原因:图一,画PCB时,因为看到PC13离LED比较近,就用PC13来驱动LED,查看手册后,也没说不能驱动LED,所以硬件是可以的。但是在调试软件时发现时钟点亮不了LED,然后在网上找资料,但都是STMF103系列的(PC13最大输出速度不能大于2MHZ,且不能驱动LED)。
我又仔细看了下STM32L的参考手册(RM0038),7.3.15 Selection of RTC_AF1 alternate function章节,可以当IO口使用,于是启动KEIL调试,查看图二所描述的寄存器,
void LED_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC,ENABLE);
/* Configure the test LED pin */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
void RTC_Config(void)
{
/* Enable the PWR clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
/* Allow access to RTC */
PWR_RTCAccessCmd(ENABLE);
#if defined (RTC_CLOCK_SOURCE_LSI) /* LSI used as RTC source clock*/
/* The RTC Clock may varies due to LSI frequency dispersion. */
/* Enable the LSI OSC */
RCC_LSICmd(ENABLE);
/* Wait till LSI is ready */
while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET)
{
}
/* Select the RTC Clock Source */
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI);
SynchPrediv = 0xFF;
AsynchPrediv = 0x7F;
#elif defined (RTC_CLOCK_SOURCE_LSE) /* LSE used as RTC source clock */
/* Enable the LSE OSC */
RCC_LSEConfig(RCC_LSE_ON);
/* Wait till LSE is ready */
while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)
{
}
/* Select the RTC Clock Source */
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
SynchPrediv = 0xFF;
AsynchPrediv = 0x7F;
#else
#error Please select the RTC Clock source inside the main.c file
#endif /* RTC_CLOCK_SOURCE_LSI */
/* Enable the RTC Clock */
RCC_RTCCLKCmd(ENABLE);
/* Wait for RTC APB registers synchronisation */
RTC_WaitForSynchro();
/* Enable The TimeStamp */
RTC_TimeStampCmd(RTC_TimeStampEdge_Rising, DISABLE); //RTC->CR TSE位清0
RTC_TimeStampCmd(RTC_TimeStampEdge_Falling, DISABLE); //RTC->CR TSE位清0
}
成功点亮LED,并且能够使用RTC
0 0
- STM32L PC13当IO口使用驱动LED,PC14,PC15外接晶振,且RTC正常...
- STM32 PC13 PC14 PC15 驱动LED配置
- PC13 PC14 PC15 才可以当普通IO用
- STM32把PC13、PC14、PC15、PB3、PB4、PA15作为普通IO使用
- stm32 pc13~pc15 tamper-rtc OSC32-IN/OSC32-OUT 配置成IO口
- STM32 配置PC13~PC15
- STM32L中的系统时间——硬件RTC的使用
- STM32F103的PC13、PB3和PB4定义为普通IO口使用
- ②这次将stm32的PC13作为普通i/o口驱动led,不知道能否发生网上提到的现象
- 机器周期,指令周期,时钟周期,节拍与晶振 以及STM32外接RTC失振
- 上传下这两天写的驱动程序----ARM Cortex-M3 驱动 并行IO口 RTC
- 简单led驱动(未使用led子系统)
- 使用12根IO线驱动132个LED的方法
- Linux简单设备驱动(1):使用IO内存操作GPIO--LED
- rtc驱动
- RTC驱动
- rtc驱动
- rtc驱动
- ONOS高可用性和可扩展性实现初探
- TCP/IP
- 1071. Speech Patterns (25)
- 安卓错误提示:The following classes could not be found: - LinerLayout
- (视频)《快速创建网站》 4.1 为啥造软件不同于造汽车,为啥是软件就一定会有Bug - 构建开发运维一体化(DevOps)
- STM32L PC13当IO口使用驱动LED,PC14,PC15外接晶振,且RTC正常...
- Vericut05_与NX连接
- 【IOS源码】智能聊天机器人源码—仿微信界面
- (简单母函数模板)hdu 1028 Ignatius and the Princess III
- (1.1.6.1)一个例子让你搞懂“指针和引用”以及const的用法、空指针
- URAL 1607. Taxi
- NYOJ 411 Friends number (数论--因子和)
- 自定义UIViewController转场、GPUImage
- [HTML][CSS]table中加边框的样式(所有td都加薄边框)