Difference between revisions of "Embedded II/2017 Oktober"
From Teknologisk videncenter
								
												
				m  | 
				m (→Board)  | 
				||
| (7 intermediate revisions by the same user not shown) | |||
| Line 5: | Line 5: | ||
**NTP server for eksempel 192.168.138.250  | **NTP server for eksempel 192.168.138.250  | ||
**[https://tools.ietf.org/html/rfc4330 SNTP rfc4330]  | **[https://tools.ietf.org/html/rfc4330 SNTP rfc4330]  | ||
| + | *[[GPS RECEIVER - MT3329]] GPS Modul  | ||
| + | **[file:///C:/Keil_v5/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Documentation/Driver/html/group__usart__interface__gr.html USART driver]  | ||
=C=  | =C=  | ||
| Line 18: | Line 20: | ||
*[[Bitfields programming]]  | *[[Bitfields programming]]  | ||
*[[Multi language C embedded]]  | *[[Multi language C embedded]]  | ||
| + | *[[C programming/scanf|scanf]]  | ||
| + | *[[STM32F107VC/Using MCBQVGA-TS-Display-v12|Backlight]]  | ||
| + | *[[STM32F107VC/timer2|Timer2]]  | ||
| + | *[[Bitfields programming]]  | ||
= Tids opgave=  | = Tids opgave=  | ||
Latest revision as of 13:28, 11 October 2017
Board
- MCBSTM32C
 - CMSIS Help
 - CMSIS Network help
- NTP server for eksempel 192.168.138.250
 - SNTP rfc4330
 
 - GPS RECEIVER - MT3329 GPS Modul
- [file:///C:/Keil_v5/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Documentation/Driver/html/group__usart__interface__gr.html USART driver]
 
 
C
- ctutor.pdf
 - C programming (Local articles)
 - Const and volatile type qualifiers
 - Henrik mobilnummer: Søndag 20 dec 1970, 11:09:21 - GMT
 
Lidt C
- Const and volatile type qualifiers
 - C programming/pointers (Spooky)
 - C programming/Structures
 - C programming/Structures and databus width
 - Bitfields programming
 - Multi language C embedded
 - scanf
 - Backlight
 - Timer2
 - Bitfields programming
 
Tids opgave
- Using the RTC Real Time Clock
 - Using timer 2 as local timekeeper
 - Category:Embedded
 - Category:Time
 - RFC4330 (SNTP)
 - Timer 2
 
Kravspec
- Tæller UNIX tid i RTC
- Epoch 1. januar 1970 kl. 00:00
 
 - Kunne omregne mellem UNIX-tid og mennesketid Calendar_standards
- Fra UNIX-tid til mennesketid når tiden skal vises
 - Fra mennesketid til UNIX-tid når tiden stilles
 
 - Hente tid fra tids-source fx. NTP/SNTP eller/og GPS
 
Facts
- Der er 365,2425 dage per år 
- Hvert fjerde år er et skudår, med mindre det kan divideres med 100 men ikke 400.Calendar standards
- År 1900 er ikke skudår men år 2000 er!
 
 
 - Hvert fjerde år er et skudår, med mindre det kan divideres med 100 men ikke 400.Calendar standards
 - UNIX epoch er 1. januar 1970 kl. 00:00. Det var en torsdag
 - Der skal ikke tages hensyn til skudsekunder i dette projekt.
- UNIX epoch er en 32 bit signed integer. Posetive tal er efter 1970 og negative tal før 1970
 
 - Et skudår har en ekstra dag i februar. (29 februar)
 
Lidt inspiration
I et ikke skudår har hver måned disse antal dage
//Days in normal year, jan,feb .. dec (Not leap year)
uint8_t const daysmd[12] =  {31,28,31,30,31,30,31,31,30,31,30,31};
Et eksempel på en total tidsstruktur
struct TimeStruct {
        uint32_t     epoch;      // Seconds since 1. jan 1970 00:00:00
        uint32_t     tz;         // Timezone +/- x seconds from GMT
        uint32_t     year;       // year                 1970 to 2106
        uint32_t     sec;        // seconds                          00 to 59
        uint32_t     min;        // minutes                          00 to 59
        uint32_t     hour;       // hours                            00 to 23
        uint32_t     mday;       // day of the month         1 to 31
        uint32_t     mon;        // month                            0 to 11
        uint32_t     wday;       // day of the week          0=sunday, 1=monday...
        uint32_t     isdst;      // is Daylight Saving Time (DST)
                                 // isdst: 0 = not dst 1 = dst  2=Not used
        uint32_t     dstOnMon;   // Month (0-11) when DST starts
        uint32_t     dstOnMday;  // Day of month when DST starts
        uint32_t     dstOnHour;  // Hour of the day when DST starts
        uint32_t     dstOnMin;   // Minute of the hour when DST starts
        uint32_t     dstOffMon;  // Month (0-11) when DST ends
        uint32_t     dstOffMday; // Day of month when DST ends
        uint32_t     dstOffHour; // Hour of the day when DST ends
        uint32_t     dstOffMin;  // Minute of the hour when DST ends
};