Checking program for RTC module inside CPU.
Dependents: RTC_w_COM Frequency_Counter_w_GPS_1PPS debug_tools Nucleo_RTC_Clock_setting ... more
Please refer below link.
http://developer.mbed.org/users/kenjiArai/notebook/nucleo-series-clock-structure-and-xtal-oscillation/
CheckRTC.h@1:921a188e61c0, 2014-11-01 (annotated)
- Committer:
- kenjiArai
- Date:
- Sat Nov 01 01:46:04 2014 +0000
- Revision:
- 1:921a188e61c0
- Parent:
- 0:01ddb8e35845
- Child:
- 2:2ee7a7260cbf
Added register access routine
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kenjiArai | 0:01ddb8e35845 | 1 | /* |
kenjiArai | 0:01ddb8e35845 | 2 | * mbed Library program |
kenjiArai | 0:01ddb8e35845 | 3 | * Check RTC function and set proper clock if we can set |
kenjiArai | 0:01ddb8e35845 | 4 | * ONLY FOR "Nucleo Board" |
kenjiArai | 0:01ddb8e35845 | 5 | * |
kenjiArai | 0:01ddb8e35845 | 6 | * Copyright (c) 2010-2014 Kenji Arai / JH1PJL |
kenjiArai | 0:01ddb8e35845 | 7 | * http://www.page.sannet.ne.jp/kenjia/index.html |
kenjiArai | 0:01ddb8e35845 | 8 | * http://mbed.org/users/kenjiArai/ |
kenjiArai | 0:01ddb8e35845 | 9 | * Created: October 24th, 2014 |
kenjiArai | 0:01ddb8e35845 | 10 | * Revised: November 1st, 2014 |
kenjiArai | 0:01ddb8e35845 | 11 | * |
kenjiArai | 0:01ddb8e35845 | 12 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, |
kenjiArai | 0:01ddb8e35845 | 13 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE |
kenjiArai | 0:01ddb8e35845 | 14 | * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, |
kenjiArai | 0:01ddb8e35845 | 15 | * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
kenjiArai | 0:01ddb8e35845 | 16 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
kenjiArai | 0:01ddb8e35845 | 17 | */ |
kenjiArai | 0:01ddb8e35845 | 18 | |
kenjiArai | 0:01ddb8e35845 | 19 | #ifndef CHECK_RTC_H |
kenjiArai | 0:01ddb8e35845 | 20 | #define CHECK_RTC_H |
kenjiArai | 0:01ddb8e35845 | 21 | |
kenjiArai | 0:01ddb8e35845 | 22 | #include "mbed.h" |
kenjiArai | 0:01ddb8e35845 | 23 | |
kenjiArai | 0:01ddb8e35845 | 24 | #define TIMEOUT ((uint32_t)5000) |
kenjiArai | 0:01ddb8e35845 | 25 | |
kenjiArai | 0:01ddb8e35845 | 26 | enum { |
kenjiArai | 0:01ddb8e35845 | 27 | UNKNOWN = -1, |
kenjiArai | 0:01ddb8e35845 | 28 | NG =0, |
kenjiArai | 0:01ddb8e35845 | 29 | OK |
kenjiArai | 0:01ddb8e35845 | 30 | }; |
kenjiArai | 0:01ddb8e35845 | 31 | |
kenjiArai | 0:01ddb8e35845 | 32 | /** Checking program for RTC module inside CPU |
kenjiArai | 0:01ddb8e35845 | 33 | * Latest Nucleo board has external LSE Crystal X2 but no proper setting both HW ans SW |
kenjiArai | 0:01ddb8e35845 | 34 | * This program intends to use RTC with X2 |
kenjiArai | 0:01ddb8e35845 | 35 | * |
kenjiArai | 0:01ddb8e35845 | 36 | * @code |
kenjiArai | 0:01ddb8e35845 | 37 | * #include "mbed.h" |
kenjiArai | 0:01ddb8e35845 | 38 | * #include "CheckRTC.h" |
kenjiArai | 0:01ddb8e35845 | 39 | * |
kenjiArai | 0:01ddb8e35845 | 40 | * int main() { |
kenjiArai | 0:01ddb8e35845 | 41 | * time_t seconds; |
kenjiArai | 0:01ddb8e35845 | 42 | * |
kenjiArai | 0:01ddb8e35845 | 43 | * CheckRTC(); |
kenjiArai | 0:01ddb8e35845 | 44 | * printf("Time: %s", ctime(&seconds)); |
kenjiArai | 0:01ddb8e35845 | 45 | * } |
kenjiArai | 0:01ddb8e35845 | 46 | * @endcode |
kenjiArai | 0:01ddb8e35845 | 47 | */ |
kenjiArai | 0:01ddb8e35845 | 48 | |
kenjiArai | 0:01ddb8e35845 | 49 | /** Check and Set RTC |
kenjiArai | 0:01ddb8e35845 | 50 | * @param none |
kenjiArai | 0:01ddb8e35845 | 51 | * @return if proper setting = OK, if not = NG and UNKNOWN-> no support this program |
kenjiArai | 0:01ddb8e35845 | 52 | */ |
kenjiArai | 0:01ddb8e35845 | 53 | int32_t CheckRTC(void); |
kenjiArai | 1:921a188e61c0 | 54 | uint32_t get_RTCSEL(void); |
kenjiArai | 0:01ddb8e35845 | 55 | |
kenjiArai | 0:01ddb8e35845 | 56 | #endif // CHECK_RTC_H |