MSP430 a I2C – Mikrokontroléry – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

MSP430 a I2C – Mikrokontroléry – Fórum – Programujte.comMSP430 a I2C – Mikrokontroléry – Fórum – Programujte.com

 

Marek
~ Anonymní uživatel
521 příspěvků
15. 1. 2011   #1
-
0
-

Zdravím, nemohl by mi někdo pomoci s programováním v CCS4 a MSP430? Použil jsem knihovnu "USI_I2CMaster.h" a pořád mi to háže chyby níže. podle mě mám jen někde špatně nastavený include nebo něco. Přikládám i kus kódu. Děkuji moc všem.

errors encountered during linking; "TestF2012.out" not built TestF2012 line 0 1294421001531 703

unresolved symbol StatusCallback, first referenced in ./TestF2012.obj TestF2012 line 0 1294421001531 697

unresolved symbol TI_USI_I2C_MasterInit, first referenced in ./TestF2012.obj TestF2012 line 0 1294421001531 702

unresolved symbol TI_USI_I2CRead, first referenced in ./TestF2012.obj TestF2012 line 0 1294421001531 698

unresolved symbol TI_USI_I2CSelect, first referenced in ./TestF2012.obj TestF2012 line 0 1294421001531 699

unresolved symbol TI_USI_I2CStop, first referenced in ./TestF2012.obj TestF2012 line 0 1294421001531 700

unresolved symbol TI_USI_I2CWrite, first referenced in ./TestF2012.obj TestF2012 line 0 1294421001531 701

Kód:

#include "msp430x20x2.h"

#include "USI_I2CMaster.h"





#define LAMP_ON P1DIR |= BIT0

#define LAMP_OFF P1OUT ^= BIT0



char Hour[] = {00,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};



int StatusCallback(unsigned char c);



void main(void)

{


WDTCTL = WDTPW+WDTHOLD; /* Watchdog vypnut */

if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF) /* Pokud je hodnota kalibrace vymazána */

{

while(1); /* Nespouštět */



}

BCSCTL1 = CALBC1_1MHZ; /* Nastavení frekvence DCO */

DCOCTL = CALDCO_1MHZ;



for(;;)

{

void DS1307Settime(char Hour);

{


TI_USI_I2C_MasterInit(USIDIV_7+USISSEL_2+USICKPL, StatusCallback); /* Inicializace I2C */

TI_USI_I2CSelect(68);

__disable_interrupt();

TI_USI_I2CRead(68, 3, 1,00);

__bis_SR_register(LPM0_bits + GIE);

__disable_interrupt();

TI_USI_I2CWrite(68, 3, 1,Hour);
__bis_SR_register(LPM0_bits + GIE);

TI_USI_I2CStop(); /* Stop I2C */

}

Nahlásit jako SPAM
IP: 77.240.96.–
KIIV
~ Moderátor
+43
God of flame
15. 1. 2011   #2
-
0
-

a prilinkoval si zbytek te knihovny?
protoze to nebude jen .h soubor ale jeste nejaky .o.... nebo .c pokud neni zkompilovanej

Nahlásit jako SPAM
IP: 94.142.234.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Marek
~ Anonymní uživatel
521 příspěvků
15. 1. 2011   #3
-
0
-

No, ještě je k tomu soubor s koncovkou ".s43" ale to když přilinkuju tak mi to hodí přes sto chyb. On je to vlastně soubor v Assembleru. Ve vzorovém příkladu od TI mají taky jen tento soubor s ".h" Asi to dělám někde špatně ne? mě taky došlo že ten Header je málo. Ale tak tedy nevím jak tam ten ".s43" přidat. Děkuji moc.

Nahlásit jako SPAM
IP: 77.240.96.–
KIIV
~ Moderátor
+43
God of flame
15. 1. 2011   #4
-
0
-

ono hlavne zalezi jak se to kompiluje
holt zkompilovat asm a pak prilinkovat

Nahlásit jako SPAM
IP: 94.142.234.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Marek
~ Anonymní uživatel
521 příspěvků
15. 1. 2011   #5
-
0
-

Jenže v tom kompilování asm je plno chyb. Přitom je to oficiální knihovna. přikládám soubor v původní podobě a po mé úpravě která ovšem má pořád dvě chyby. Děkuji nadále za pomoc.

Nahlásit jako SPAM
IP: 77.240.96.–
Marek
~ Anonymní uživatel
521 příspěvků
15. 1. 2011   #6
-
0
-

Ještě ten upravený soubor.

Nahlásit jako SPAM
IP: 77.240.96.–
KIIV
~ Moderátor
+43
God of flame
15. 1. 2011   #7
-
0
-

vyslovne v nem zminujou poiziti "IAR Embedded Workbench" takze predpokladam ze to asi ani nikde jinde nezkompilujes

Nahlásit jako SPAM
IP: 94.142.234.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Marek
~ Anonymní uživatel
521 příspěvků
15. 1. 2011   #8
-
0
-

Já jsem to zkoušel i v IAR ale to je úplně stejné jako v CCS. Stále moc děkuju za tvé rady.

Nahlásit jako SPAM
IP: 77.240.96.–
Marek
~ Anonymní uživatel
521 příspěvků
16. 1. 2011   #9
-
0
-

Tak jsem dal v nastavení linkeru v sekci "File Search Patch" aby to načítalo i ty soubory s koncovkou ".s43" a chyby zmizely, ale mám tam jiné :-(

cannot open file "./RTC.obj": No error
expecting filename, option, MEMORY, or SECTIONS instead of ";"

RTC je název mého projektu. Díky zase za všechny rady. To že jsem to změnil v nastavení jsem vygooglil v jednom fóru který řešil podobnou chybu. Děkuju moc.

Nahlásit jako SPAM
IP: 77.240.96.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

Podobná vlákna

I2C na Atmega32 — založil Deko

Avr jako i2c slave — založil David Skalka

Program pro AVR — založil Ravien

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý