Jestem właśnie na etapie oprogramowywania podobnego urządzenia: MSP430 + MSP430F149 wg własnego projektu. Do gulson: :idea: kontroler CS8900A nie jest od TI tylko Cirrus Logic Do halif: :idea: kontroler CS8900A umożliwia zaprogramowanie dowolnego adresu sprzątowego MAC w wewnętrznym RAM. Ta jak i inne konfiguracje mogą być przechowywane w zewnętrznym...
Witam zwracam się z prośbą o pomoc, poniważ utknęłem w martwym punkcie. Używam procesora MSP430f5419a. Jako toolchain wykorzystuję mspgcc(msp430-elf-*), mspdebug oraz Eclipse. Wszystko buduje się bez problemów, nie mam problemów z załadowaniem programu do procesora, program działa (wysyła przez UART więc moge to potwierdzić). Problemy pojawiają się...
Witam, Zależy o czym mówimy, bo są 2 typy zapisu do pamięci mikrokontrolera: do pamięci RAM, i pamięci FLASH. Oczywiście sam korzystam z pamięci RAM która może i nie jest zbyt obszerna (zależna od modelu) ale i też nie utrudnia zapisu ani też odczytu poszczególnych komórek. A oto przykładowy kod: . mov(.b) dana,adres przykładowe dane: . mov(.b) R5,&0200h...
Witam, Usiłuję napisać program, który umożliwiłby wyświetlanie danych (liczb) na wyświetlaczu graficznym EA DOGXL160-W (driver UC1610) za pośrednictwem I2C. Udało mi się zapewnić obsługę wyświetlania wszystkich pixeli oraz czyszczenia ekranu, nie potrafię sobie poradzić z wyświetlaniem czegokolwiek pomiędzy - mój kod albo nie mieści się w pamięci mikrokontrolera,...
Cześć Z tego co widziałem w sieci, jest bardzo mało materiałów dotyczących MSP430 (na elektrodzie może ze 2 wątki). Napisałem funkcje umozliwiające sprzętowe wykorzystanie I2C, głównie na potrzeby komunikacji z układem PCF8574, który z kolei wykorzystuję do sterowania LCD 2x16 (HD44780). Poniżej procedury do obsługi I2C: [syntax=c]#include "msp430.h"...
W procku TI MSP430 dopuszczalna jest jak wiadomo konstrukcja : PUSH (at)SP+ ; o kodzie hex 0x1231 . Interesuja mnie dwie informacje zwiazane z ta instrukcja: 1). jaki jest stan rejestru SP oraz pamieci (at)SP i (at)SP+ przed i po wykonaniu tej instrukcji ? Nie chodzi mi o wynik emulacji pod FET czy innym emulatorem programowym. Raczej interesuje mnie...
Zlecenie dotyczy napisania kodu na mikrokontrolery ARM i ewentualnie MSP430 w formie procedur (modułów) w ramach większego pakietu oprogramowania. Generalnie oprogramowanie ma realizowac funkcje zarzadzania instalacją elektryczną w domu mieszkalnym (np. kilka czujników, plytki sterowania przekaznikami, itp). Potrzebna jest ogólna znajomość mikrokontrolerów...
Konkretnie to próbuję pisać program pod obsługę. Ale nie mam obecnie niestety oscyloskopu. Spróbowałem napisać coś takiego : #include <msp430xG46x.h> #include <stdint.h> #include <intrinsics.h> unsigned int RxByteCtr; unsigned int RxWord; void main(void) { volatile uint16_t i; WDTCTL = WDTPW + WDTHOLD; // Stop WDT // P1.0...
hmm... Dalej nic! Zmieniłem Piotrek kod tak jak pisałeś, poprawiłem wysyłanie danych na 8 bitów i dalej nic. Sprawdziłem ustawienia jeszcze raz i wszystko sie zgadza.... Sprawdziłem też ACK i rtc zwraca coś po trzykrotnym wysłaniu adresu. Ale nawet po tym jest "cisza".... <załamka>
Nie napisałeś, że to projekt do obrony pracy dyplomowej... Sorry Stary, mogę dać Ci wędkę, ale jeśli chciałeś rybę, to nie ten adres.
Witam Próbuje opanować SPI w MSP430FG438. W datasheet ([url=]Link) na stronie 587 jest opis modułu USCI. Przeczytałem opis SPI jak i rejestrów no i zabrałem się za pisanie. Okazuje się, że kompilator nie zna tych rejestrów (w bibliotece io430xG43x.h nie ma w ogóle tych nazw). Co ciekawe dla FG4618 (io430xG46x.h) problem nie występuje ale jak próbowałem...
zobacz czy w tym drugim procu adresy pamięci się pokrywają wygląda to jak byś zapisywał program pod przestrzeń adresowa gdzie nie ma pamięci albo jak by program byl skompilowany pod ten drugi procesor
Mam jeden adresik znajdziesz tam to co ci trzeba.
kod z 7 petlami na kazda wage? to sie robi poprzez tablice... pozatym twoj kod na razie niczego nie przelicza temat w istocie byl walkowany 100x wiec po co walkowac go raz stopierwszy? algorytmy masz do znalezienia na forum, tylko trzeba poszukac. przerob sobie na assemblera i masz. to sie da zrobic w DWOCH petlach - jedna zagniezdzona w drugiej. czy...
Język C to język C, ale bez przekopania się przez dokumentację nie ma szans programować mikrokontrolery. Nawet pisząc stos TCP/IP korzystasz z funkcji systemowych, jak się dowiedziałeś o ich istnieniu? Skąd wiesz jak jest zbudowane API kernela? Przecież bez tego ani rusz. Tu sprawa wygląda podobnie, program napiszesz, ale żeby odwoływać się do urządzeń...
Witam. Potrzebuję oprogramować czujnik wilgotności HIH6130. Czujnik komunikuje się z MSP430G2553 przez magistralę I2C. Z technical note czujnika wynika że sprawa sprowadza się do wysłania sygnału startu, następnie do wysłania adresu czujnika (tu 0x27). W efekcie powinniśmy otrzymać 4 bajty danych (2bajty wilgotność, 2 bajty temp). Napisałem taki program...
Wygląda na to, że licencja jest, daje się skompilować i załadować do FPGA, problemem jest teraz startowanie programu. Po resecie procesor ma zaczynać wykonywanie od adresu 0 - jak napisać i skompilować program, aby miał kod zaczynający się od takiego adresu? Następnym krokiem będzie komunikacja z czymś, przez co wczyta się program - moim celem jest...
A teraz wyzwanie ! Jak "wgrac" zawartosc pamięci FLASH do MSP430F1xx odczytanej z innego egzemplarza MSP430F1xx ? Zadanie wydawaloby się banalne. Jednak spędzilem nad problemem niemało czasu i nic ! Czy moze komukolwiek się udało ? Jakies pomysly na rozwiązanie zadania ??? Do prob uzywalem: - IAR Kickstart V1 i V2, - oryginalny programator JTAG MSP-FET430P140...
Witam! Chcialbym napisac program ktory wypisze mi jakas wartosc z jakies zmiennej na wyswietlaczu LCD nokia 3310. Problem jednak w tym ze wartosc ta musi wypisana byc jako tekst ( string ). Wypisanie obojetnie czego na LCD nokii wymaga odwolania sie do tablicy znakow wyswietlacza. Czyli na podstawie adresu literki, znaku w kodzie ascii pobierane sa...
Witam Mam problem z umieszczaniem zmiennych i kodu pod określonym adresem w pamięci. Według dokumentacji stworzenie sekcji i umieszczenie w niej funkcji wygląda następująco: #pragma codeseg(".foo") void foobar(void); #pragma codeseq(default) ale... - jeśli w pliku section_placement.xml nie ma sekcji ".foo" to sekcja...
Wiem,że mam braki w technice uC i mam problem z tymi obliczeniami. Ukończenie wykonywania instrukcji w czasie której pojawiło się żądanie przerwania zajmuje 1-6 cykli CPU. Potem wybierane jest przerwanie z najwyższym prioritetem, zawartość licznika programu i rejestr statusowy ładowane są na stos po czym licznik programu ładowany jest wektorem przerwania....
Napisz prośbę z uzasadnieniem do TI. Możesz też przejść się do znajomej fimy i poprosić, żeby dali zamówić na swój adres(sample 430 przesyłają za free). Albo tak jak koledzy radzą zamów w contransie o ile jesteś w stanie zaprojektować i przylutować taki procek. Ale w kamami jest coś ~180 zł więc nie jest tak najgożej.
Moze tutaj sie czegos dowiesz
Dodatkowo dochodzi problem, że dane z flasha mają być odtwarzane po wyłączeniu zasilania. Czyli wszystko sprowadza sie do tego, że po każdym wyłączeniu systemu chcemy zapamiętać jego parametry. Po włączeniu zasilania stan powinien zostac odtworzony. Jeżeli zapiszemy na sztywno w kodzie adres komórek które będą przechowywać nasz stan dojedzie szybko...
Dodano po 54 Wszystko co napisałeś po 54 minucie myślę, że dałoby się obalić jednym zdaniem (Uwaga! Długie i zawiłe): Procesor AVR ATmega32L taktowany 8MHz, gdzie przerwanie z Timer0 odpowiada za podawanie kolejnych próbek do OCR1A i OCR1B w równych odstępach czasu; gdzie Timer1 jest podwójnym synchronicznym generatorem PWM o f=31250Hz, w którym to...
Witam, mam problem ze sprzętową obsługą I2C. uC to MSP430F2619. Napisałem swój program, na podstawie datasheeta, ale wysyła tylko sekwencje START. Poszukałem na stronie TI programu i znalazłem coś takiego: [url=]TI Skompilowałem, wgrałem i uruchomiłem. Dalej to samo. Wysyłana jest jedynie sekwencja START. Z tego co zrozumiałem z datasheet'a, ustawiamy...
Albertb - a przeczytałeś w ogóle dokumentację? Wiem co w niej jest napisane. <ciach> Proszę ograniczyć się do merytoryki i nie podkręcać temperatury dyskusji. Bądź łaskawy i pokaż mi w którym miejscu w pdfie jest ten adres. Ja odnoszę wrażenie że średnio pomogłeś. Dodano po 5 No tak zgadza sie. zgodnie z dokumentacja trzeba wyslac przez IIC do...
Witam. Dopiero co uczę się MSP 430 i piszę pierwsze proste programy typu migająca dioda (programowałem już w C, ale nigdy nie programowałem mikrokontrolerów) Mam kilka pytań, gdyż nie do końca rozumiem jak zarządzamy adresami wejść/wyjść Posiadam płytkę LaunchPad z prockiem MSP430G2553. Mam prosty program typu migające diody, który na przemian zapala...
Dzień dobry! Mam mały problem który pewnie wyda się banalny, jednak już sporo czasu nad tym siedzę: a EQU 080h b EQU 040h c EQU 020h d EQU 001h e EQU 002h f EQU 008h g EQU 004h h EQU 010h MOV.B Table(/*Rx*/),0x90 ;W manualu przykład wygląda mniej więcej tak, nie działa powyższa instrukcja choć już wielu rzeczy próbowałem... ;podejrzewam że to...
Witam Mam taki problem, że potrzebuje napisać translator liczb z np odczytu pomiaru na informacje na wyświetlacz 3.5 LCD. W celu zapalenia segmentu trzeba podać 1 do zaadresowanej komórki pamięci. Poniżej tabele grupują nr segmentu i adres oraz jaką wartość należy do nie go podać. Podsumowując chce aby po przypisaniu do zmiennej np sing/ value jakieś...
Autor poniższego zestawienia jest inżynierem i konsultantem wsparcia dla systemów wbudowanych. W swojej karierze poznał on szereg różnych architektur mikrokontrolerów, różniących się wydajnością, wyborem peryferii, poborem zasilania etc. Wybór odpowiedniego układu stanowi zawsze o sukcesie projektu. Kierować się możemy różnymi kryteriami, tak subiektywnymi,...
Może trochę nie w temacie ale: Ja złapałem sie za głowę gdy zobaczyłem assemblera AVR. Wydawał mi sie udziwniony, zagmatwany, no i ta liczba instrukcji ! A assembler AVR zobaczyłem znając dość dobrze assemblera MSP430. W MSP430 gdy chce załadować stałą do rejestru R4 pisze: MOV #2,R4 skopiować rejestr: MOV R5,R4 załadować do R4 zmienną z ramu: MOV Zmienna,R4...
Witam, mam problem ze sterowaniem potencjometrem cyfrowym [url=]MCP4561 poprzez I2C. Programuję na MSP430. Jeżeli dobrze rozumiem dokumentację to należy wysłać: adres slave, paczkę z ustawieniami i dodatkowo przed każdą paczką danych komendę. Więc postępuję tak jak napisałem ale potencjometr ani drgnie. [url=] Schemat układu [syntax=c]#include "msp430g2553.h"...
Druga część artykułu o najtańszych nowych mikrokontrolerach z roku 2017. Ekosystem developerski Środowisko developerskie mikrokontrolera ma ogromny wpływ na jakość pracy z nim i w konsekwencji - na produktywność. Na to składają się różne czynniki – jakość IDE, dostępne biblioteki, płytki rozwojowe, debuggery, kompilatory, etc. Wiele z tych czynników...
Przewertowałem dokumentację MSP430 i oto co znalazłem: 1a. Ilość cykli zegara na instrukcję zależy od formatu instrukcji i adresowania - fucktycznie może wyjść średnio 2 cykle 1b. Mnożenie sprzętowe wydaje mi się, że nawet rodzina 1xx posiada 2. W asma się nie zagłębiałem... 3. 9 modeli najmniejszej rodziny 1xx posiada nawet I2C ;) W każdym razie nie...
Architektura Von Neumana to taka, gdy pamiec danych i programu znajduje sie w tej samej przestrzeni adresowej. Taki rodzaj architektury maja procesory np.: ARM, MSP430, x86, HC08. Architektura harwardzka polega na rozdzieleniu magistrali danych i prgramu (8051, AVR). Zmodyfikowana architekture harward maja procesory DSP firmy TI. Polega ona na tym,...
Ja a o modułach HopeRF mogę powiedzieć to samo, czyli faktycznie dokumentacja czasami zawiera błędy ale same moduły są dobre. A nawet bym powiedział że rewelacyjne. Ale co do wyboru innych modułów i innego protokołu to może się zainteresuj mało popularnym w Polsce (i w ogóle w sumie) SimpliciTI od TI. Bazuje na CC2500 ale chyba nie jest to wymóg. Oraz...
najbardziej spodobaly mi sie msp430. Tylko czy gdzies je w Polsce dostane? Widziałem programatory w sieci, ale samych prockow nie :/ Prosilbym o jakis adres sklepu. Ew orientacyjna cena/kontakt ze sklepem... Co do samego pradu dla diod, to najlepiej by bylo chyba dodac 3 przycisk... tzn swiecenie diod przez np. 5sek.. ale to juz wydaje mi sie ze mozna...
Witam wszytskich:) co do tej przejściówki, to złożyłem ją, zamówiłem w avt płytkę i układ cypress. jednak jest parę ale... konwerter został wykryty, w menadżerze urządzeń jest jako lpt, są adresy lpt itp. Jednakże ja potrzebuje używać go wraz ze środowiskiem IAR Embedded Workbench dla MSP430. Niestety ten program z tym konwerterem nie współpracuje.......
Do obslugi zewnetrznej pamieci o duzej pojemnosci nie musisz miec procka o wielkich mozliwosciach adresacyjnych. Moze on w ogole nie posiadac tradycyjnych szyn na zewnatrz. Wystarczy ze ma porty I/O. Dolaczasz szyne danych i szyne adresowa do dowolnych portow i kazdorazowo wysylasz na te porty wlasciwe dane do obslugi pamieci. Potrzeba Ci tylko sporo...
A co sie tak uparles na tego C++? :) "C" Ci nie wystarcza? Tym bardziej ze tak na prawde C++ to C. Ja polecam IDE od IAR-a. Ich kompilatory wspieraja EC++. Troche zuborzona wersja C++. Ale do zabawy i zastosowan wbudowanych nadaje sie perfekcynie. Sam popełniłem swego czasu system operacyjny w EC++ właśnie w IAR ;-) Jeśli chodzi o platforme to możesz...
4. AVR też ma możliwość debugowania i łatweego programowania z zaglądaniem do środka, a nawet ma tą możliwość lepiej rozwiązaną. Debugger do ARM w większości to wariacja kiepskiego gdb, z wręcz prymitywnym wyświetlaniem zawartości owych wnętrzności. Możemy porównać screenschooty. To ja bym poprosił, bo serio chciałbym poznać te niezwykle znaczące różnice....
Czujniki temperatury i wilgotności normalnie łączyłyby się z bramą wysyłającą dane z nich zebrane do chmury. Zamiast tego prezentowany tag NFC cuplTag, który zasilany jest baterią pastylkową wysyła dane do smartfona po jego zbliżeniu. CulpTag jest kontrolowany przez 16-bitowy mikrokontroler MSP430 firmy Texas Instruments, który regularnie odczytuje...
dla ciebie jest odwrocona, dla mnie jest normala [; move skad,dokad [; co do zrobienia na raz. poczytalbys datasheeta to bys wiedzial (a jeszcze lepiej programmers reference manual). otoz jedynym wariantem instrukcji mov, ktory przyjmuje wartosc stala (intermediate addressing) jest mov #lit16,Wnd - wniosek - nalezy najpierw zaladowac jakas liczbe do...
Witam; Dopiero zaczynam zabawę z mikrokontrolerami więc proszę o pomoc i wyrozumiałość. Mój problem polega na ustawieniu kursora w drugiej linii wyświetlacza, mianowicie: Wg specyfikacji sterownika HD44780 aby ustawić kursor trzeba wysłać komendę [syntax=c]LCD=0x08; E(); gdzie LCD to P1DIR E() jest to funkcja zmieniająca stan u Enable LCD=0x02; E();...
Przy okazji taka ciekawostka: można zadeklarować wartość lub tablicę wartości z konkretnym adresem w pamięci programu, a potem w trakcie pracy użyć funkcji samoprogramowania by te wartości zmieniać, uzyskując funkcjonalność EEPROMu w układach bez EEPROMu, przy czym wartości są dostępne w trakcie normalnej pracy programu... De facto, pamięć programu...
W niniejszym artykule zostanie objaśnione, jak używać takich modułów do bezprzewodowego odczytu danych z czujnika temperatury i wyświetlania ich na ekranie komputera. Do pomiarów wykorzystywany jest czujnik temperatury wbudowany w mikrokontroler MSP430F2553. Kod źródłowy jest niewielki i bardzo prosty, może zostać wykorzystany w innych urządzeniach...
Ja tam pisze sobie w assemblerku. I zrobiłem w nim dwa projekty, jeden 40kB kodu a drugi 50kB kodu. Faktem jest że pisze pod MSP430 a w tych procesorkiach assembler jest bardzo przyjazy użytkownikowi. Jak zobaczyłem zestaw isntrukcji do AVR'ów to sie złapałem za głowę bo mają po 90 instrukcji i więcej a w MSP jest ich 50 a na dodatek każda może byc...
mowisz o extremalnym przypadku przepelnienia stosu i tym samym wylozenia sie programu. tymczasem kwestia tutaj podjeta jest taka, ze kompilator sam nie wstawi dwoch zmiennych w jeden adres. bascoma nie znam - wiem ze C tak nie zrobi [; do tego stos jest przewaznie powyzej zmiennych wiec tez ciezko liczyc, ze nagle zasapi jakies wpisane tam wartosci......
Witam, Jak Wy szukałem odpowiedniej przejściówki która łączyłaby ze sobą dwie cechy, niska cena i działanie z programatorem. Znalazłem coś takiego: XPower CardBus 1 x LPT (cena około 100 zł) Testowałem z - MSP430 (F135) przez programator TI LPT-IF (coś rodzaju Widlera ) w środowisku IAR EW430-EV-web-4212 - ARM -> H-JTAG wykrywa procek, oczywiście po...
Nathir : tak 15zł z wysyłką do polski. Wcześniej kupowałem od nich MSP430 do zabaw różnych i było tak samo. Mam też shield z touch panelem i shield z mp3 . Biomedyczny : do tej pory ani razu nie dowalili mi ani cła ani vatu McMonster : U mnie w adresie mam wpisane " Jakastamulica 12 m. 34" przesyłki zawsze dochodziły. Co więcej UPS dzwoni najpierw i...
Atmel: ATMega128 4kB ATMega64 4kB 16bit: AT91ARMxxx 4kB..256kB Analog. 16bit: ADuC70xx 8kB ADSP-BF561 (Blackfin) - 328kB !! - chociaz to juz nie jest chyba mikroprocesor ?? TI: MSP430F1611 10kB Są jeszcze procesory z wbudowaną pamięcią ale widzianą jako XRAM ( adresowaną przez magistralę danych ) - nie pamiętam niestety jakie....
Cześć Ogólnie rzecz ujmując to 16-bitowe procesory (również mikrokontrolery) mają 16-bitową wewnętrzną architekturę. To Znaczy, że ich rozkazy mogą operować na 16 bitowych danych w jednym cyklu rozkazowym. Nie jest za to regułą, że mogą się komunikować z układami peryferyjnymi (pamięciami, układami I/O, PIC itp) po 16 bitowej zewnętrznej magistrali...
Witam. Ja z TI otrzymałem takiego e-maila: This is notification that one or more of your requested parts was rejected. Please see below for the specific parts status and the TI reviewer comments. ORDER ID : 1027xxx REVIEWER COMMENTS : We do accept samples delivery for university student project ONLY via hands of university project supervisors, and only...
Kod jest w asemblerze procesora msp430 Texsas Instruments Bardzo dużo działa mi na tym procesorze i nawet dużo poleceń do flasha działa. Tutaj jest fragment który nie działa wpisuje do bufora 1 liczby 1-255, nastepnie bufor przepisuje do flasha i czytam dane z flasha otrzymuje na wyjściu liczby FFh [syntax=asm];===========================...
Termometr mikromocowy LCD ATMEGA16 Tym razem głównym celem projektu było sprawdzenie możliwości wykonania mikromocowego systemu pomiaru temperatury w oparciu o możliwie standardowe elementy, mówiąc w skrócie byłem ciekawy czy zwykły avr może być konkurencją dla układów msp430, które to podobno właśnie do takich zastosowań są preferowane. Zanim jednak...
Problem : "Systemy haptyczne" to ogólne wyrażenie określające systemy wyposażone w sprzężenie zwrotne z użytkownikiem, opierające się na zmyśle dotyku. Stosowane są w celu poprawy kontaktu interfejsu użytkownika, takiego jak np. ekran dotykowy. Technologia haptyczna jest wykorzystywana w wielu interfejsach pomiędzy człowiekiem i maszyną, tworząc funkcjonalne...
Można, jest nawet dostępny taki darmowy rtos na różne procki 8bitowe. To się chyba nazywa FreeRTOS i jest dostępny w sieci. Tak zgadza się nazwa to FreeRTOS i jest dostępny pod adresem . Posiada porty do mikrokontrolerów: ARM7, HCS12, MSP430, AVR, PIC, H8/S. Moim zdaniem odpalanie RTOSa na 8-bitowcach trochę mija się z celem polecam natomiast ARMy...
Dodano po 1 Wielu funkcji jednak nie da się wykonać w FPGA, daj przyklad bo ja nie znam takiej funkcji :P dobra, wyraziłem się trochę nieprecyzyjnie, choć cytat wyrwany jest z kontekstu. Może przykłady nie są zbyt trafne, ale np: jak na razie pamięci (szczególnie DRAM), zegara RTC (z potrzymaniem bat.), obwodów analogowych (oczywiście można przetwarzac...
Kupiłem spartan 3 starer kit z digilent i mam nastepujący problem, po podlaczeniu kabla równoległego do komputera impact zgłasza błąd "can not find cable", po podlaczeniu do innego kompa spartan daje sie programować bez problemu... Przestawialem opcje w biosie ustawienia portu LPT, ale nic nie pomaga, na tym samym porcie lpt mogę programować np. MSP430,...
Mówiłem, że działa tylko na AVRach, przypadkiem. Powodem jest to, że AVRy mają Hardwardzki model pamięci i tam uzyskanie stałej w pamięci flash jest mozliwe jedynie poprzez makra PGM. Uwierz - bufor to wskaźnik zainicjalizowany na STAŁĄ. Wrzuć ten kod na MSP430, PICa, ARMa to się przekonasz. Poprawnym rozwiązaniem jest napisanie: char bufor char *bufor...
#pragma vector = <VECTOR_NAME> __interrupt void <ISR_NAME> (void) { // сюда вписыk... код обрабl... прерыk...