Difference between revisions of "H3 IoT og Embedded"

From Teknologisk videncenter
Jump to: navigation, search
m
m (Torsdag opgave)
 
(4 intermediate revisions by the same user not shown)
Line 14: Line 14:
 
** SMCLK er på 1.000.000 Hz og ACLK er på 32.768 Hz - kan fem sekundes interval lade sig gøre med en 16 bits timer.
 
** SMCLK er på 1.000.000 Hz og ACLK er på 32.768 Hz - kan fem sekundes interval lade sig gøre med en 16 bits timer.
 
** Det er muligt at dividere med 8 to gange
 
** Det er muligt at dividere med 8 to gange
 +
=Torsdag opgave=
 +
Initialiser og få RTC_A til at køre og vis tiden på linje 10 hvert sekund.
 +
*Se side 565 i [https://mars.merhot.dk/data/MSP430/slau208.pdf Family manual]
 +
*Source kode eksempel på epoch2time [[STM32F107VC/Using the RTC Real Time Clock]]
 +
<source lang=c>
 +
#include <msp430.h>
 +
 +
#define HOLDRTC 0x40 // 0=Running ; 1=Stopped
 +
#define MODERTC 0x20 // 0=counter ; 1=calender mode
 +
void RTC_A_init(void) {
 +
  if ( (RTCCTL1 & HOLDRTC) == 0) {
 +
  return;
 +
  }
 +
  RTCCTL1 &= ~HOLDRTC;
 +
  RTCCTL1 |= MODERTC;
 +
}
 +
</source>
 
==Scheduler/Event handler metode==
 
==Scheduler/Event handler metode==
 
*[http://mars.tekkom.dk/data/MSP430/H3_IoT/ht_cirbuf.zip ht_cirbuf2.zip]
 
*[http://mars.tekkom.dk/data/MSP430/H3_IoT/ht_cirbuf.zip ht_cirbuf2.zip]

Latest revision as of 11:45, 2 June 2022

Opgave onsdag

At vise temperaturen fra I2C Temperatur sensor hvert femte sekund på skærmen.

Fælles

Udgangspunkt er projektet ht_cirbuf2.zip. alle downloader og unzipper i projektfolder samt starter projektet i IAR Workbench.

  • Afprøv projektet at det fungerer

Vi vil i fællesskab implementere (stjæle) I2C i projektet fra i2c.zip

Individual opgave

På linje 6 på skærmen skal der hvert femte sekund vises temperatur fra sensoren. Hvordan det skal implementeres er op til jer.

Hint:

  • Der er en timer mere som hedder ta1 som er magen til ta0.
    • Beskrevet på side 460 i MSP430xF manualen
    • SMCLK er på 1.000.000 Hz og ACLK er på 32.768 Hz - kan fem sekundes interval lade sig gøre med en 16 bits timer.
    • Det er muligt at dividere med 8 to gange

Torsdag opgave

Initialiser og få RTC_A til at køre og vis tiden på linje 10 hvert sekund.

#include <msp430.h>

#define HOLDRTC 0x40 // 0=Running ; 1=Stopped
#define MODERTC 0x20 // 0=counter ; 1=calender mode
void RTC_A_init(void) {
  if ( (RTCCTL1 & HOLDRTC) == 0) {
   return;
  }
  RTCCTL1 &= ~HOLDRTC;
  RTCCTL1 |= MODERTC;
}

Scheduler/Event handler metode

I2C og RS485 eksempel

NOTE: Linie 99 og 100 i main skal kommenteres for at anvende I2C