作者chcc411135 ()
看板ASM
标题[请益] 关於STM32之RTC使用
时间Tue Apr 22 23:15:12 2014
各位大大 大家好~
本小鲁第一次在这个版上发文,如果有冒犯的地方请见谅~~
最近刚开始研究STM32L100的晶片
想要做出一个RTC的calendar(万年历:我想要有日期、小时、分钟),
可是一直无法如愿完成....
我的方法:-------------------------------------------------------------------
使用STM32所提供的library("stm32l1xx_rtc.h"注:L小写和1很像),
并按照他所说的步骤去做,
可是我将时间存入EEPROM後以UART传至电脑端却发现时间没有改变...QAQ
想请问各位大大是否能给予小弟一些指点...
或者是推荐书籍、推荐网站之类呢?
我的程式如下:---------------------------------------------------------------
//RTC init-------------------------------------
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
PWR_RTCAccessCmd(ENABLE);
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
RCC_RTCCLKCmd(ENABLE);
RTC_InitTypeDef *test;
RTC_TimeTypeDef *testtime;
RTC_EnterInitMode();
RTC_Init(kaitest);
RTC_ExitInitMode();
RTC_SetTime(0x000000001, testtime);
while(1){
RTC_GetTime(0x000000001, testtime);
time=testtime->RTC_Seconds;
I2C1_WrireByte(0xA0,mem_address, time);
//写入EEPROM一定需要等 5ms 再读取
delay_i(2000);
mem_address++;
//纪录完要按下按钮10秒 後,就会执行传送 USART到电脑
//----------------------------------------------------------------
if(button_f==1){
button_f=0;
//Send USART Data
//-----------------------
//读取 Device Addr=0xA0
for(unsigned long i=0;i<mem_address;i++){
e_dat=I2C1_ReadByte(0xA0,i);
USART_SendData(USART3, (uint8_t)e_dat);
delay_i(200);
}
}
}
----------------------------------------------------------------------------
文章很长,感谢各位耐心看完这麽多东西~~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.124.73.149
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/ASM/M.1398179714.A.8BB.html
1F:→ palapalaqoo:先看STM32的暂存器值有没有变,再看EEPROM值有没变 05/05 16:11